
segment **
make_segment(segment **segment,char *format,int len,int kind,char format_char,char aux_format_char,
            predicate *pred)

{
  EvaluationCost EVar1;
  segment *psVar2;
  char *pcVar3;
  size_t __n;
  
  if (format_char == '{') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");
  }
  if (format_char == '[') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");
  }
  if (format_char == '(') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");
  }
  psVar2 = (segment *)xmalloc(0x20);
  *segment = psVar2;
  psVar2->segkind = kind;
  psVar2->format_char[0] = format_char;
  psVar2->format_char[1] = aux_format_char;
  psVar2->next = (segment *)0x0;
  psVar2->text_len = len;
  __n = (size_t)len;
  pcVar3 = (char *)xmalloc(__n + 2);
  psVar2->text = pcVar3;
  strncpy(pcVar3,format,__n);
  pcVar3 = pcVar3 + __n;
  if ((uint)kind < 2) {
    if (format_char != '\0') {
                    /* WARNING: Subroutine does not return */
      __assert_fail("0 == format_char","print.c",0x60,"make_segment");
    }
    if (aux_format_char != '\0') {
                    /* WARNING: Subroutine does not return */
      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");
    }
    *pcVar3 = '\0';
    psVar2 = *segment;
    goto LAB_0010f848;
  }
  if (kind != 2) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");
  }
  switch(format_char) {
  case '%':
    *pcVar3 = '%';
    goto LAB_0010f812;
  default:
    EVar1 = NeedsNothing;
    break;
  case 'A':
  case 'B':
  case 'C':
  case 'F':
  case 'M':
  case 'T':
  case 'a':
  case 'c':
  case 'g':
  case 's':
  case 't':
  case 'u':
    pred->need_stat = true;
    *pcVar3 = 's';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsStatInfo;
    break;
  case 'D':
  case 'G':
  case 'U':
  case 'b':
  case 'k':
  case 'n':
    pred->need_stat = true;
    *pcVar3 = 's';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsStatInfo;
    break;
  case 'H':
    *pcVar3 = 's';
    goto LAB_0010f812;
  case 'P':
  case 'f':
  case 'h':
  case 'p':
    *pcVar3 = 's';
    goto LAB_0010f812;
  case 'S':
    pred->need_stat = true;
    *pcVar3 = 'g';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsStatInfo;
    break;
  case 'Y':
    pred->need_stat = true;
    *pcVar3 = 's';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsType;
    break;
  case 'Z':
    *pcVar3 = 's';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsAccessInfo;
    break;
  case 'd':
    *pcVar3 = 'd';
LAB_0010f812:
    pcVar3[1] = '\0';
    goto LAB_0010f841;
  case 'i':
    pred->need_inum = true;
    *pcVar3 = 's';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsInodeNumber;
    break;
  case 'l':
    pred->need_stat = true;
    *pcVar3 = 's';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsLinkName;
    break;
  case 'm':
    *pcVar3 = 'o';
    pred->need_stat = true;
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsStatInfo;
    break;
  case 'y':
    pred->need_type = true;
    *pcVar3 = 's';
    pcVar3 = pcVar3 + 1;
    EVar1 = NeedsType;
  }
  *pcVar3 = '\0';
  if (pred->p_cost < EVar1) {
    pred->p_cost = EVar1;
  }
LAB_0010f841:
  psVar2 = *segment;
LAB_0010f848:
  return &psVar2->next;
}



long FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,
                 long param_7)

{
  long lVar1;
  uint uVar2;
  uint *puVar3;
  char *pcVar4;
  size_t __n;
  
  if (param_5 == '{') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");
  }
  if (param_5 == '[') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");
  }
  if (param_5 == '(') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");
  }
  puVar3 = (uint *)FUN_0012220c(0x20);
  *param_1 = (long)puVar3;
  *puVar3 = param_4;
  *(char *)(puVar3 + 1) = param_5;
  *(char *)((long)puVar3 + 5) = param_6;
  puVar3[6] = 0;
  puVar3[7] = 0;
  puVar3[4] = param_3;
  __n = (size_t)(int)param_3;
  pcVar4 = (char *)FUN_0012220c(__n + 2);
  *(char **)(puVar3 + 2) = pcVar4;
  strncpy(pcVar4,param_2,__n);
  pcVar4 = pcVar4 + __n;
  if (param_4 < 2) {
    if (param_5 != '\0') {
                    /* WARNING: Subroutine does not return */
      __assert_fail("0 == format_char","print.c",0x60,"make_segment");
    }
    if (param_6 != '\0') {
                    /* WARNING: Subroutine does not return */
      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");
    }
    *pcVar4 = '\0';
    lVar1 = *param_1;
    goto LAB_0010f848;
  }
  if (param_4 != 2) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");
  }
  switch(param_5) {
  case '%':
    *pcVar4 = '%';
    goto LAB_0010f812;
  default:
    uVar2 = 0;
    break;
  case 'A':
  case 'B':
  case 'C':
  case 'F':
  case 'M':
  case 'T':
  case 'a':
  case 'c':
  case 'g':
  case 's':
  case 't':
  case 'u':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'D':
  case 'G':
  case 'U':
  case 'b':
  case 'k':
  case 'n':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'H':
    *pcVar4 = 's';
    goto LAB_0010f812;
  case 'P':
  case 'f':
  case 'h':
  case 'p':
    *pcVar4 = 's';
    goto LAB_0010f812;
  case 'S':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 'g';
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'Y':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 2;
    break;
  case 'Z':
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 5;
    break;
  case 'd':
    *pcVar4 = 'd';
LAB_0010f812:
    pcVar4[1] = '\0';
    goto LAB_0010f841;
  case 'i':
    *(undefined1 *)(param_7 + 0x1c) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 1;
    break;
  case 'l':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 4;
    break;
  case 'm':
    *pcVar4 = 'o';
    *(undefined1 *)(param_7 + 0x1a) = 1;
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'y':
    *(undefined1 *)(param_7 + 0x1b) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 2;
  }
  *pcVar4 = '\0';
  if (*(uint *)(param_7 + 0x20) < uVar2) {
    *(uint *)(param_7 + 0x20) = uVar2;
  }
LAB_0010f841:
  lVar1 = *param_1;
LAB_0010f848:
  return lVar1 + 0x18;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x18
MOV qword ptr [RSP + 0x8],RSI
MOV dword ptr [RSP + 0x4],R9D
CMP R8B,0x7b
JZ 0x0010f732
MOV R15,RDI
MOV R13D,EDX
MOV R14D,ECX
MOV EBX,R8D
CMP R8B,0x5b
JZ 0x0010f751
CMP R8B,0x28
JZ 0x0010f770
MOV EDI,0x20
CALL 0x0012220c
MOV RBP,RAX
MOV qword ptr [R15],RAX
MOV dword ptr [RAX],R14D
MOV byte ptr [RAX + 0x4],BL
MOVZX EAX,byte ptr [RSP + 0x4]
MOV byte ptr [RBP + 0x5],AL
MOV qword ptr [RBP + 0x18],0x0
MOV dword ptr [RBP + 0x10],R13D
MOVSXD R13,R13D
LEA RDI,[R13 + 0x2]
CALL 0x0012220c
MOV R12,RAX
MOV qword ptr [RBP + 0x8],RAX
MOV RDX,R13
MOV RSI,qword ptr [RSP + 0x8]
MOV RDI,RAX
CALL 0x001070f0
ADD R12,R13
CMP R14D,0x1
JBE 0x0010f78f
CMP R14D,0x2
JNZ 0x0010f7e9
SUB EBX,0x25
CMP BL,0x54
JA 0x0010f95a
MOVZX EBX,BL
LEA RDX,[0x13a828]
MOVSXD RAX,dword ptr [RDX + RBX*0x4]
ADD RAX,RDX
JMP RAX
LEA RCX,[0x13aa28]
MOV EDX,0x4d
LEA RSI,[0x13a28a]
LEA RDI,[0x13a381]
CALL 0x001073b0
LEA RCX,[0x13aa28]
MOV EDX,0x4e
LEA RSI,[0x13a28a]
LEA RDI,[0x13a394]
CALL 0x001073b0
LEA RCX,[0x13aa28]
MOV EDX,0x4f
LEA RSI,[0x13a28a]
LEA RDI,[0x13a3a7]
CALL 0x001073b0
TEST BL,BL
JNZ 0x0010f7ab
CMP byte ptr [RSP + 0x4],0x0
JNZ 0x0010f7ca
MOV byte ptr [R12],0x0
MOV RAX,qword ptr [R15]
ADD RAX,0x18
JMP 0x0010f848
LEA RCX,[0x13aa28]
MOV EDX,0x60
LEA RSI,[0x13a28a]
LEA RDI,[0x13a3ba]
CALL 0x001073b0
LEA RCX,[0x13aa28]
MOV EDX,0x61
LEA RSI,[0x13a28a]
LEA RDI,[0x13a3cb]
CALL 0x001073b0
LEA RCX,[0x13aa28]
MOV EDX,0x68
LEA RSI,[0x13a28a]
LEA RDI,[0x13a3e0]
CALL 0x001073b0
LEA RAX,[R12 + 0x1]
MOV byte ptr [R12],0x25
MOV byte ptr [RAX],0x0
JMP 0x0010f841
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1a],0x1
MOV byte ptr [R12],0x73
LEA R12,[R12 + 0x1]
MOV EAX,0x4
MOV byte ptr [R12],0x0
MOV RCX,qword ptr [RSP + 0x50]
CMP dword ptr [RCX + 0x20],EAX
JNC 0x0010f841
MOV dword ptr [RCX + 0x20],EAX
MOV RAX,qword ptr [R15]
ADD RAX,0x18
ADD RSP,0x18
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1b],0x1
MOV byte ptr [R12],0x73
LEA R12,[R12 + 0x1]
MOV EAX,0x2
JMP 0x0010f82f
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1c],0x1
MOV byte ptr [R12],0x73
LEA R12,[R12 + 0x1]
MOV EAX,0x1
JMP 0x0010f82f
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1a],0x1
MOV byte ptr [R12],0x73
LEA R12,[R12 + 0x1]
MOV EAX,0x3
JMP 0x0010f82f
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1a],0x1
MOV byte ptr [R12],0x67
LEA R12,[R12 + 0x1]
MOV EAX,0x3
JMP 0x0010f82f
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1a],0x1
MOV byte ptr [R12],0x73
LEA R12,[R12 + 0x1]
MOV EAX,0x2
JMP 0x0010f82f
LEA RAX,[R12 + 0x1]
MOV byte ptr [R12],0x73
JMP 0x0010f812
MOV byte ptr [R12],0x73
LEA R12,[R12 + 0x1]
MOV EAX,0x5
JMP 0x0010f82f
LEA RAX,[R12 + 0x1]
MOV byte ptr [R12],0x73
JMP 0x0010f812
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1a],0x1
MOV byte ptr [R12],0x73
LEA R12,[R12 + 0x1]
MOV EAX,0x3
JMP 0x0010f82f
LEA RAX,[R12 + 0x1]
MOV byte ptr [R12],0x64
JMP 0x0010f812
MOV byte ptr [R12],0x6f
MOV RAX,qword ptr [RSP + 0x50]
MOV byte ptr [RAX + 0x1a],0x1
LEA R12,[R12 + 0x1]
MOV EAX,0x3
JMP 0x0010f82f
MOV EAX,0x0
JMP 0x0010f82f
(translation_unit "long FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)\n\n{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}\n\n" (function_definition "long FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)\n\n{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)" identifier (parameter_list "(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "char param_5" primitive_type identifier) , (parameter_declaration "char param_6" primitive_type identifier) , (parameter_declaration "long param_7" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (if_statement "if (param_5 == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" if (parenthesized_expression "(param_5 == '{')" ( (binary_expression "param_5 == '{'" identifier == (char_literal "'{'" ' character ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" { comment (expression_statement "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");" (call_expression "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment")" identifier (argument_list "("format_char != \'{\'","print.c",0x4d,"make_segment")" ( (string_literal ""format_char != \'{\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (param_5 == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" if (parenthesized_expression "(param_5 == '[')" ( (binary_expression "param_5 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" { comment (expression_statement "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");" (call_expression "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment")" identifier (argument_list "("format_char != \'[\'","print.c",0x4e,"make_segment")" ( (string_literal ""format_char != \'[\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (param_5 == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" if (parenthesized_expression "(param_5 == '(')" ( (binary_expression "param_5 == '('" identifier == (char_literal "'('" ' character ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" { comment (expression_statement "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");" (call_expression "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment")" identifier (argument_list "("format_char != \'(\'","print.c",0x4f,"make_segment")" ( (string_literal ""format_char != \'(\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (expression_statement "puVar3 = (uint *)FUN_0012220c(0x20);" (assignment_expression "puVar3 = (uint *)FUN_0012220c(0x20)" identifier = (cast_expression "(uint *)FUN_0012220c(0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012220c(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*param_1 = (long)puVar3;" (assignment_expression "*param_1 = (long)puVar3" (pointer_expression "*param_1" * identifier) = (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*puVar3 = param_4;" (assignment_expression "*puVar3 = param_4" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "*(char *)(puVar3 + 1) = param_5;" (assignment_expression "*(char *)(puVar3 + 1) = param_5" (pointer_expression "*(char *)(puVar3 + 1)" * (cast_expression "(char *)(puVar3 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 1)" ( (binary_expression "puVar3 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)((long)puVar3 + 5) = param_6;" (assignment_expression "*(char *)((long)puVar3 + 5) = param_6" (pointer_expression "*(char *)((long)puVar3 + 5)" * (cast_expression "(char *)((long)puVar3 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar3 + 5)" ( (binary_expression "(long)puVar3 + 5" (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = param_3;" (assignment_expression "puVar3[4] = param_3" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__n = (size_t)(int)param_3;" (assignment_expression "__n = (size_t)(int)param_3" identifier = (cast_expression "(size_t)(int)param_3" ( (type_descriptor "size_t" primitive_type) ) (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar4 = (char *)FUN_0012220c(__n + 2);" (assignment_expression "pcVar4 = (char *)FUN_0012220c(__n + 2)" identifier = (cast_expression "(char *)FUN_0012220c(__n + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012220c(__n + 2)" identifier (argument_list "(__n + 2)" ( (binary_expression "__n + 2" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar3 + 2) = pcVar4;" (assignment_expression "*(char **)(puVar3 + 2) = pcVar4" (pointer_expression "*(char **)(puVar3 + 2)" * (cast_expression "(char **)(puVar3 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "strncpy(pcVar4,param_2,__n);" (call_expression "strncpy(pcVar4,param_2,__n)" identifier (argument_list "(pcVar4,param_2,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar4 = pcVar4 + __n;" (assignment_expression "pcVar4 = pcVar4 + __n" identifier = (binary_expression "pcVar4 + __n" identifier + identifier)) ;) (if_statement "if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }" if (parenthesized_expression "(param_4 < 2)" ( (binary_expression "param_4 < 2" identifier < number_literal) )) (compound_statement "{\n    if (param_5 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }" { (if_statement "if (param_5 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" if (parenthesized_expression "(param_5 != '\0')" ( (binary_expression "param_5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" { comment (expression_statement "__assert_fail("0 == format_char","print.c",0x60,"make_segment");" (call_expression "__assert_fail("0 == format_char","print.c",0x60,"make_segment")" identifier (argument_list "("0 == format_char","print.c",0x60,"make_segment")" ( (string_literal ""0 == format_char"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (param_6 != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" if (parenthesized_expression "(param_6 != '\0')" ( (binary_expression "param_6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" { comment (expression_statement "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");" (call_expression "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment")" identifier (argument_list "("0 == aux_format_char","print.c",0x61,"make_segment")" ( (string_literal ""0 == aux_format_char"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "lVar1 = *param_1;" (assignment_expression "lVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (goto_statement "goto LAB_0010f848;" goto statement_identifier ;) })) (if_statement "if (param_4 != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" if (parenthesized_expression "(param_4 != 2)" ( (binary_expression "param_4 != 2" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" { comment (expression_statement "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");" (call_expression "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment")" identifier (argument_list "("kind == KIND_FORMAT","print.c",0x68,"make_segment")" ( (string_literal ""kind == KIND_FORMAT"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (switch_statement "switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }" switch (parenthesized_expression "(param_5)" ( identifier )) (compound_statement "{\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }" { (case_statement "case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;" case (char_literal "'%'" ' character ') : (expression_statement "*pcVar4 = '%';" (assignment_expression "*pcVar4 = '%'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'%'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "default:\n    uVar2 = 0;\n    break;" default : (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'A':" case (char_literal "'A'" ' character ') :) (case_statement "case 'B':" case (char_literal "'B'" ' character ') :) (case_statement "case 'C':" case (char_literal "'C'" ' character ') :) (case_statement "case 'F':" case (char_literal "'F'" ' character ') :) (case_statement "case 'M':" case (char_literal "'M'" ' character ') :) (case_statement "case 'T':" case (char_literal "'T'" ' character ') :) (case_statement "case 'a':" case (char_literal "'a'" ' character ') :) (case_statement "case 'c':" case (char_literal "'c'" ' character ') :) (case_statement "case 'g':" case (char_literal "'g'" ' character ') :) (case_statement "case 's':" case (char_literal "'s'" ' character ') :) (case_statement "case 't':" case (char_literal "'t'" ' character ') :) (case_statement "case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'u'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'D':" case (char_literal "'D'" ' character ') :) (case_statement "case 'G':" case (char_literal "'G'" ' character ') :) (case_statement "case 'U':" case (char_literal "'U'" ' character ') :) (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'k':" case (char_literal "'k'" ' character ') :) (case_statement "case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'n'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;" case (char_literal "'H'" ' character ') : (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "case 'P':" case (char_literal "'P'" ' character ') :) (case_statement "case 'f':" case (char_literal "'f'" ' character ') :) (case_statement "case 'h':" case (char_literal "'h'" ' character ') :) (case_statement "case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;" case (char_literal "'p'" ' character ') : (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'S'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 'g';" (assignment_expression "*pcVar4 = 'g'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'g'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;" case (char_literal "'Y'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 2;" (assignment_expression "uVar2 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;" case (char_literal "'Z'" ' character ') : (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;" case (char_literal "'d'" ' character ') : (expression_statement "*pcVar4 = 'd';" (assignment_expression "*pcVar4 = 'd'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'d'" ' character ')) ;) (labeled_statement "LAB_0010f812:\n    pcVar4[1] = '\0';" statement_identifier : (expression_statement "pcVar4[1] = '\0';" (assignment_expression "pcVar4[1] = '\0'" (subscript_expression "pcVar4[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (goto_statement "goto LAB_0010f841;" goto statement_identifier ;)) (case_statement "case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;" case (char_literal "'i'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1c) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1c) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1c)" * (cast_expression "(undefined1 *)(param_7 + 0x1c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1c)" ( (binary_expression "param_7 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;" case (char_literal "'l'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 4;" (assignment_expression "uVar2 = 4" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'m'" ' character ') : (expression_statement "*pcVar4 = 'o';" (assignment_expression "*pcVar4 = 'o'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'o'" ' character ')) ;) (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;" case (char_literal "'y'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1b) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1b) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1b)" * (cast_expression "(undefined1 *)(param_7 + 0x1b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1b)" ( (binary_expression "param_7 + 0x1b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 2;" (assignment_expression "uVar2 = 2" identifier = number_literal) ;)) })) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }" if (parenthesized_expression "(*(uint *)(param_7 + 0x20) < uVar2)" ( (binary_expression "*(uint *)(param_7 + 0x20) < uVar2" (pointer_expression "*(uint *)(param_7 + 0x20)" * (cast_expression "(uint *)(param_7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x20)" ( (binary_expression "param_7 + 0x20" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }" { (expression_statement "*(uint *)(param_7 + 0x20) = uVar2;" (assignment_expression "*(uint *)(param_7 + 0x20) = uVar2" (pointer_expression "*(uint *)(param_7 + 0x20)" * (cast_expression "(uint *)(param_7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x20)" ( (binary_expression "param_7 + 0x20" identifier + number_literal) )))) = identifier) ;) })) (labeled_statement "LAB_0010f841:\n  lVar1 = *param_1;" statement_identifier : (expression_statement "lVar1 = *param_1;" (assignment_expression "lVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (labeled_statement "LAB_0010f848:\n  return lVar1 + 0x18;" statement_identifier : (return_statement "return lVar1 + 0x18;" return (binary_expression "lVar1 + 0x18" identifier + number_literal) ;)) })))
(translation_unit "segment **\nmake_segment(segment **segment,char *format,int len,int kind,char format_char,char aux_format_char,\n            predicate *pred)\n\n{\n  EvaluationCost EVar1;\n  segment *psVar2;\n  char *pcVar3;\n  size_t __n;\n  \n  if (format_char == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (format_char == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (format_char == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  psVar2 = (segment *)xmalloc(0x20);\n  *segment = psVar2;\n  psVar2->segkind = kind;\n  psVar2->format_char[0] = format_char;\n  psVar2->format_char[1] = aux_format_char;\n  psVar2->next = (segment *)0x0;\n  psVar2->text_len = len;\n  __n = (size_t)len;\n  pcVar3 = (char *)xmalloc(__n + 2);\n  psVar2->text = pcVar3;\n  strncpy(pcVar3,format,__n);\n  pcVar3 = pcVar3 + __n;\n  if ((uint)kind < 2) {\n    if (format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (aux_format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar3 = '\0';\n    psVar2 = *segment;\n    goto LAB_0010f848;\n  }\n  if (kind != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(format_char) {\n  case '%':\n    *pcVar3 = '%';\n    goto LAB_0010f812;\n  default:\n    EVar1 = NeedsNothing;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'H':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    pred->need_stat = true;\n    *pcVar3 = 'g';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'Y':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n    break;\n  case 'Z':\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsAccessInfo;\n    break;\n  case 'd':\n    *pcVar3 = 'd';\nLAB_0010f812:\n    pcVar3[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    pred->need_inum = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsInodeNumber;\n    break;\n  case 'l':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsLinkName;\n    break;\n  case 'm':\n    *pcVar3 = 'o';\n    pred->need_stat = true;\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'y':\n    pred->need_type = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n  }\n  *pcVar3 = '\0';\n  if (pred->p_cost < EVar1) {\n    pred->p_cost = EVar1;\n  }\nLAB_0010f841:\n  psVar2 = *segment;\nLAB_0010f848:\n  return &psVar2->next;\n}\n\n" (function_definition "segment **\nmake_segment(segment **segment,char *format,int len,int kind,char format_char,char aux_format_char,\n            predicate *pred)\n\n{\n  EvaluationCost EVar1;\n  segment *psVar2;\n  char *pcVar3;\n  size_t __n;\n  \n  if (format_char == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (format_char == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (format_char == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  psVar2 = (segment *)xmalloc(0x20);\n  *segment = psVar2;\n  psVar2->segkind = kind;\n  psVar2->format_char[0] = format_char;\n  psVar2->format_char[1] = aux_format_char;\n  psVar2->next = (segment *)0x0;\n  psVar2->text_len = len;\n  __n = (size_t)len;\n  pcVar3 = (char *)xmalloc(__n + 2);\n  psVar2->text = pcVar3;\n  strncpy(pcVar3,format,__n);\n  pcVar3 = pcVar3 + __n;\n  if ((uint)kind < 2) {\n    if (format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (aux_format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar3 = '\0';\n    psVar2 = *segment;\n    goto LAB_0010f848;\n  }\n  if (kind != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(format_char) {\n  case '%':\n    *pcVar3 = '%';\n    goto LAB_0010f812;\n  default:\n    EVar1 = NeedsNothing;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'H':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    pred->need_stat = true;\n    *pcVar3 = 'g';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'Y':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n    break;\n  case 'Z':\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsAccessInfo;\n    break;\n  case 'd':\n    *pcVar3 = 'd';\nLAB_0010f812:\n    pcVar3[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    pred->need_inum = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsInodeNumber;\n    break;\n  case 'l':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsLinkName;\n    break;\n  case 'm':\n    *pcVar3 = 'o';\n    pred->need_stat = true;\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'y':\n    pred->need_type = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n  }\n  *pcVar3 = '\0';\n  if (pred->p_cost < EVar1) {\n    pred->p_cost = EVar1;\n  }\nLAB_0010f841:\n  psVar2 = *segment;\nLAB_0010f848:\n  return &psVar2->next;\n}" type_identifier (pointer_declarator "**\nmake_segment(segment **segment,char *format,int len,int kind,char format_char,char aux_format_char,\n            predicate *pred)" * (pointer_declarator "*\nmake_segment(segment **segment,char *format,int len,int kind,char format_char,char aux_format_char,\n            predicate *pred)" * (function_declarator "make_segment(segment **segment,char *format,int len,int kind,char format_char,char aux_format_char,\n            predicate *pred)" identifier (parameter_list "(segment **segment,char *format,int len,int kind,char format_char,char aux_format_char,\n            predicate *pred)" ( (parameter_declaration "segment **segment" type_identifier (pointer_declarator "**segment" * (pointer_declarator "*segment" * identifier))) , (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) , (parameter_declaration "int len" primitive_type identifier) , (parameter_declaration "int kind" primitive_type identifier) , (parameter_declaration "char format_char" primitive_type identifier) , (parameter_declaration "char aux_format_char" primitive_type identifier) , (parameter_declaration "predicate *pred" type_identifier (pointer_declarator "*pred" * identifier)) ))))) (compound_statement "{\n  EvaluationCost EVar1;\n  segment *psVar2;\n  char *pcVar3;\n  size_t __n;\n  \n  if (format_char == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (format_char == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (format_char == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  psVar2 = (segment *)xmalloc(0x20);\n  *segment = psVar2;\n  psVar2->segkind = kind;\n  psVar2->format_char[0] = format_char;\n  psVar2->format_char[1] = aux_format_char;\n  psVar2->next = (segment *)0x0;\n  psVar2->text_len = len;\n  __n = (size_t)len;\n  pcVar3 = (char *)xmalloc(__n + 2);\n  psVar2->text = pcVar3;\n  strncpy(pcVar3,format,__n);\n  pcVar3 = pcVar3 + __n;\n  if ((uint)kind < 2) {\n    if (format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (aux_format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar3 = '\0';\n    psVar2 = *segment;\n    goto LAB_0010f848;\n  }\n  if (kind != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(format_char) {\n  case '%':\n    *pcVar3 = '%';\n    goto LAB_0010f812;\n  default:\n    EVar1 = NeedsNothing;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'H':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    pred->need_stat = true;\n    *pcVar3 = 'g';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'Y':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n    break;\n  case 'Z':\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsAccessInfo;\n    break;\n  case 'd':\n    *pcVar3 = 'd';\nLAB_0010f812:\n    pcVar3[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    pred->need_inum = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsInodeNumber;\n    break;\n  case 'l':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsLinkName;\n    break;\n  case 'm':\n    *pcVar3 = 'o';\n    pred->need_stat = true;\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'y':\n    pred->need_type = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n  }\n  *pcVar3 = '\0';\n  if (pred->p_cost < EVar1) {\n    pred->p_cost = EVar1;\n  }\nLAB_0010f841:\n  psVar2 = *segment;\nLAB_0010f848:\n  return &psVar2->next;\n}" { (declaration "EvaluationCost EVar1;" type_identifier identifier ;) (declaration "segment *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (if_statement "if (format_char == '{') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" if (parenthesized_expression "(format_char == '{')" ( (binary_expression "format_char == '{'" identifier == (char_literal "'{'" ' character ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" { comment (expression_statement "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");" (call_expression "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment")" identifier (argument_list "("format_char != \'{\'","print.c",0x4d,"make_segment")" ( (string_literal ""format_char != \'{\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (format_char == '[') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" if (parenthesized_expression "(format_char == '[')" ( (binary_expression "format_char == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" { comment (expression_statement "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");" (call_expression "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment")" identifier (argument_list "("format_char != \'[\'","print.c",0x4e,"make_segment")" ( (string_literal ""format_char != \'[\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (format_char == '(') {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" if (parenthesized_expression "(format_char == '(')" ( (binary_expression "format_char == '('" identifier == (char_literal "'('" ' character ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" { comment (expression_statement "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");" (call_expression "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment")" identifier (argument_list "("format_char != \'(\'","print.c",0x4f,"make_segment")" ( (string_literal ""format_char != \'(\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (expression_statement "psVar2 = (segment *)xmalloc(0x20);" (assignment_expression "psVar2 = (segment *)xmalloc(0x20)" identifier = (cast_expression "(segment *)xmalloc(0x20)" ( (type_descriptor "segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*segment = psVar2;" (assignment_expression "*segment = psVar2" (pointer_expression "*segment" * identifier) = identifier) ;) (expression_statement "psVar2->segkind = kind;" (assignment_expression "psVar2->segkind = kind" (field_expression "psVar2->segkind" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar2->format_char[0] = format_char;" (assignment_expression "psVar2->format_char[0] = format_char" (subscript_expression "psVar2->format_char[0]" (field_expression "psVar2->format_char" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "psVar2->format_char[1] = aux_format_char;" (assignment_expression "psVar2->format_char[1] = aux_format_char" (subscript_expression "psVar2->format_char[1]" (field_expression "psVar2->format_char" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "psVar2->next = (segment *)0x0;" (assignment_expression "psVar2->next = (segment *)0x0" (field_expression "psVar2->next" identifier -> field_identifier) = (cast_expression "(segment *)0x0" ( (type_descriptor "segment *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar2->text_len = len;" (assignment_expression "psVar2->text_len = len" (field_expression "psVar2->text_len" identifier -> field_identifier) = identifier) ;) (expression_statement "__n = (size_t)len;" (assignment_expression "__n = (size_t)len" identifier = (cast_expression "(size_t)len" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "pcVar3 = (char *)xmalloc(__n + 2);" (assignment_expression "pcVar3 = (char *)xmalloc(__n + 2)" identifier = (cast_expression "(char *)xmalloc(__n + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(__n + 2)" identifier (argument_list "(__n + 2)" ( (binary_expression "__n + 2" identifier + number_literal) ))))) ;) (expression_statement "psVar2->text = pcVar3;" (assignment_expression "psVar2->text = pcVar3" (field_expression "psVar2->text" identifier -> field_identifier) = identifier) ;) (expression_statement "strncpy(pcVar3,format,__n);" (call_expression "strncpy(pcVar3,format,__n)" identifier (argument_list "(pcVar3,format,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar3 = pcVar3 + __n;" (assignment_expression "pcVar3 = pcVar3 + __n" identifier = (binary_expression "pcVar3 + __n" identifier + identifier)) ;) (if_statement "if ((uint)kind < 2) {\n    if (format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (aux_format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar3 = '\0';\n    psVar2 = *segment;\n    goto LAB_0010f848;\n  }" if (parenthesized_expression "((uint)kind < 2)" ( (binary_expression "(uint)kind < 2" (cast_expression "(uint)kind" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n    if (format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (aux_format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar3 = '\0';\n    psVar2 = *segment;\n    goto LAB_0010f848;\n  }" { (if_statement "if (format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" if (parenthesized_expression "(format_char != '\0')" ( (binary_expression "format_char != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" { comment (expression_statement "__assert_fail("0 == format_char","print.c",0x60,"make_segment");" (call_expression "__assert_fail("0 == format_char","print.c",0x60,"make_segment")" identifier (argument_list "("0 == format_char","print.c",0x60,"make_segment")" ( (string_literal ""0 == format_char"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (aux_format_char != '\0') {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" if (parenthesized_expression "(aux_format_char != '\0')" ( (binary_expression "aux_format_char != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" { comment (expression_statement "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");" (call_expression "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment")" identifier (argument_list "("0 == aux_format_char","print.c",0x61,"make_segment")" ( (string_literal ""0 == aux_format_char"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (expression_statement "*pcVar3 = '\0';" (assignment_expression "*pcVar3 = '\0'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar2 = *segment;" (assignment_expression "psVar2 = *segment" identifier = (pointer_expression "*segment" * identifier)) ;) (goto_statement "goto LAB_0010f848;" goto statement_identifier ;) })) (if_statement "if (kind != 2) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" if (parenthesized_expression "(kind != 2)" ( (binary_expression "kind != 2" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" { comment (expression_statement "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");" (call_expression "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment")" identifier (argument_list "("kind == KIND_FORMAT","print.c",0x68,"make_segment")" ( (string_literal ""kind == KIND_FORMAT"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (switch_statement "switch(format_char) {\n  case '%':\n    *pcVar3 = '%';\n    goto LAB_0010f812;\n  default:\n    EVar1 = NeedsNothing;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'H':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    pred->need_stat = true;\n    *pcVar3 = 'g';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'Y':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n    break;\n  case 'Z':\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsAccessInfo;\n    break;\n  case 'd':\n    *pcVar3 = 'd';\nLAB_0010f812:\n    pcVar3[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    pred->need_inum = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsInodeNumber;\n    break;\n  case 'l':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsLinkName;\n    break;\n  case 'm':\n    *pcVar3 = 'o';\n    pred->need_stat = true;\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'y':\n    pred->need_type = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n  }" switch (parenthesized_expression "(format_char)" ( identifier )) (compound_statement "{\n  case '%':\n    *pcVar3 = '%';\n    goto LAB_0010f812;\n  default:\n    EVar1 = NeedsNothing;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'H':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar3 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    pred->need_stat = true;\n    *pcVar3 = 'g';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'Y':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n    break;\n  case 'Z':\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsAccessInfo;\n    break;\n  case 'd':\n    *pcVar3 = 'd';\nLAB_0010f812:\n    pcVar3[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    pred->need_inum = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsInodeNumber;\n    break;\n  case 'l':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsLinkName;\n    break;\n  case 'm':\n    *pcVar3 = 'o';\n    pred->need_stat = true;\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;\n  case 'y':\n    pred->need_type = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n  }" { (case_statement "case '%':\n    *pcVar3 = '%';\n    goto LAB_0010f812;" case (char_literal "'%'" ' character ') : (expression_statement "*pcVar3 = '%';" (assignment_expression "*pcVar3 = '%'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'%'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "default:\n    EVar1 = NeedsNothing;\n    break;" default : (expression_statement "EVar1 = NeedsNothing;" (assignment_expression "EVar1 = NeedsNothing" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'A':" case (char_literal "'A'" ' character ') :) (case_statement "case 'B':" case (char_literal "'B'" ' character ') :) (case_statement "case 'C':" case (char_literal "'C'" ' character ') :) (case_statement "case 'F':" case (char_literal "'F'" ' character ') :) (case_statement "case 'M':" case (char_literal "'M'" ' character ') :) (case_statement "case 'T':" case (char_literal "'T'" ' character ') :) (case_statement "case 'a':" case (char_literal "'a'" ' character ') :) (case_statement "case 'c':" case (char_literal "'c'" ' character ') :) (case_statement "case 'g':" case (char_literal "'g'" ' character ') :) (case_statement "case 's':" case (char_literal "'s'" ' character ') :) (case_statement "case 't':" case (char_literal "'t'" ' character ') :) (case_statement "case 'u':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;" case (char_literal "'u'" ' character ') : (expression_statement "pred->need_stat = true;" (assignment_expression "pred->need_stat = true" (field_expression "pred->need_stat" identifier -> field_identifier) = true) ;) (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsStatInfo;" (assignment_expression "EVar1 = NeedsStatInfo" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'D':" case (char_literal "'D'" ' character ') :) (case_statement "case 'G':" case (char_literal "'G'" ' character ') :) (case_statement "case 'U':" case (char_literal "'U'" ' character ') :) (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'k':" case (char_literal "'k'" ' character ') :) (case_statement "case 'n':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;" case (char_literal "'n'" ' character ') : (expression_statement "pred->need_stat = true;" (assignment_expression "pred->need_stat = true" (field_expression "pred->need_stat" identifier -> field_identifier) = true) ;) (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsStatInfo;" (assignment_expression "EVar1 = NeedsStatInfo" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'H':\n    *pcVar3 = 's';\n    goto LAB_0010f812;" case (char_literal "'H'" ' character ') : (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "case 'P':" case (char_literal "'P'" ' character ') :) (case_statement "case 'f':" case (char_literal "'f'" ' character ') :) (case_statement "case 'h':" case (char_literal "'h'" ' character ') :) (case_statement "case 'p':\n    *pcVar3 = 's';\n    goto LAB_0010f812;" case (char_literal "'p'" ' character ') : (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "case 'S':\n    pred->need_stat = true;\n    *pcVar3 = 'g';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;" case (char_literal "'S'" ' character ') : (expression_statement "pred->need_stat = true;" (assignment_expression "pred->need_stat = true" (field_expression "pred->need_stat" identifier -> field_identifier) = true) ;) (expression_statement "*pcVar3 = 'g';" (assignment_expression "*pcVar3 = 'g'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'g'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsStatInfo;" (assignment_expression "EVar1 = NeedsStatInfo" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'Y':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;\n    break;" case (char_literal "'Y'" ' character ') : (expression_statement "pred->need_stat = true;" (assignment_expression "pred->need_stat = true" (field_expression "pred->need_stat" identifier -> field_identifier) = true) ;) (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsType;" (assignment_expression "EVar1 = NeedsType" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'Z':\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsAccessInfo;\n    break;" case (char_literal "'Z'" ' character ') : (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsAccessInfo;" (assignment_expression "EVar1 = NeedsAccessInfo" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'd':\n    *pcVar3 = 'd';\nLAB_0010f812:\n    pcVar3[1] = '\0';\n    goto LAB_0010f841;" case (char_literal "'d'" ' character ') : (expression_statement "*pcVar3 = 'd';" (assignment_expression "*pcVar3 = 'd'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'d'" ' character ')) ;) (labeled_statement "LAB_0010f812:\n    pcVar3[1] = '\0';" statement_identifier : (expression_statement "pcVar3[1] = '\0';" (assignment_expression "pcVar3[1] = '\0'" (subscript_expression "pcVar3[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (goto_statement "goto LAB_0010f841;" goto statement_identifier ;)) (case_statement "case 'i':\n    pred->need_inum = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsInodeNumber;\n    break;" case (char_literal "'i'" ' character ') : (expression_statement "pred->need_inum = true;" (assignment_expression "pred->need_inum = true" (field_expression "pred->need_inum" identifier -> field_identifier) = true) ;) (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsInodeNumber;" (assignment_expression "EVar1 = NeedsInodeNumber" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'l':\n    pred->need_stat = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsLinkName;\n    break;" case (char_literal "'l'" ' character ') : (expression_statement "pred->need_stat = true;" (assignment_expression "pred->need_stat = true" (field_expression "pred->need_stat" identifier -> field_identifier) = true) ;) (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsLinkName;" (assignment_expression "EVar1 = NeedsLinkName" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'm':\n    *pcVar3 = 'o';\n    pred->need_stat = true;\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsStatInfo;\n    break;" case (char_literal "'m'" ' character ') : (expression_statement "*pcVar3 = 'o';" (assignment_expression "*pcVar3 = 'o'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'o'" ' character ')) ;) (expression_statement "pred->need_stat = true;" (assignment_expression "pred->need_stat = true" (field_expression "pred->need_stat" identifier -> field_identifier) = true) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsStatInfo;" (assignment_expression "EVar1 = NeedsStatInfo" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'y':\n    pred->need_type = true;\n    *pcVar3 = 's';\n    pcVar3 = pcVar3 + 1;\n    EVar1 = NeedsType;" case (char_literal "'y'" ' character ') : (expression_statement "pred->need_type = true;" (assignment_expression "pred->need_type = true" (field_expression "pred->need_type" identifier -> field_identifier) = true) ;) (expression_statement "*pcVar3 = 's';" (assignment_expression "*pcVar3 = 's'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar3 = pcVar3 + 1;" (assignment_expression "pcVar3 = pcVar3 + 1" identifier = (binary_expression "pcVar3 + 1" identifier + number_literal)) ;) (expression_statement "EVar1 = NeedsType;" (assignment_expression "EVar1 = NeedsType" identifier = identifier) ;)) })) (expression_statement "*pcVar3 = '\0';" (assignment_expression "*pcVar3 = '\0'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pred->p_cost < EVar1) {\n    pred->p_cost = EVar1;\n  }" if (parenthesized_expression "(pred->p_cost < EVar1)" ( (binary_expression "pred->p_cost < EVar1" (field_expression "pred->p_cost" identifier -> field_identifier) < identifier) )) (compound_statement "{\n    pred->p_cost = EVar1;\n  }" { (expression_statement "pred->p_cost = EVar1;" (assignment_expression "pred->p_cost = EVar1" (field_expression "pred->p_cost" identifier -> field_identifier) = identifier) ;) })) (labeled_statement "LAB_0010f841:\n  psVar2 = *segment;" statement_identifier : (expression_statement "psVar2 = *segment;" (assignment_expression "psVar2 = *segment" identifier = (pointer_expression "*segment" * identifier)) ;)) (labeled_statement "LAB_0010f848:\n  return &psVar2->next;" statement_identifier : (return_statement "return &psVar2->next;" return (pointer_expression "&psVar2->next" & (field_expression "psVar2->next" identifier -> field_identifier)) ;)) })))
(translation_unit "long FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)\n\n{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}\n\n" (function_definition "long FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)\n\n{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)" identifier (parameter_list "(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "char param_5" primitive_type identifier) , (parameter_declaration "char param_6" primitive_type identifier) , (parameter_declaration "long param_7" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (if_statement "if (param_5 == '{') {\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" if (parenthesized_expression "(param_5 == '{')" ( (binary_expression "param_5 == '{'" identifier == (char_literal "'{'" ' character ')) )) (compound_statement "{\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" { (expression_statement "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");" (call_expression "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment")" identifier (argument_list "("format_char != \'{\'","print.c",0x4d,"make_segment")" ( (string_literal ""format_char != \'{\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (param_5 == '[') {\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" if (parenthesized_expression "(param_5 == '[')" ( (binary_expression "param_5 == '['" identifier == (char_literal "'['" ' character ')) )) (compound_statement "{\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" { (expression_statement "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");" (call_expression "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment")" identifier (argument_list "("format_char != \'[\'","print.c",0x4e,"make_segment")" ( (string_literal ""format_char != \'[\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (param_5 == '(') {\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" if (parenthesized_expression "(param_5 == '(')" ( (binary_expression "param_5 == '('" identifier == (char_literal "'('" ' character ')) )) (compound_statement "{\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" { (expression_statement "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");" (call_expression "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment")" identifier (argument_list "("format_char != \'(\'","print.c",0x4f,"make_segment")" ( (string_literal ""format_char != \'(\'"" " string_content escape_sequence string_content escape_sequence ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (expression_statement "puVar3 = (uint *)FUN_0012220c(0x20);" (assignment_expression "puVar3 = (uint *)FUN_0012220c(0x20)" identifier = (cast_expression "(uint *)FUN_0012220c(0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012220c(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*param_1 = (long)puVar3;" (assignment_expression "*param_1 = (long)puVar3" (pointer_expression "*param_1" * identifier) = (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*puVar3 = param_4;" (assignment_expression "*puVar3 = param_4" (pointer_expression "*puVar3" * identifier) = identifier) ;) (expression_statement "*(char *)(puVar3 + 1) = param_5;" (assignment_expression "*(char *)(puVar3 + 1) = param_5" (pointer_expression "*(char *)(puVar3 + 1)" * (cast_expression "(char *)(puVar3 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 1)" ( (binary_expression "puVar3 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)((long)puVar3 + 5) = param_6;" (assignment_expression "*(char *)((long)puVar3 + 5) = param_6" (pointer_expression "*(char *)((long)puVar3 + 5)" * (cast_expression "(char *)((long)puVar3 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar3 + 5)" ( (binary_expression "(long)puVar3 + 5" (cast_expression "(long)puVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = param_3;" (assignment_expression "puVar3[4] = param_3" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__n = (size_t)(int)param_3;" (assignment_expression "__n = (size_t)(int)param_3" identifier = (cast_expression "(size_t)(int)param_3" ( (type_descriptor "size_t" primitive_type) ) (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar4 = (char *)FUN_0012220c(__n + 2);" (assignment_expression "pcVar4 = (char *)FUN_0012220c(__n + 2)" identifier = (cast_expression "(char *)FUN_0012220c(__n + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0012220c(__n + 2)" identifier (argument_list "(__n + 2)" ( (binary_expression "__n + 2" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar3 + 2) = pcVar4;" (assignment_expression "*(char **)(puVar3 + 2) = pcVar4" (pointer_expression "*(char **)(puVar3 + 2)" * (cast_expression "(char **)(puVar3 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar3 + 2)" ( (binary_expression "puVar3 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "strncpy(pcVar4,param_2,__n);" (call_expression "strncpy(pcVar4,param_2,__n)" identifier (argument_list "(pcVar4,param_2,__n)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar4 = pcVar4 + __n;" (assignment_expression "pcVar4 = pcVar4 + __n" identifier = (binary_expression "pcVar4 + __n" identifier + identifier)) ;) (if_statement "if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }" if (parenthesized_expression "(param_4 < 2)" ( (binary_expression "param_4 < 2" identifier < number_literal) )) (compound_statement "{\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }" { (if_statement "if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" if (parenthesized_expression "(param_5 != '\0')" ( (binary_expression "param_5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" { (expression_statement "__assert_fail("0 == format_char","print.c",0x60,"make_segment");" (call_expression "__assert_fail("0 == format_char","print.c",0x60,"make_segment")" identifier (argument_list "("0 == format_char","print.c",0x60,"make_segment")" ( (string_literal ""0 == format_char"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (if_statement "if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" if (parenthesized_expression "(param_6 != '\0')" ( (binary_expression "param_6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" { (expression_statement "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");" (call_expression "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment")" identifier (argument_list "("0 == aux_format_char","print.c",0x61,"make_segment")" ( (string_literal ""0 == aux_format_char"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "lVar1 = *param_1;" (assignment_expression "lVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (goto_statement "goto LAB_0010f848;" goto statement_identifier ;) })) (if_statement "if (param_4 != 2) {\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" if (parenthesized_expression "(param_4 != 2)" ( (binary_expression "param_4 != 2" identifier != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" { (expression_statement "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");" (call_expression "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment")" identifier (argument_list "("kind == KIND_FORMAT","print.c",0x68,"make_segment")" ( (string_literal ""kind == KIND_FORMAT"" " string_content ") , (string_literal ""print.c"" " string_content ") , number_literal , (string_literal ""make_segment"" " string_content ") ))) ;) })) (switch_statement "switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }" switch (parenthesized_expression "(param_5)" ( identifier )) (compound_statement "{\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }" { (case_statement "case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;" case (char_literal "'%'" ' character ') : (expression_statement "*pcVar4 = '%';" (assignment_expression "*pcVar4 = '%'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'%'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "default:\n    uVar2 = 0;\n    break;" default : (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'A':" case (char_literal "'A'" ' character ') :) (case_statement "case 'B':" case (char_literal "'B'" ' character ') :) (case_statement "case 'C':" case (char_literal "'C'" ' character ') :) (case_statement "case 'F':" case (char_literal "'F'" ' character ') :) (case_statement "case 'M':" case (char_literal "'M'" ' character ') :) (case_statement "case 'T':" case (char_literal "'T'" ' character ') :) (case_statement "case 'a':" case (char_literal "'a'" ' character ') :) (case_statement "case 'c':" case (char_literal "'c'" ' character ') :) (case_statement "case 'g':" case (char_literal "'g'" ' character ') :) (case_statement "case 's':" case (char_literal "'s'" ' character ') :) (case_statement "case 't':" case (char_literal "'t'" ' character ') :) (case_statement "case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'u'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'D':" case (char_literal "'D'" ' character ') :) (case_statement "case 'G':" case (char_literal "'G'" ' character ') :) (case_statement "case 'U':" case (char_literal "'U'" ' character ') :) (case_statement "case 'b':" case (char_literal "'b'" ' character ') :) (case_statement "case 'k':" case (char_literal "'k'" ' character ') :) (case_statement "case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'n'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;" case (char_literal "'H'" ' character ') : (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "case 'P':" case (char_literal "'P'" ' character ') :) (case_statement "case 'f':" case (char_literal "'f'" ' character ') :) (case_statement "case 'h':" case (char_literal "'h'" ' character ') :) (case_statement "case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;" case (char_literal "'p'" ' character ') : (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (goto_statement "goto LAB_0010f812;" goto statement_identifier ;)) (case_statement "case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'S'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 'g';" (assignment_expression "*pcVar4 = 'g'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'g'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;" case (char_literal "'Y'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 2;" (assignment_expression "uVar2 = 2" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;" case (char_literal "'Z'" ' character ') : (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;" case (char_literal "'d'" ' character ') : (expression_statement "*pcVar4 = 'd';" (assignment_expression "*pcVar4 = 'd'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'d'" ' character ')) ;) (labeled_statement "LAB_0010f812:\n    pcVar4[1] = '\0';" statement_identifier : (expression_statement "pcVar4[1] = '\0';" (assignment_expression "pcVar4[1] = '\0'" (subscript_expression "pcVar4[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;)) (goto_statement "goto LAB_0010f841;" goto statement_identifier ;)) (case_statement "case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;" case (char_literal "'i'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1c) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1c) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1c)" * (cast_expression "(undefined1 *)(param_7 + 0x1c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1c)" ( (binary_expression "param_7 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;" case (char_literal "'l'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 4;" (assignment_expression "uVar2 = 4" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" case (char_literal "'m'" ' character ') : (expression_statement "*pcVar4 = 'o';" (assignment_expression "*pcVar4 = 'o'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'o'" ' character ')) ;) (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" * (cast_expression "(undefined1 *)(param_7 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1a)" ( (binary_expression "param_7 + 0x1a" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" identifier = number_literal) ;) (break_statement "break;" break ;)) (case_statement "case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;" case (char_literal "'y'" ' character ') : (expression_statement "*(undefined1 *)(param_7 + 0x1b) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1b) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1b)" * (cast_expression "(undefined1 *)(param_7 + 0x1b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x1b)" ( (binary_expression "param_7 + 0x1b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'s'" ' character ')) ;) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "uVar2 = 2;" (assignment_expression "uVar2 = 2" identifier = number_literal) ;)) })) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }" if (parenthesized_expression "(*(uint *)(param_7 + 0x20) < uVar2)" ( (binary_expression "*(uint *)(param_7 + 0x20) < uVar2" (pointer_expression "*(uint *)(param_7 + 0x20)" * (cast_expression "(uint *)(param_7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x20)" ( (binary_expression "param_7 + 0x20" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }" { (expression_statement "*(uint *)(param_7 + 0x20) = uVar2;" (assignment_expression "*(uint *)(param_7 + 0x20) = uVar2" (pointer_expression "*(uint *)(param_7 + 0x20)" * (cast_expression "(uint *)(param_7 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 0x20)" ( (binary_expression "param_7 + 0x20" identifier + number_literal) )))) = identifier) ;) })) (labeled_statement "LAB_0010f841:\n  lVar1 = *param_1;" statement_identifier : (expression_statement "lVar1 = *param_1;" (assignment_expression "lVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (labeled_statement "LAB_0010f848:\n  return lVar1 + 0x18;" statement_identifier : (return_statement "return lVar1 + 0x18;" return (binary_expression "lVar1 + 0x18" identifier + number_literal) ;)) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') :) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;)) (goto_statement goto statement_identifier ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;)) (case_statement case (char_literal ' character ') : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (labeled_statement statement_identifier : (return_statement return (binary_expression IDENT + LIT) ;)) })))
(function_definition "long FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)\n\n{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FUN_0010f66d(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)" (identifier "FUN_0010f66d") (parameter_list "(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,\n                 long param_7)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "char param_5" (primitive_type "char") (identifier "param_5")) (, ",") (parameter_declaration "char param_6" (primitive_type "char") (identifier "param_6")) (, ",") (parameter_declaration "long param_7" (sized_type_specifier "long" (long "long")) (identifier "param_7")) () ")"))) (compound_statement "{\n  long lVar1;\n  uint uVar2;\n  uint *puVar3;\n  char *pcVar4;\n  size_t __n;\n  \n  if (param_5 == '{') {\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }\n  if (param_5 == '[') {\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }\n  if (param_5 == '(') {\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }\n  puVar3 = (uint *)FUN_0012220c(0x20);\n  *param_1 = (long)puVar3;\n  *puVar3 = param_4;\n  *(char *)(puVar3 + 1) = param_5;\n  *(char *)((long)puVar3 + 5) = param_6;\n  puVar3[6] = 0;\n  puVar3[7] = 0;\n  puVar3[4] = param_3;\n  __n = (size_t)(int)param_3;\n  pcVar4 = (char *)FUN_0012220c(__n + 2);\n  *(char **)(puVar3 + 2) = pcVar4;\n  strncpy(pcVar4,param_2,__n);\n  pcVar4 = pcVar4 + __n;\n  if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }\n  if (param_4 != 2) {\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }\n  switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }\n  *pcVar4 = '\0';\n  if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }\nLAB_0010f841:\n  lVar1 = *param_1;\nLAB_0010f848:\n  return lVar1 + 0x18;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint *puVar3;" (type_identifier "uint") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (if_statement "if (param_5 == '{') {\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" (if "if") (parenthesized_expression "(param_5 == '{')" (( "(") (binary_expression "param_5 == '{'" (identifier "param_5") (== "==") (char_literal "'{'" (' "'") (character "{") (' "'"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");\n  }" ({ "{") (expression_statement "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");" (call_expression "__assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment")" (identifier "__assert_fail") (argument_list "("format_char != \'{\'","print.c",0x4d,"make_segment")" (( "(") (string_literal ""format_char != \'{\'"" (" """) (string_content "format_char != ") (escape_sequence "\'") (string_content "{") (escape_sequence "\'") (" """)) (, ",") (string_literal ""print.c"" (" """) (string_content "print.c") (" """)) (, ",") (number_literal "0x4d") (, ",") (string_literal ""make_segment"" (" """) (string_content "make_segment") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_5 == '[') {\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" (if "if") (parenthesized_expression "(param_5 == '[')" (( "(") (binary_expression "param_5 == '['" (identifier "param_5") (== "==") (char_literal "'['" (' "'") (character "[") (' "'"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");\n  }" ({ "{") (expression_statement "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");" (call_expression "__assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment")" (identifier "__assert_fail") (argument_list "("format_char != \'[\'","print.c",0x4e,"make_segment")" (( "(") (string_literal ""format_char != \'[\'"" (" """) (string_content "format_char != ") (escape_sequence "\'") (string_content "[") (escape_sequence "\'") (" """)) (, ",") (string_literal ""print.c"" (" """) (string_content "print.c") (" """)) (, ",") (number_literal "0x4e") (, ",") (string_literal ""make_segment"" (" """) (string_content "make_segment") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_5 == '(') {\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" (if "if") (parenthesized_expression "(param_5 == '(')" (( "(") (binary_expression "param_5 == '('" (identifier "param_5") (== "==") (char_literal "'('" (' "'") (character "(") (' "'"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");\n  }" ({ "{") (expression_statement "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");" (call_expression "__assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment")" (identifier "__assert_fail") (argument_list "("format_char != \'(\'","print.c",0x4f,"make_segment")" (( "(") (string_literal ""format_char != \'(\'"" (" """) (string_content "format_char != ") (escape_sequence "\'") (string_content "(") (escape_sequence "\'") (" """)) (, ",") (string_literal ""print.c"" (" """) (string_content "print.c") (" """)) (, ",") (number_literal "0x4f") (, ",") (string_literal ""make_segment"" (" """) (string_content "make_segment") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar3 = (uint *)FUN_0012220c(0x20);" (assignment_expression "puVar3 = (uint *)FUN_0012220c(0x20)" (identifier "puVar3") (= "=") (cast_expression "(uint *)FUN_0012220c(0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0012220c(0x20)" (identifier "FUN_0012220c") (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")"))))) (; ";")) (expression_statement "*param_1 = (long)puVar3;" (assignment_expression "*param_1 = (long)puVar3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(long)puVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "*puVar3 = param_4;" (assignment_expression "*puVar3 = param_4" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(char *)(puVar3 + 1) = param_5;" (assignment_expression "*(char *)(puVar3 + 1) = param_5" (pointer_expression "*(char *)(puVar3 + 1)" (* "*") (cast_expression "(char *)(puVar3 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 1)" (( "(") (binary_expression "puVar3 + 1" (identifier "puVar3") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(char *)((long)puVar3 + 5) = param_6;" (assignment_expression "*(char *)((long)puVar3 + 5) = param_6" (pointer_expression "*(char *)((long)puVar3 + 5)" (* "*") (cast_expression "(char *)((long)puVar3 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar3 + 5)" (( "(") (binary_expression "(long)puVar3 + 5" (cast_expression "(long)puVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar3")) (+ "+") (number_literal "5")) () ")")))) (= "=") (identifier "param_6")) (; ";")) (expression_statement "puVar3[6] = 0;" (assignment_expression "puVar3[6] = 0" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[7] = 0;" (assignment_expression "puVar3[7] = 0" (subscript_expression "puVar3[7]" (identifier "puVar3") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[4] = param_3;" (assignment_expression "puVar3[4] = param_3" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "__n = (size_t)(int)param_3;" (assignment_expression "__n = (size_t)(int)param_3" (identifier "__n") (= "=") (cast_expression "(size_t)(int)param_3" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")))) (; ";")) (expression_statement "pcVar4 = (char *)FUN_0012220c(__n + 2);" (assignment_expression "pcVar4 = (char *)FUN_0012220c(__n + 2)" (identifier "pcVar4") (= "=") (cast_expression "(char *)FUN_0012220c(__n + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0012220c(__n + 2)" (identifier "FUN_0012220c") (argument_list "(__n + 2)" (( "(") (binary_expression "__n + 2" (identifier "__n") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(char **)(puVar3 + 2) = pcVar4;" (assignment_expression "*(char **)(puVar3 + 2) = pcVar4" (pointer_expression "*(char **)(puVar3 + 2)" (* "*") (cast_expression "(char **)(puVar3 + 2)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar3 + 2)" (( "(") (binary_expression "puVar3 + 2" (identifier "puVar3") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "strncpy(pcVar4,param_2,__n);" (call_expression "strncpy(pcVar4,param_2,__n)" (identifier "strncpy") (argument_list "(pcVar4,param_2,__n)" (( "(") (identifier "pcVar4") (, ",") (identifier "param_2") (, ",") (identifier "__n") () ")"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + __n;" (assignment_expression "pcVar4 = pcVar4 + __n" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + __n" (identifier "pcVar4") (+ "+") (identifier "__n"))) (; ";")) (if_statement "if (param_4 < 2) {\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }" (if "if") (parenthesized_expression "(param_4 < 2)" (( "(") (binary_expression "param_4 < 2" (identifier "param_4") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }\n    if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }\n    *pcVar4 = '\0';\n    lVar1 = *param_1;\n    goto LAB_0010f848;\n  }" ({ "{") (if_statement "if (param_5 != '\0') {\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" (if "if") (parenthesized_expression "(param_5 != '\0')" (( "(") (binary_expression "param_5 != '\0'" (identifier "param_5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n      __assert_fail("0 == format_char","print.c",0x60,"make_segment");\n    }" ({ "{") (expression_statement "__assert_fail("0 == format_char","print.c",0x60,"make_segment");" (call_expression "__assert_fail("0 == format_char","print.c",0x60,"make_segment")" (identifier "__assert_fail") (argument_list "("0 == format_char","print.c",0x60,"make_segment")" (( "(") (string_literal ""0 == format_char"" (" """) (string_content "0 == format_char") (" """)) (, ",") (string_literal ""print.c"" (" """) (string_content "print.c") (" """)) (, ",") (number_literal "0x60") (, ",") (string_literal ""make_segment"" (" """) (string_content "make_segment") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_6 != '\0') {\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" (if "if") (parenthesized_expression "(param_6 != '\0')" (( "(") (binary_expression "param_6 != '\0'" (identifier "param_6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");\n    }" ({ "{") (expression_statement "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");" (call_expression "__assert_fail("0 == aux_format_char","print.c",0x61,"make_segment")" (identifier "__assert_fail") (argument_list "("0 == aux_format_char","print.c",0x61,"make_segment")" (( "(") (string_literal ""0 == aux_format_char"" (" """) (string_content "0 == aux_format_char") (" """)) (, ",") (string_literal ""print.c"" (" """) (string_content "print.c") (" """)) (, ",") (number_literal "0x61") (, ",") (string_literal ""make_segment"" (" """) (string_content "make_segment") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "lVar1 = *param_1;" (assignment_expression "lVar1 = *param_1" (identifier "lVar1") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (goto_statement "goto LAB_0010f848;" (goto "goto") (statement_identifier "LAB_0010f848") (; ";")) (} "}"))) (if_statement "if (param_4 != 2) {\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" (if "if") (parenthesized_expression "(param_4 != 2)" (( "(") (binary_expression "param_4 != 2" (identifier "param_4") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    \n    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");\n  }" ({ "{") (expression_statement "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");" (call_expression "__assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment")" (identifier "__assert_fail") (argument_list "("kind == KIND_FORMAT","print.c",0x68,"make_segment")" (( "(") (string_literal ""kind == KIND_FORMAT"" (" """) (string_content "kind == KIND_FORMAT") (" """)) (, ",") (string_literal ""print.c"" (" """) (string_content "print.c") (" """)) (, ",") (number_literal "0x68") (, ",") (string_literal ""make_segment"" (" """) (string_content "make_segment") (" """)) () ")"))) (; ";")) (} "}"))) (switch_statement "switch(param_5) {\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }" (switch "switch") (parenthesized_expression "(param_5)" (( "(") (identifier "param_5") () ")")) (compound_statement "{\n  case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;\n  default:\n    uVar2 = 0;\n    break;\n  case 'A':\n  case 'B':\n  case 'C':\n  case 'F':\n  case 'M':\n  case 'T':\n  case 'a':\n  case 'c':\n  case 'g':\n  case 's':\n  case 't':\n  case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'D':\n  case 'G':\n  case 'U':\n  case 'b':\n  case 'k':\n  case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'P':\n  case 'f':\n  case 'h':\n  case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;\n  case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;\n  case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;\n  case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;\n  case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;\n  case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;\n  case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;\n  case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n  }" ({ "{") (case_statement "case '%':\n    *pcVar4 = '%';\n    goto LAB_0010f812;" (case "case") (char_literal "'%'" (' "'") (character "%") (' "'")) (: ":") (expression_statement "*pcVar4 = '%';" (assignment_expression "*pcVar4 = '%'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'%'" (' "'") (character "%") (' "'"))) (; ";")) (goto_statement "goto LAB_0010f812;" (goto "goto") (statement_identifier "LAB_0010f812") (; ";"))) (case_statement "default:\n    uVar2 = 0;\n    break;" (default "default") (: ":") (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'A':" (case "case") (char_literal "'A'" (' "'") (character "A") (' "'")) (: ":")) (case_statement "case 'B':" (case "case") (char_literal "'B'" (' "'") (character "B") (' "'")) (: ":")) (case_statement "case 'C':" (case "case") (char_literal "'C'" (' "'") (character "C") (' "'")) (: ":")) (case_statement "case 'F':" (case "case") (char_literal "'F'" (' "'") (character "F") (' "'")) (: ":")) (case_statement "case 'M':" (case "case") (char_literal "'M'" (' "'") (character "M") (' "'")) (: ":")) (case_statement "case 'T':" (case "case") (char_literal "'T'" (' "'") (character "T") (' "'")) (: ":")) (case_statement "case 'a':" (case "case") (char_literal "'a'" (' "'") (character "a") (' "'")) (: ":")) (case_statement "case 'c':" (case "case") (char_literal "'c'" (' "'") (character "c") (' "'")) (: ":")) (case_statement "case 'g':" (case "case") (char_literal "'g'" (' "'") (character "g") (' "'")) (: ":")) (case_statement "case 's':" (case "case") (char_literal "'s'" (' "'") (character "s") (' "'")) (: ":")) (case_statement "case 't':" (case "case") (char_literal "'t'" (' "'") (character "t") (' "'")) (: ":")) (case_statement "case 'u':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" (case "case") (char_literal "'u'" (' "'") (character "u") (' "'")) (: ":") (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1a)" (( "(") (binary_expression "param_7 + 0x1a" (identifier "param_7") (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" (identifier "uVar2") (= "=") (number_literal "3")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'D':" (case "case") (char_literal "'D'" (' "'") (character "D") (' "'")) (: ":")) (case_statement "case 'G':" (case "case") (char_literal "'G'" (' "'") (character "G") (' "'")) (: ":")) (case_statement "case 'U':" (case "case") (char_literal "'U'" (' "'") (character "U") (' "'")) (: ":")) (case_statement "case 'b':" (case "case") (char_literal "'b'" (' "'") (character "b") (' "'")) (: ":")) (case_statement "case 'k':" (case "case") (char_literal "'k'" (' "'") (character "k") (' "'")) (: ":")) (case_statement "case 'n':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" (case "case") (char_literal "'n'" (' "'") (character "n") (' "'")) (: ":") (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1a)" (( "(") (binary_expression "param_7 + 0x1a" (identifier "param_7") (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" (identifier "uVar2") (= "=") (number_literal "3")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'H':\n    *pcVar4 = 's';\n    goto LAB_0010f812;" (case "case") (char_literal "'H'" (' "'") (character "H") (' "'")) (: ":") (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (goto_statement "goto LAB_0010f812;" (goto "goto") (statement_identifier "LAB_0010f812") (; ";"))) (case_statement "case 'P':" (case "case") (char_literal "'P'" (' "'") (character "P") (' "'")) (: ":")) (case_statement "case 'f':" (case "case") (char_literal "'f'" (' "'") (character "f") (' "'")) (: ":")) (case_statement "case 'h':" (case "case") (char_literal "'h'" (' "'") (character "h") (' "'")) (: ":")) (case_statement "case 'p':\n    *pcVar4 = 's';\n    goto LAB_0010f812;" (case "case") (char_literal "'p'" (' "'") (character "p") (' "'")) (: ":") (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (goto_statement "goto LAB_0010f812;" (goto "goto") (statement_identifier "LAB_0010f812") (; ";"))) (case_statement "case 'S':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 'g';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" (case "case") (char_literal "'S'" (' "'") (character "S") (' "'")) (: ":") (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1a)" (( "(") (binary_expression "param_7 + 0x1a" (identifier "param_7") (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar4 = 'g';" (assignment_expression "*pcVar4 = 'g'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'g'" (' "'") (character "g") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" (identifier "uVar2") (= "=") (number_literal "3")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'Y':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;\n    break;" (case "case") (char_literal "'Y'" (' "'") (character "Y") (' "'")) (: ":") (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1a)" (( "(") (binary_expression "param_7 + 0x1a" (identifier "param_7") (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 2;" (assignment_expression "uVar2 = 2" (identifier "uVar2") (= "=") (number_literal "2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'Z':\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 5;\n    break;" (case "case") (char_literal "'Z'" (' "'") (character "Z") (' "'")) (: ":") (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 5;" (assignment_expression "uVar2 = 5" (identifier "uVar2") (= "=") (number_literal "5")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'd':\n    *pcVar4 = 'd';\nLAB_0010f812:\n    pcVar4[1] = '\0';\n    goto LAB_0010f841;" (case "case") (char_literal "'d'" (' "'") (character "d") (' "'")) (: ":") (expression_statement "*pcVar4 = 'd';" (assignment_expression "*pcVar4 = 'd'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'d'" (' "'") (character "d") (' "'"))) (; ";")) (labeled_statement "LAB_0010f812:\n    pcVar4[1] = '\0';" (statement_identifier "LAB_0010f812") (: ":") (expression_statement "pcVar4[1] = '\0';" (assignment_expression "pcVar4[1] = '\0'" (subscript_expression "pcVar4[1]" (identifier "pcVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (goto_statement "goto LAB_0010f841;" (goto "goto") (statement_identifier "LAB_0010f841") (; ";"))) (case_statement "case 'i':\n    *(undefined1 *)(param_7 + 0x1c) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 1;\n    break;" (case "case") (char_literal "'i'" (' "'") (character "i") (' "'")) (: ":") (expression_statement "*(undefined1 *)(param_7 + 0x1c) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1c) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1c)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1c)" (( "(") (binary_expression "param_7 + 0x1c" (identifier "param_7") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'l':\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 4;\n    break;" (case "case") (char_literal "'l'" (' "'") (character "l") (' "'")) (: ":") (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1a)" (( "(") (binary_expression "param_7 + 0x1a" (identifier "param_7") (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 4;" (assignment_expression "uVar2 = 4" (identifier "uVar2") (= "=") (number_literal "4")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'm':\n    *pcVar4 = 'o';\n    *(undefined1 *)(param_7 + 0x1a) = 1;\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 3;\n    break;" (case "case") (char_literal "'m'" (' "'") (character "m") (' "'")) (: ":") (expression_statement "*pcVar4 = 'o';" (assignment_expression "*pcVar4 = 'o'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'o'" (' "'") (character "o") (' "'"))) (; ";")) (expression_statement "*(undefined1 *)(param_7 + 0x1a) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1a) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1a)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1a)" (( "(") (binary_expression "param_7 + 0x1a" (identifier "param_7") (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 3;" (assignment_expression "uVar2 = 3" (identifier "uVar2") (= "=") (number_literal "3")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 'y':\n    *(undefined1 *)(param_7 + 0x1b) = 1;\n    *pcVar4 = 's';\n    pcVar4 = pcVar4 + 1;\n    uVar2 = 2;" (case "case") (char_literal "'y'" (' "'") (character "y") (' "'")) (: ":") (expression_statement "*(undefined1 *)(param_7 + 0x1b) = 1;" (assignment_expression "*(undefined1 *)(param_7 + 0x1b) = 1" (pointer_expression "*(undefined1 *)(param_7 + 0x1b)" (* "*") (cast_expression "(undefined1 *)(param_7 + 0x1b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x1b)" (( "(") (binary_expression "param_7 + 0x1b" (identifier "param_7") (+ "+") (number_literal "0x1b")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar4 = 's';" (assignment_expression "*pcVar4 = 's'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'s'" (' "'") (character "s") (' "'"))) (; ";")) (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar2 = 2;" (assignment_expression "uVar2 = 2" (identifier "uVar2") (= "=") (number_literal "2")) (; ";"))) (} "}"))) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (*(uint *)(param_7 + 0x20) < uVar2) {\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }" (if "if") (parenthesized_expression "(*(uint *)(param_7 + 0x20) < uVar2)" (( "(") (binary_expression "*(uint *)(param_7 + 0x20) < uVar2" (pointer_expression "*(uint *)(param_7 + 0x20)" (* "*") (cast_expression "(uint *)(param_7 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x20)" (( "(") (binary_expression "param_7 + 0x20" (identifier "param_7") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n    *(uint *)(param_7 + 0x20) = uVar2;\n  }" ({ "{") (expression_statement "*(uint *)(param_7 + 0x20) = uVar2;" (assignment_expression "*(uint *)(param_7 + 0x20) = uVar2" (pointer_expression "*(uint *)(param_7 + 0x20)" (* "*") (cast_expression "(uint *)(param_7 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 0x20)" (( "(") (binary_expression "param_7 + 0x20" (identifier "param_7") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (labeled_statement "LAB_0010f841:\n  lVar1 = *param_1;" (statement_identifier "LAB_0010f841") (: ":") (expression_statement "lVar1 = *param_1;" (assignment_expression "lVar1 = *param_1" (identifier "lVar1") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";"))) (labeled_statement "LAB_0010f848:\n  return lVar1 + 0x18;" (statement_identifier "LAB_0010f848") (: ":") (return_statement "return lVar1 + 0x18;" (return "return") (binary_expression "lVar1 + 0x18" (identifier "lVar1") (+ "+") (number_literal "0x18")) (; ";"))) (} "}")))

type_1 **
function_1(type_1 **type_1,char *format,int len,int var_8,char var_1,char var_7,
            type_2 *pred)

{
  type_3 var_9;
  type_1 *psVar2;
  char *var_6;
  size_t var_4;
  
  if (var_1 == '{') {
                    /* WARNING: Subroutine does not return */
    var_2("format_char != \'{\'","print.c",0x4d,"make_segment");
  }
  if (var_1 == '[') {
                    /* WARNING: Subroutine does not return */
    var_2("format_char != \'[\'","print.c",0x4e,"make_segment");
  }
  if (var_1 == '(') {
                    /* WARNING: Subroutine does not return */
    var_2("format_char != \'(\'","print.c",0x4f,"make_segment");
  }
  psVar2 = (type_1 *)var_3(0x20);
  *type_1 = psVar2;
  psVar2->segkind = var_8;
  psVar2->var_1[0] = var_1;
  psVar2->var_1[1] = var_7;
  psVar2->next = (type_1 *)0x0;
  psVar2->text_len = len;
  var_4 = (size_t)len;
  var_6 = (char *)var_3(var_4 + 2);
  psVar2->text = var_6;
  var_5(var_6,format,var_4);
  var_6 = var_6 + var_4;
  if ((type_4)var_8 < 2) {
    if (var_1 != '\0') {
                    /* WARNING: Subroutine does not return */
      var_2("0 == format_char","print.c",0x60,"make_segment");
    }
    if (var_7 != '\0') {
                    /* WARNING: Subroutine does not return */
      var_2("0 == aux_format_char","print.c",0x61,"make_segment");
    }
    *var_6 = '\0';
    psVar2 = *type_1;
    goto LAB_0010f848;
  }
  if (var_8 != 2) {
                    /* WARNING: Subroutine does not return */
    var_2("kind == KIND_FORMAT","print.c",0x68,"make_segment");
  }
  switch(var_1) {
  case '%':
    *var_6 = '%';
    goto LAB_0010f812;
  default:
    var_9 = NeedsNothing;
    break;
  case 'A':
  case 'B':
  case 'C':
  case 'F':
  case 'M':
  case 'T':
  case 'a':
  case 'c':
  case 'g':
  case 's':
  case 't':
  case 'u':
    pred->need_stat = true;
    *var_6 = 's';
    var_6 = var_6 + 1;
    var_9 = NeedsStatInfo;
    break;
  case 'D':
  case 'G':
  case 'U':
  case 'b':
  case 'k':
  case 'n':
    pred->need_stat = true;
    *var_6 = 's';
    var_6 = var_6 + 1;
    var_9 = NeedsStatInfo;
    break;
  case 'H':
    *var_6 = 's';
    goto LAB_0010f812;
  case 'P':
  case 'f':
  case 'h':
  case 'p':
    *var_6 = 's';
    goto LAB_0010f812;
  case 'S':
    pred->need_stat = true;
    *var_6 = 'g';
    var_6 = var_6 + 1;
    var_9 = NeedsStatInfo;
    break;
  case 'Y':
    pred->need_stat = true;
    *var_6 = 's';
    var_6 = var_6 + 1;
    var_9 = NeedsType;
    break;
  case 'Z':
    *var_6 = 's';
    var_6 = var_6 + 1;
    var_9 = NeedsAccessInfo;
    break;
  case 'd':
    *var_6 = 'd';
LAB_0010f812:
    var_6[1] = '\0';
    goto LAB_0010f841;
  case 'i':
    pred->need_inum = true;
    *var_6 = 's';
    var_6 = var_6 + 1;
    var_9 = NeedsInodeNumber;
    break;
  case 'l':
    pred->need_stat = true;
    *var_6 = 's';
    var_6 = var_6 + 1;
    var_9 = NeedsLinkName;
    break;
  case 'm':
    *var_6 = 'o';
    pred->need_stat = true;
    var_6 = var_6 + 1;
    var_9 = NeedsStatInfo;
    break;
  case 'y':
    pred->need_type = true;
    *var_6 = 's';
    var_6 = var_6 + 1;
    var_9 = NeedsType;
  }
  *var_6 = '\0';
  if (pred->p_cost < var_9) {
    pred->p_cost = var_9;
  }
LAB_0010f841:
  psVar2 = *type_1;
LAB_0010f848:
  return &psVar2->next;
}


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

long MASKED(long *param_1,char *param_2,uint param_3,uint param_4,char param_5,char param_6,
                 long param_7)

{
  long lVar1;
  uint uVar2;
  uint *puVar3;
  char *pcVar4;
  size_t __n;
  
  if (param_5 == '{') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'{\'","print.c",0x4d,"make_segment");
  }
  if (param_5 == '[') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'[\'","print.c",0x4e,"make_segment");
  }
  if (param_5 == '(') {
                    /* WARNING: Subroutine does not return */
    __assert_fail("format_char != \'(\'","print.c",0x4f,"make_segment");
  }
  puVar3 = (uint *)FUN_0012220c(0x20);
  *param_1 = (long)puVar3;
  *puVar3 = param_4;
  *(char *)(puVar3 + 1) = param_5;
  *(char *)((long)puVar3 + 5) = param_6;
  puVar3[6] = 0;
  puVar3[7] = 0;
  puVar3[4] = param_3;
  __n = (size_t)(int)param_3;
  pcVar4 = (char *)FUN_0012220c(__n + 2);
  *(char **)(puVar3 + 2) = pcVar4;
  strncpy(pcVar4,param_2,__n);
  pcVar4 = pcVar4 + __n;
  if (param_4 < 2) {
    if (param_5 != '\0') {
                    /* WARNING: Subroutine does not return */
      __assert_fail("0 == format_char","print.c",0x60,"make_segment");
    }
    if (param_6 != '\0') {
                    /* WARNING: Subroutine does not return */
      __assert_fail("0 == aux_format_char","print.c",0x61,"make_segment");
    }
    *pcVar4 = '\0';
    lVar1 = *param_1;
    goto LAB_0010f848;
  }
  if (param_4 != 2) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("kind == KIND_FORMAT","print.c",0x68,"make_segment");
  }
  switch(param_5) {
  case '%':
    *pcVar4 = '%';
    goto LAB_0010f812;
  default:
    uVar2 = 0;
    break;
  case 'A':
  case 'B':
  case 'C':
  case 'F':
  case 'M':
  case 'T':
  case 'a':
  case 'c':
  case 'g':
  case 's':
  case 't':
  case 'u':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'D':
  case 'G':
  case 'U':
  case 'b':
  case 'k':
  case 'n':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'H':
    *pcVar4 = 's';
    goto LAB_0010f812;
  case 'P':
  case 'f':
  case 'h':
  case 'p':
    *pcVar4 = 's';
    goto LAB_0010f812;
  case 'S':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 'g';
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'Y':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 2;
    break;
  case 'Z':
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 5;
    break;
  case 'd':
    *pcVar4 = 'd';
LAB_0010f812:
    pcVar4[1] = '\0';
    goto LAB_0010f841;
  case 'i':
    *(undefined1 *)(param_7 + 0x1c) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 1;
    break;
  case 'l':
    *(undefined1 *)(param_7 + 0x1a) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 4;
    break;
  case 'm':
    *pcVar4 = 'o';
    *(undefined1 *)(param_7 + 0x1a) = 1;
    pcVar4 = pcVar4 + 1;
    uVar2 = 3;
    break;
  case 'y':
    *(undefined1 *)(param_7 + 0x1b) = 1;
    *pcVar4 = 's';
    pcVar4 = pcVar4 + 1;
    uVar2 = 2;
  }
  *pcVar4 = '\0';
  if (*(uint *)(param_7 + 0x20) < uVar2) {
    *(uint *)(param_7 + 0x20) = uVar2;
  }
LAB_0010f841:
  lVar1 = *param_1;
LAB_0010f848:
  return lVar1 + 0x18;
}

