
uchar * unw_decode_p7_p10(uchar *dp,uint code,void *arg,uchar *end)

{
  byte bVar1;
  bool bVar2;
  char cVar3;
  byte bVar4;
  uint uVar5;
  ulong uVar6;
  char *pcVar7;
  byte *pbVar8;
  byte *pbVar9;
  undefined1 *puVar10;
  char *pcVar11;
  ulong uVar12;
  char grstr [20];
  
  pcVar11 = grstr;
  pcVar7 = grstr;
  if ((code & 0x10) == 0) {
    pbVar8 = dp + 1;
    uVar6 = (ulong)(*dp & 0x7f);
    if ((char)*dp < '\0') {
      bVar4 = 0;
      pbVar9 = pbVar8;
      do {
        pbVar8 = pbVar9 + 1;
        bVar1 = *pbVar9;
        bVar4 = bVar4 + 7;
        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);
        pbVar9 = pbVar8;
      } while ((char)bVar1 < '\0');
    }
    switch(code & 0xf) {
    case 0:
      pbVar9 = pbVar8 + 1;
      uVar12 = (ulong)(*pbVar8 & 0x7f);
      if ((char)*pbVar8 < '\0') {
        bVar4 = 0;
        pbVar8 = pbVar9;
        do {
          pbVar9 = pbVar8 + 1;
          bVar1 = *pbVar8;
          bVar4 = bVar4 + 7;
          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);
          pbVar8 = pbVar9;
        } while ((char)bVar1 < '\0');
      }
      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);
      pbVar8 = pbVar9;
      break;
    case 1:
      printf("\t%s:mem_stack_v(t=%lu)\n","P7");
      break;
    case 2:
      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);
      break;
    case 3:
      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);
      break;
    case 4:
      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);
      break;
    case 5:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);
      break;
    case 6:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);
      break;
    case 7:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);
      break;
    case 8:
      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);
      break;
    case 9:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);
      break;
    case 10:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);
      break;
    case 0xb:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);
      break;
    case 0xc:
      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);
      break;
    case 0xd:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);
      break;
    case 0xe:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);
      break;
    case 0xf:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);
    }
  }
  else {
    uVar5 = code & 0xf;
    switch(uVar5) {
    case 0:
      bVar4 = dp[1];
      uVar6 = (ulong)(bVar4 & 0x7f);
      pbVar8 = dp + 2;
      while ((char)bVar4 < '\0') {
        bVar4 = *pbVar8;
        uVar5 = uVar5 + 7;
        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);
        pbVar8 = pbVar8 + 1;
      }
      switch(*dp) {
      default:
        printf("Unknown code 0x%02x\n",(ulong)*dp);
        break;
      case '\x01':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);
        break;
      case '\x02':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);
        break;
      case '\x03':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);
        break;
      case '\x04':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);
        break;
      case '\x05':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);
        break;
      case '\x06':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);
        break;
      case '\a':
        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);
        break;
      case '\b':
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);
        break;
      case '\t':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);
        break;
      case '\n':
        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);
        break;
      case '\v':
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);
        break;
      case '\f':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);
        break;
      case '\r':
        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);
        break;
      case '\x0e':
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);
        break;
      case '\x0f':
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);
        break;
      case '\x10':
        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");
        break;
      case '\x11':
        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);
        break;
      case '\x12':
        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);
        break;
      case '\x13':
        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");
      }
      break;
    case 1:
      pbVar8 = dp + 2;
      bVar4 = dp[1];
      cVar3 = '4';
      bVar2 = false;
      uVar5 = *dp & 0xf;
      do {
        if ((uVar5 & 1) != 0) {
          puVar10 = pcVar11;
          if (bVar2) {
            *pcVar11 = 0x2c;
            puVar10 = pcVar11 + 1;
          }
          *puVar10 = 0x72;
          bVar2 = true;
          pcVar11 = puVar10 + 2;
          puVar10[1] = cVar3;
        }
        cVar3 = cVar3 + '\x01';
        uVar5 = uVar5 >> 1;
      } while (cVar3 != '8');
      *pcVar11 = 0;
      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));
      break;
    default:
      printf("Unknown code 0x%02x\n");
      pbVar8 = dp;
      break;
    case 9:
      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 10:
      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 0xb:
      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 0xc:
      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 0xf:
      bVar4 = dp[1];
      if (*dp < 3) {
        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];
      }
      else {
        sprintf(grstr,"0x%x");
      }
      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);
      pbVar8 = dp + 2;
    }
  }
  return pbVar8;
}



byte * FUN_0013c5e0(byte *param_1,byte param_2)

{
  byte bVar1;
  bool bVar2;
  char cVar3;
  byte bVar4;
  ulong uVar5;
  char *pcVar6;
  byte *pbVar7;
  uint uVar9;
  undefined1 *puVar10;
  char *pcVar11;
  ulong uVar12;
  byte bVar13;
  char local_38 [32];
  byte *pbVar8;
  
  pcVar11 = local_38;
  pcVar6 = local_38;
  bVar13 = param_2 & 0x10;
  if ((param_2 & 0x10) == 0) {
    pbVar7 = param_1 + 1;
    uVar5 = (ulong)(*param_1 & 0x7f);
    if ((char)*param_1 < '\0') {
      bVar4 = 0;
      pbVar8 = pbVar7;
      do {
        pbVar7 = pbVar8 + 1;
        bVar1 = *pbVar8;
        bVar4 = bVar4 + 7;
        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);
        pbVar8 = pbVar7;
      } while ((char)bVar1 < '\0');
    }
    switch(param_2 & 0xf) {
    case 0:
      bVar4 = *pbVar7;
      uVar12 = (ulong)(bVar4 & 0x7f);
      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {
        bVar4 = *pbVar7;
        bVar13 = bVar13 + 7;
        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);
      }
      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);
      break;
    case 1:
      printf("\t%s:mem_stack_v(t=%lu)\n","P7");
      break;
    case 2:
      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);
      break;
    case 3:
      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);
      break;
    case 4:
      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);
      break;
    case 5:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);
      break;
    case 6:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);
      break;
    case 7:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);
      break;
    case 8:
      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);
      break;
    case 9:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);
      break;
    case 10:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);
      break;
    case 0xb:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);
      break;
    case 0xc:
      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);
      break;
    case 0xd:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);
      break;
    case 0xe:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);
      break;
    case 0xf:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);
    }
  }
  else {
    param_2 = param_2 & 0xf;
    switch(param_2) {
    case 0:
      bVar13 = param_1[1];
      uVar5 = (ulong)(bVar13 & 0x7f);
      pbVar7 = param_1 + 2;
      while ((char)bVar13 < '\0') {
        bVar13 = *pbVar7;
        param_2 = param_2 + 7;
        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);
        pbVar7 = pbVar7 + 1;
      }
      switch(*param_1) {
      default:
        printf("Unknown code 0x%02x\n",(ulong)*param_1);
        break;
      case 1:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);
        break;
      case 2:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);
        break;
      case 3:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);
        break;
      case 4:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);
        break;
      case 5:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);
        break;
      case 6:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);
        break;
      case 7:
        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);
        break;
      case 8:
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);
        break;
      case 9:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);
        break;
      case 10:
        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);
        break;
      case 0xb:
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);
        break;
      case 0xc:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);
        break;
      case 0xd:
        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);
        break;
      case 0xe:
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);
        break;
      case 0xf:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);
        break;
      case 0x10:
        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");
        break;
      case 0x11:
        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);
        break;
      case 0x12:
        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);
        break;
      case 0x13:
        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");
      }
      break;
    case 1:
      pbVar7 = param_1 + 2;
      bVar13 = param_1[1];
      cVar3 = '4';
      bVar2 = false;
      uVar9 = *param_1 & 0xf;
      do {
        if ((uVar9 & 1) != 0) {
          puVar10 = pcVar11;
          if (bVar2) {
            *pcVar11 = 0x2c;
            puVar10 = pcVar11 + 1;
          }
          *puVar10 = 0x72;
          bVar2 = true;
          pcVar11 = puVar10 + 2;
          puVar10[1] = cVar3;
        }
        cVar3 = cVar3 + '\x01';
        uVar9 = uVar9 >> 1;
      } while (cVar3 != '8');
      *pcVar11 = 0;
      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));
      break;
    default:
      printf("Unknown code 0x%02x\n");
      pbVar7 = param_1;
      break;
    case 9:
      pbVar7 = (byte *)FUN_0013bb60();
      break;
    case 10:
      pbVar7 = (byte *)FUN_0013c270();
      break;
    case 0xb:
      pbVar7 = (byte *)FUN_0013bc60();
      break;
    case 0xc:
      pbVar7 = (byte *)FUN_0013c360();
      break;
    case 0xf:
      bVar13 = param_1[1];
      if (*param_1 < 3) {
        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];
      }
      else {
        sprintf(local_38,"0x%x");
      }
      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);
      pbVar7 = param_1 + 2;
    }
  }
  return pbVar7;
}


PUSH R12
MOV R8D,ESI
PUSH RBP
MOV RBP,RDI
PUSH RBX
SUB RSP,0x20
AND R8D,0x10
JNZ 0x0013c640
MOVZX EAX,byte ptr [RDI]
AND ESI,0xf
LEA RBX,[RDI + 0x1]
MOV RDX,RAX
AND EDX,0x7f
TEST AL,AL
JNS 0x0013c62c
XOR ECX,ECX
NOP word ptr [RAX + RAX*0x1]
ADD RBX,0x1
MOVZX EDI,byte ptr [RBX + -0x1]
ADD ECX,0x7
MOV RAX,RDI
AND EAX,0x7f
SHL RAX,CL
OR RDX,RAX
TEST DIL,DIL
JS 0x0013c610
LEA RCX,[0x17cdb4]
MOVZX ESI,SIL
MOVSXD RAX,dword ptr [RCX + RSI*0x4]
ADD RAX,RCX
JMP RAX
MOV ECX,ESI
LEA RDX,[0x17cdf4]
AND ECX,0xf
MOV EAX,ECX
MOVSXD RAX,dword ptr [RDX + RAX*0x4]
ADD RAX,RDX
JMP RAX
MOVZX EDX,byte ptr [RDI]
LEA RBX,[RDI + 0x2]
MOVZX EBP,byte ptr [RDI + 0x1]
CMP DL,0x2
JA 0x0013c9de
MOVSXD RDX,EDX
LEA RAX,[0x18e820]
MOV RDX,qword ptr [RAX + RDX*0x8]
MOVZX ECX,BPL
LEA RSI,[0x161a1f]
LEA RDI,[0x17cd60]
XOR EAX,EAX
CALL 0x00107190
JMP 0x0013c768
MOVZX EAX,byte ptr [RBP + 0x1]
MOVZX EDI,byte ptr [RDI]
LEA RBX,[RBP + 0x2]
MOV RDX,RAX
AND EDX,0x7f
TEST AL,AL
JNS 0x0013c6d4
NOP dword ptr [RAX]
ADD RBX,0x1
MOVZX ESI,byte ptr [RBX + -0x1]
ADD ECX,0x7
MOV RAX,RSI
AND EAX,0x7f
SHL RAX,CL
OR RDX,RAX
TEST SIL,SIL
JS 0x0013c6b8
CMP DIL,0x13
JA 0x0013cd1c
LEA RCX,[0x17ce34]
MOVZX EAX,DIL
MOVSXD RAX,dword ptr [RCX + RAX*0x4]
ADD RAX,RCX
JMP RAX
MOVZX ESI,byte ptr [RDI]
MOV RDX,RSP
LEA RBX,[RDI + 0x2]
MOVZX ECX,byte ptr [RDI + 0x1]
MOV EAX,0x34
MOV RDI,RDX
XOR R8D,R8D
AND ESI,0xf
TEST SIL,0x1
JZ 0x0013c736
TEST R8D,R8D
JZ 0x0013c726
MOV byte ptr [RDI],0x2c
ADD RDI,0x1
MOV byte ptr [RDI],0x72
MOV R8D,0x1
ADD RDI,0x2
MOV byte ptr [RDI + -0x1],AL
ADD EAX,0x1
SHR ESI,0x1
CMP AL,0x38
JNZ 0x0013c714
MOV byte ptr [RDI],0x0
AND ECX,0x7f
LEA RSI,[0x17c9c3]
XOR EAX,EAX
LEA RDI,[0x17c9c6]
CALL 0x00107190
JMP 0x0013c768
CALL 0x0013bb60
MOV RBX,RAX
ADD RSP,0x20
MOV RAX,RBX
POP RBX
POP RBP
POP R12
RET
CALL 0x0013bc60
MOV RBX,RAX
JMP 0x0013c768
CALL 0x0013c360
MOV RBX,RAX
JMP 0x0013c768
CALL 0x0013c270
MOV RBX,RAX
JMP 0x0013c768
LEA RDI,[0x17c8ee]
XOR EAX,EAX
MOV RBX,RBP
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RDI,[0x17c943]
XOR EAX,EAX
CALL 0x00107190
JMP 0x0013c768
SHL RDX,0x2
LEA RSI,[0x15e7c7]
LEA RDI,[0x17ccc8]
XOR EAX,EAX
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17c8a9]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15e7c7]
LEA RDX,[0x18241d]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x18241d]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15e7c7]
LEA RDX,[0x17ca29]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca29]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15e7c7]
LEA RDX,[0x1641a6]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x1641a6]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15e7c7]
LEA RDX,[0x17ca30]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca30]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15e7c7]
LEA RDX,[0x17ca19]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca19]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15e7c7]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca21]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15e7c7]
LEA RDX,[0x17ca21]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
MOV R12,RSP
LEA RSI,[0x164780]
XOR EAX,EAX
MOV RDI,R12
CALL 0x001073c0
MOV RDX,R12
JMP 0x0013c682
MOVZX EAX,byte ptr [RBX]
LEA RBP,[RBX + 0x1]
MOV RDI,RAX
AND EDI,0x7f
TEST AL,AL
JNS 0x0013ca30
NOP dword ptr [RAX + RAX*0x1]
ADD RBP,0x1
MOVZX ESI,byte ptr [RBP + -0x1]
ADD R8D,0x7
MOV ECX,R8D
MOV RAX,RSI
AND EAX,0x7f
SHL RAX,CL
OR RDI,RAX
TEST SIL,SIL
JS 0x0013ca10
SHL RDI,0x4
LEA RSI,[0x15e7c7]
XOR EAX,EAX
MOV RBX,RBP
MOV RCX,RDI
LEA RDI,[0x17cca0]
CALL 0x00107190
JMP 0x0013c768
SHL RDX,0x2
LEA RSI,[0x15b534]
LEA RDI,[0x17cd40]
XOR EAX,EAX
CALL 0x00107190
JMP 0x0013c768
SHL RDX,0x2
LEA RSI,[0x15b534]
LEA RDI,[0x17cd18]
XOR EAX,EAX
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RDI,[0x17c98a]
XOR EAX,EAX
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca11]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RDI,[0x17c9a6]
XOR EAX,EAX
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca29]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x18241d]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca21]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca19]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca30]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x1641a6]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca11]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15b534]
LEA RDX,[0x17ca11]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca05]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17ca05]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15b534]
LEA RDX,[0x17ca05]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17c9fe]
LEA RDI,[0x17c95b]
CALL 0x00107190
JMP 0x0013c768
LEA RSI,[0x15b534]
LEA RCX,[RDX*0x4]
XOR EAX,EAX
LEA RDX,[0x17c9fe]
LEA RDI,[0x17ccf0]
CALL 0x00107190
JMP 0x0013c768
MOV RCX,RDX
LEA RSI,[0x15b534]
LEA RDX,[0x17c9fe]
XOR EAX,EAX
LEA RDI,[0x17c976]
CALL 0x00107190
JMP 0x0013c768
MOVZX ESI,DIL
XOR EAX,EAX
LEA RDI,[0x17c8ee]
CALL 0x00107190
JMP 0x0013c768
(translation_unit "byte * FUN_0013c5e0(byte *param_1,byte param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}\n\n" (function_definition "byte * FUN_0013c5e0(byte *param_1,byte param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}" type_identifier (pointer_declarator "* FUN_0013c5e0(byte *param_1,byte param_2)" * (function_declarator "FUN_0013c5e0(byte *param_1,byte param_2)" identifier (parameter_list "(byte *param_1,byte param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte param_2" type_identifier identifier) )))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "char local_38 [32];" primitive_type (array_declarator "local_38 [32]" identifier [ number_literal ]) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (expression_statement "pcVar11 = local_38;" (assignment_expression "pcVar11 = local_38" identifier = identifier) ;) (expression_statement "pcVar6 = local_38;" (assignment_expression "pcVar6 = local_38" identifier = identifier) ;) (expression_statement "bVar13 = param_2 & 0x10;" (assignment_expression "bVar13 = param_2 & 0x10" identifier = (binary_expression "param_2 & 0x10" identifier & number_literal)) ;) (if_statement "if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" if (parenthesized_expression "((param_2 & 0x10) == 0)" ( (binary_expression "(param_2 & 0x10) == 0" (parenthesized_expression "(param_2 & 0x10)" ( (binary_expression "param_2 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }" { (expression_statement "pbVar7 = param_1 + 1;" (assignment_expression "pbVar7 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = (ulong)(*param_1 & 0x7f);" (assignment_expression "uVar5 = (ulong)(*param_1 & 0x7f)" identifier = (call_expression "(ulong)(*param_1 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*param_1 & 0x7f)" ( (binary_expression "*param_1 & 0x7f" (pointer_expression "*param_1" * identifier) & number_literal) )))) ;) (if_statement "if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }" if (parenthesized_expression "((char)*param_1 < '\0')" ( (binary_expression "(char)*param_1 < '\0'" (cast_expression "(char)*param_1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_1" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }" { (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) (do_statement "do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');" do (compound_statement "{\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      }" { (expression_statement "pbVar7 = pbVar8 + 1;" (assignment_expression "pbVar7 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "bVar4 = bVar4 + 7;" (assignment_expression "bVar4 = bVar4 + 7" identifier = (binary_expression "bVar4 + 7" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);" (assignment_expression "uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier = (binary_expression "uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier | (binary_expression "(ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" (call_expression "(ulong)(bVar1 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(bVar4 & 0x3f)" ( (binary_expression "bVar4 & 0x3f" identifier & number_literal) ))))) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) }) while (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (switch_statement "switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }" switch (parenthesized_expression "(param_2 & 0xf)" ( (binary_expression "param_2 & 0xf" identifier & number_literal) )) (compound_statement "{\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }" { (case_statement "case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;" case number_literal : (expression_statement "bVar4 = *pbVar7;" (assignment_expression "bVar4 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "uVar12 = (ulong)(bVar4 & 0x7f);" (assignment_expression "uVar12 = (ulong)(bVar4 & 0x7f)" identifier = (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar4 & 0x7f)" ( (binary_expression "bVar4 & 0x7f" identifier & number_literal) )))) ;) (while_statement "while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }" while (parenthesized_expression "(pbVar7 = pbVar7 + 1, (char)bVar4 < '\0')" ( (comma_expression "pbVar7 = pbVar7 + 1, (char)bVar4 < '\0'" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) , (binary_expression "(char)bVar4 < '\0'" (cast_expression "(char)bVar4" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }" { (expression_statement "bVar4 = *pbVar7;" (assignment_expression "bVar4 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "bVar13 = bVar13 + 7;" (assignment_expression "bVar13 = bVar13 + 7" identifier = (binary_expression "bVar13 + 7" identifier + number_literal)) ;) (expression_statement "uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);" (assignment_expression "uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" identifier = (binary_expression "uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" identifier | (binary_expression "(ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar4 & 0x7f)" ( (binary_expression "bVar4 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(bVar13 & 0x3f)" ( (binary_expression "bVar13 & 0x3f" identifier & number_literal) ))))) ;) })) (expression_statement "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);" (call_expression "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4)" identifier (argument_list "("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4)" ( (string_literal ""\t%s:mem_stack_f(t=%lu,size=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , identifier , (binary_expression "uVar12 << 4" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;" case number_literal : (expression_statement "printf("\t%s:mem_stack_v(t=%lu)\n","P7");" (call_expression "printf("\t%s:mem_stack_v(t=%lu)\n","P7")" identifier (argument_list "("\t%s:mem_stack_v(t=%lu)\n","P7")" ( (string_literal ""\t%s:mem_stack_v(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;" case number_literal : (expression_statement "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);" (call_expression "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2)" identifier (argument_list "("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2)" ( (string_literal ""\t%s:spill_base(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (binary_expression "uVar5 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017c8a9" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""rp"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""rp"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""pr"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""pr"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""unat"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""unat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;)) })) }) (else_clause "else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" else (compound_statement "{\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" { (expression_statement "param_2 = param_2 & 0xf;" (assignment_expression "param_2 = param_2 & 0xf" identifier = (binary_expression "param_2 & 0xf" identifier & number_literal)) ;) (switch_statement "switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }" switch (parenthesized_expression "(param_2)" ( identifier )) (compound_statement "{\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }" { (case_statement "case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;" case number_literal : (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = (ulong)(bVar13 & 0x7f);" (assignment_expression "uVar5 = (ulong)(bVar13 & 0x7f)" identifier = (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar13 & 0x7f)" ( (binary_expression "bVar13 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (while_statement "while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }" while (parenthesized_expression "((char)bVar13 < '\0')" ( (binary_expression "(char)bVar13 < '\0'" (cast_expression "(char)bVar13" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }" { (expression_statement "bVar13 = *pbVar7;" (assignment_expression "bVar13 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "param_2 = param_2 + 7;" (assignment_expression "param_2 = param_2 + 7" identifier = (binary_expression "param_2 + 7" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);" (assignment_expression "uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" identifier = (binary_expression "uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" identifier | (binary_expression "(ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar13 & 0x7f)" ( (binary_expression "bVar13 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(param_2 & 0x3f)" ( (binary_expression "param_2 & 0x3f" identifier & number_literal) ))))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) })) (switch_statement "switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" switch (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (compound_statement "{\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" { (case_statement "default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;" default : (expression_statement "printf("Unknown code 0x%02x\n",(ulong)*param_1);" (call_expression "printf("Unknown code 0x%02x\n",(ulong)*param_1)" identifier (argument_list "("Unknown code 0x%02x\n",(ulong)*param_1)" ( (string_literal ""Unknown code 0x%02x\n"" " string_content escape_sequence ") , (binary_expression "(ulong)*param_1" (parenthesized_expression "(ulong)" ( identifier )) * identifier) ))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rp"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""pr"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""unat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;" case number_literal : (expression_statement "printf("\t%s:priunat_when_gr(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_gr(t=%lu)\n","P8")" identifier (argument_list "("\t%s:priunat_when_gr(t=%lu)\n","P8")" ( (string_literal ""\t%s:priunat_when_gr(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;" case number_literal : (expression_statement "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);" (call_expression "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2)" identifier (argument_list "("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2)" ( (string_literal ""\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (binary_expression "uVar5 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;" case number_literal : (expression_statement "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);" (call_expression "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2)" identifier (argument_list "("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2)" ( (string_literal ""\t%s:priunat_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (binary_expression "uVar5 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" case number_literal : (expression_statement "printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_mem(t=%lu)\n","P8")" identifier (argument_list "("\t%s:priunat_when_mem(t=%lu)\n","P8")" ( (string_literal ""\t%s:priunat_when_mem(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") ))) ;)) })) (break_statement "break;" break ;)) (case_statement "case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;" case number_literal : (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "cVar3 = '4';" (assignment_expression "cVar3 = '4'" identifier = (char_literal "'4'" ' character ')) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uVar9 = *param_1 & 0xf;" (assignment_expression "uVar9 = *param_1 & 0xf" identifier = (binary_expression "*param_1 & 0xf" (pointer_expression "*param_1" * identifier) & number_literal)) ;) (do_statement "do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');" do (compound_statement "{\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      }" { (if_statement "if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" if (parenthesized_expression "((uVar9 & 1) != 0)" ( (binary_expression "(uVar9 & 1) != 0" (parenthesized_expression "(uVar9 & 1)" ( (binary_expression "uVar9 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" { (expression_statement "puVar10 = pcVar11;" (assignment_expression "puVar10 = pcVar11" identifier = identifier) ;) (if_statement "if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" { (expression_statement "*pcVar11 = 0x2c;" (assignment_expression "*pcVar11 = 0x2c" (pointer_expression "*pcVar11" * identifier) = number_literal) ;) (expression_statement "puVar10 = pcVar11 + 1;" (assignment_expression "puVar10 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) })) (expression_statement "*puVar10 = 0x72;" (assignment_expression "*puVar10 = 0x72" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "pcVar11 = puVar10 + 2;" (assignment_expression "pcVar11 = puVar10 + 2" identifier = (binary_expression "puVar10 + 2" identifier + number_literal)) ;) (expression_statement "puVar10[1] = cVar3;" (assignment_expression "puVar10[1] = cVar3" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "cVar3 = cVar3 + '\x01';" (assignment_expression "cVar3 = cVar3 + '\x01'" identifier = (binary_expression "cVar3 + '\x01'" identifier + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "uVar9 = uVar9 >> 1;" (assignment_expression "uVar9 = uVar9 >> 1" identifier = (binary_expression "uVar9 >> 1" identifier >> number_literal)) ;) }) while (parenthesized_expression "(cVar3 != '8')" ( (binary_expression "cVar3 != '8'" identifier != (char_literal "'8'" ' character ')) )) ;) (expression_statement "*pcVar11 = 0;" (assignment_expression "*pcVar11 = 0" (pointer_expression "*pcVar11" * identifier) = number_literal) ;) (expression_statement "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));" (call_expression "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f))" identifier (argument_list "("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f))" ( (string_literal ""\t%s:gr_gr(grmask=[%s],r%u)\n"" " escape_sequence string_content escape_sequence ") , (pointer_expression "&DAT_0017c9c3" & identifier) , identifier , (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar13 & 0x7f)" ( (binary_expression "bVar13 & 0x7f" identifier & number_literal) ))) ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;" default : (expression_statement "printf("Unknown code 0x%02x\n");" (call_expression "printf("Unknown code 0x%02x\n")" identifier (argument_list "("Unknown code 0x%02x\n")" ( (string_literal ""Unknown code 0x%02x\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013bb60();" (assignment_expression "pbVar7 = (byte *)FUN_0013bb60()" identifier = (cast_expression "(byte *)FUN_0013bb60()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013bb60()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013c270();" (assignment_expression "pbVar7 = (byte *)FUN_0013c270()" identifier = (cast_expression "(byte *)FUN_0013c270()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013c270()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013bc60();" (assignment_expression "pbVar7 = (byte *)FUN_0013bc60()" identifier = (cast_expression "(byte *)FUN_0013bc60()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013bc60()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013c360();" (assignment_expression "pbVar7 = (byte *)FUN_0013c360()" identifier = (cast_expression "(byte *)FUN_0013c360()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013c360()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;" case number_literal : (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }" if (parenthesized_expression "(*param_1 < 3)" ( (binary_expression "*param_1 < 3" (pointer_expression "*param_1" * identifier) < number_literal) )) (compound_statement "{\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }" { (expression_statement "pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];" (assignment_expression "pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1]" identifier = (subscript_expression "(&PTR_s__svr4_0018e820)[(int)(uint)*param_1]" (parenthesized_expression "(&PTR_s__svr4_0018e820)" ( (pointer_expression "&PTR_s__svr4_0018e820" & identifier) )) [ (binary_expression "(int)(uint)*param_1" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) ])) ;) }) (else_clause "else {\n        sprintf(local_38,"0x%x");\n      }" else (compound_statement "{\n        sprintf(local_38,"0x%x");\n      }" { (expression_statement "sprintf(local_38,"0x%x");" (call_expression "sprintf(local_38,"0x%x")" identifier (argument_list "(local_38,"0x%x")" ( identifier , (string_literal ""0x%x"" " string_content ") ))) ;) }))) (expression_statement "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);" (call_expression "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13)" identifier (argument_list "("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13)" ( (string_literal ""\t%s:unwabi(abi=%s,context=0x%02x)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P10"" " string_content ") , identifier , (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;)) })) }))) (return_statement "return pbVar7;" return identifier ;) })))
(translation_unit "uchar * unw_decode_p7_p10(uchar *dp,uint code,void *arg,uchar *end)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  ulong uVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  char grstr [20];\n  \n  pcVar11 = grstr;\n  pcVar7 = grstr;\n  if ((code & 0x10) == 0) {\n    pbVar8 = dp + 1;\n    uVar6 = (ulong)(*dp & 0x7f);\n    if ((char)*dp < '\0') {\n      bVar4 = 0;\n      pbVar9 = pbVar8;\n      do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(code & 0xf) {\n    case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);\n    }\n  }\n  else {\n    uVar5 = code & 0xf;\n    switch(uVar5) {\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }\n  }\n  return pbVar8;\n}\n\n" (function_definition "uchar * unw_decode_p7_p10(uchar *dp,uint code,void *arg,uchar *end)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  ulong uVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  char grstr [20];\n  \n  pcVar11 = grstr;\n  pcVar7 = grstr;\n  if ((code & 0x10) == 0) {\n    pbVar8 = dp + 1;\n    uVar6 = (ulong)(*dp & 0x7f);\n    if ((char)*dp < '\0') {\n      bVar4 = 0;\n      pbVar9 = pbVar8;\n      do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(code & 0xf) {\n    case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);\n    }\n  }\n  else {\n    uVar5 = code & 0xf;\n    switch(uVar5) {\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }\n  }\n  return pbVar8;\n}" type_identifier (pointer_declarator "* unw_decode_p7_p10(uchar *dp,uint code,void *arg,uchar *end)" * (function_declarator "unw_decode_p7_p10(uchar *dp,uint code,void *arg,uchar *end)" identifier (parameter_list "(uchar *dp,uint code,void *arg,uchar *end)" ( (parameter_declaration "uchar *dp" type_identifier (pointer_declarator "*dp" * identifier)) , (parameter_declaration "uint code" type_identifier identifier) , (parameter_declaration "void *arg" primitive_type (pointer_declarator "*arg" * identifier)) , (parameter_declaration "uchar *end" type_identifier (pointer_declarator "*end" * identifier)) )))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  uint uVar5;\n  ulong uVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  char grstr [20];\n  \n  pcVar11 = grstr;\n  pcVar7 = grstr;\n  if ((code & 0x10) == 0) {\n    pbVar8 = dp + 1;\n    uVar6 = (ulong)(*dp & 0x7f);\n    if ((char)*dp < '\0') {\n      bVar4 = 0;\n      pbVar9 = pbVar8;\n      do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(code & 0xf) {\n    case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);\n    }\n  }\n  else {\n    uVar5 = code & 0xf;\n    switch(uVar5) {\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }\n  }\n  return pbVar8;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "char grstr [20];" primitive_type (array_declarator "grstr [20]" identifier [ number_literal ]) ;) (expression_statement "pcVar11 = grstr;" (assignment_expression "pcVar11 = grstr" identifier = identifier) ;) (expression_statement "pcVar7 = grstr;" (assignment_expression "pcVar7 = grstr" identifier = identifier) ;) (if_statement "if ((code & 0x10) == 0) {\n    pbVar8 = dp + 1;\n    uVar6 = (ulong)(*dp & 0x7f);\n    if ((char)*dp < '\0') {\n      bVar4 = 0;\n      pbVar9 = pbVar8;\n      do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(code & 0xf) {\n    case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);\n    }\n  }\n  else {\n    uVar5 = code & 0xf;\n    switch(uVar5) {\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }\n  }" if (parenthesized_expression "((code & 0x10) == 0)" ( (binary_expression "(code & 0x10) == 0" (parenthesized_expression "(code & 0x10)" ( (binary_expression "code & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    pbVar8 = dp + 1;\n    uVar6 = (ulong)(*dp & 0x7f);\n    if ((char)*dp < '\0') {\n      bVar4 = 0;\n      pbVar9 = pbVar8;\n      do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(code & 0xf) {\n    case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);\n    }\n  }" { (expression_statement "pbVar8 = dp + 1;" (assignment_expression "pbVar8 = dp + 1" identifier = (binary_expression "dp + 1" identifier + number_literal)) ;) (expression_statement "uVar6 = (ulong)(*dp & 0x7f);" (assignment_expression "uVar6 = (ulong)(*dp & 0x7f)" identifier = (call_expression "(ulong)(*dp & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*dp & 0x7f)" ( (binary_expression "*dp & 0x7f" (pointer_expression "*dp" * identifier) & number_literal) )))) ;) (if_statement "if ((char)*dp < '\0') {\n      bVar4 = 0;\n      pbVar9 = pbVar8;\n      do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');\n    }" if (parenthesized_expression "((char)*dp < '\0')" ( (binary_expression "(char)*dp < '\0'" (cast_expression "(char)*dp" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*dp" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar4 = 0;\n      pbVar9 = pbVar8;\n      do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');\n    }" { (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "pbVar9 = pbVar8;" (assignment_expression "pbVar9 = pbVar8" identifier = identifier) ;) (do_statement "do {\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      } while ((char)bVar1 < '\0');" do (compound_statement "{\n        pbVar8 = pbVar9 + 1;\n        bVar1 = *pbVar9;\n        bVar4 = bVar4 + 7;\n        uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar9 = pbVar8;\n      }" { (expression_statement "pbVar8 = pbVar9 + 1;" (assignment_expression "pbVar8 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar9;" (assignment_expression "bVar1 = *pbVar9" identifier = (pointer_expression "*pbVar9" * identifier)) ;) (expression_statement "bVar4 = bVar4 + 7;" (assignment_expression "bVar4 = bVar4 + 7" identifier = (binary_expression "bVar4 + 7" identifier + number_literal)) ;) (expression_statement "uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);" (assignment_expression "uVar6 = uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier = (binary_expression "uVar6 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier | (binary_expression "(ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" (call_expression "(ulong)(bVar1 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(bVar4 & 0x3f)" ( (binary_expression "bVar4 & 0x3f" identifier & number_literal) ))))) ;) (expression_statement "pbVar9 = pbVar8;" (assignment_expression "pbVar9 = pbVar8" identifier = identifier) ;) }) while (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (switch_statement "switch(code & 0xf) {\n    case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);\n    }" switch (parenthesized_expression "(code & 0xf)" ( (binary_expression "code & 0xf" identifier & number_literal) )) (compound_statement "{\n    case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);\n    }" { (case_statement "case 0:\n      pbVar9 = pbVar8 + 1;\n      uVar12 = (ulong)(*pbVar8 & 0x7f);\n      if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);\n      pbVar8 = pbVar9;\n      break;" case number_literal : (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "uVar12 = (ulong)(*pbVar8 & 0x7f);" (assignment_expression "uVar12 = (ulong)(*pbVar8 & 0x7f)" identifier = (call_expression "(ulong)(*pbVar8 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*pbVar8 & 0x7f)" ( (binary_expression "*pbVar8 & 0x7f" (pointer_expression "*pbVar8" * identifier) & number_literal) )))) ;) (if_statement "if ((char)*pbVar8 < '\0') {\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }" if (parenthesized_expression "((char)*pbVar8 < '\0')" ( (binary_expression "(char)*pbVar8 < '\0'" (cast_expression "(char)*pbVar8" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar8" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        bVar4 = 0;\n        pbVar8 = pbVar9;\n        do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');\n      }" { (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" identifier = identifier) ;) (do_statement "do {\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        } while ((char)bVar1 < '\0');" do (compound_statement "{\n          pbVar9 = pbVar8 + 1;\n          bVar1 = *pbVar8;\n          bVar4 = bVar4 + 7;\n          uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n          pbVar8 = pbVar9;\n        }" { (expression_statement "pbVar9 = pbVar8 + 1;" (assignment_expression "pbVar9 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "bVar4 = bVar4 + 7;" (assignment_expression "bVar4 = bVar4 + 7" identifier = (binary_expression "bVar4 + 7" identifier + number_literal)) ;) (expression_statement "uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);" (assignment_expression "uVar12 = uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier = (binary_expression "uVar12 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier | (binary_expression "(ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" (call_expression "(ulong)(bVar1 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(bVar4 & 0x3f)" ( (binary_expression "bVar4 & 0x3f" identifier & number_literal) ))))) ;) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" identifier = identifier) ;) }) while (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (expression_statement "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4);" (call_expression "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4)" identifier (argument_list "("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar6,uVar12 << 4)" ( (string_literal ""\t%s:mem_stack_f(t=%lu,size=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , identifier , (binary_expression "uVar12 << 4" identifier << number_literal) ))) ;) (expression_statement "pbVar8 = pbVar9;" (assignment_expression "pbVar8 = pbVar9" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;" case number_literal : (expression_statement "printf("\t%s:mem_stack_v(t=%lu)\n","P7");" (call_expression "printf("\t%s:mem_stack_v(t=%lu)\n","P7")" identifier (argument_list "("\t%s:mem_stack_v(t=%lu)\n","P7")" ( (string_literal ""\t%s:mem_stack_v(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);\n      break;" case number_literal : (expression_statement "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2);" (call_expression "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2)" identifier (argument_list "("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar6 << 2)" ( (string_literal ""\t%s:spill_base(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (binary_expression "uVar6 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017c8a9" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","rp",uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""rp"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""rp"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","pr",uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""pr"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""pr"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","unat",uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""unat"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""unat"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;)) })) }) (else_clause "else {\n    uVar5 = code & 0xf;\n    switch(uVar5) {\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }\n  }" else (compound_statement "{\n    uVar5 = code & 0xf;\n    switch(uVar5) {\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }\n  }" { (expression_statement "uVar5 = code & 0xf;" (assignment_expression "uVar5 = code & 0xf" identifier = (binary_expression "code & 0xf" identifier & number_literal)) ;) (switch_statement "switch(uVar5) {\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }" switch (parenthesized_expression "(uVar5)" ( identifier )) (compound_statement "{\n    case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;\n    case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;\n    case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;\n    }" { (case_statement "case 0:\n      bVar4 = dp[1];\n      uVar6 = (ulong)(bVar4 & 0x7f);\n      pbVar8 = dp + 2;\n      while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }\n      switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;" case number_literal : (expression_statement "bVar4 = dp[1];" (assignment_expression "bVar4 = dp[1]" identifier = (subscript_expression "dp[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = (ulong)(bVar4 & 0x7f);" (assignment_expression "uVar6 = (ulong)(bVar4 & 0x7f)" identifier = (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar4 & 0x7f)" ( (binary_expression "bVar4 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pbVar8 = dp + 2;" (assignment_expression "pbVar8 = dp + 2" identifier = (binary_expression "dp + 2" identifier + number_literal)) ;) (while_statement "while ((char)bVar4 < '\0') {\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }" while (parenthesized_expression "((char)bVar4 < '\0')" ( (binary_expression "(char)bVar4 < '\0'" (cast_expression "(char)bVar4" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        bVar4 = *pbVar8;\n        uVar5 = uVar5 + 7;\n        uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);\n        pbVar8 = pbVar8 + 1;\n      }" { (expression_statement "bVar4 = *pbVar8;" (assignment_expression "bVar4 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "uVar5 = uVar5 + 7;" (assignment_expression "uVar5 = uVar5 + 7" identifier = (binary_expression "uVar5 + 7" identifier + number_literal)) ;) (expression_statement "uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f);" (assignment_expression "uVar6 = uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f)" identifier = (binary_expression "uVar6 | (ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f)" identifier | (binary_expression "(ulong)(bVar4 & 0x7f) << ((byte)uVar5 & 0x3f)" (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar4 & 0x7f)" ( (binary_expression "bVar4 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "((byte)uVar5 & 0x3f)" ( (binary_expression "(byte)uVar5 & 0x3f" (cast_expression "(byte)uVar5" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))))) ;) (expression_statement "pbVar8 = pbVar8 + 1;" (assignment_expression "pbVar8 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) })) (switch_statement "switch(*dp) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" switch (parenthesized_expression "(*dp)" ( (pointer_expression "*dp" * identifier) )) (compound_statement "{\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;\n      case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;\n      case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;\n      case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;\n      case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;\n      case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;\n      case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;\n      case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;\n      case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;\n      case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;\n      case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;\n      case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;\n      case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;\n      case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;\n      case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" { (case_statement "default:\n        printf("Unknown code 0x%02x\n",(ulong)*dp);\n        break;" default : (expression_statement "printf("Unknown code 0x%02x\n",(ulong)*dp);" (call_expression "printf("Unknown code 0x%02x\n",(ulong)*dp)" identifier (argument_list "("Unknown code 0x%02x\n",(ulong)*dp)" ( (string_literal ""Unknown code 0x%02x\n"" " string_content escape_sequence ") , (binary_expression "(ulong)*dp" (parenthesized_expression "(ulong)" ( identifier )) * identifier) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x01':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);\n        break;" case (char_literal "'\x01'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rp"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x02':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);\n        break;" case (char_literal "'\x02'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x03':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);\n        break;" case (char_literal "'\x03'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""pr"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x04':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);\n        break;" case (char_literal "'\x04'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x05':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);\n        break;" case (char_literal "'\x05'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""unat"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x06':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);\n        break;" case (char_literal "'\x06'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\a':\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);\n        break;" case (char_literal "'\a'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case '\b':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;" case (char_literal "'\b'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\t':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);\n        break;" case (char_literal "'\t'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\n':\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);\n        break;" case (char_literal "'\n'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case '\v':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;" case (char_literal "'\v'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);\n        break;" case (char_literal "'\f'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\r':\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);\n        break;" case (char_literal "'\r'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar6)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x0e':\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;" case (char_literal "'\x0e'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar6 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x0f':\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);\n        break;" case (char_literal "'\x0f'" ' escape_sequence ') : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar6 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , (binary_expression "uVar6 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x10':\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;" case (char_literal "'\x10'" ' escape_sequence ') : (expression_statement "printf("\t%s:priunat_when_gr(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_gr(t=%lu)\n","P8")" identifier (argument_list "("\t%s:priunat_when_gr(t=%lu)\n","P8")" ( (string_literal ""\t%s:priunat_when_gr(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x11':\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);\n        break;" case (char_literal "'\x11'" ' escape_sequence ') : (expression_statement "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2);" (call_expression "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2)" identifier (argument_list "("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar6 << 2)" ( (string_literal ""\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (binary_expression "uVar6 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x12':\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);\n        break;" case (char_literal "'\x12'" ' escape_sequence ') : (expression_statement "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2);" (call_expression "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2)" identifier (argument_list "("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar6 << 2)" ( (string_literal ""\t%s:priunat_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (binary_expression "uVar6 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case '\x13':\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" case (char_literal "'\x13'" ' escape_sequence ') : (expression_statement "printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_mem(t=%lu)\n","P8")" identifier (argument_list "("\t%s:priunat_when_mem(t=%lu)\n","P8")" ( (string_literal ""\t%s:priunat_when_mem(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") ))) ;)) })) (break_statement "break;" break ;)) (case_statement "case 1:\n      pbVar8 = dp + 2;\n      bVar4 = dp[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar5 = *dp & 0xf;\n      do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));\n      break;" case number_literal : (expression_statement "pbVar8 = dp + 2;" (assignment_expression "pbVar8 = dp + 2" identifier = (binary_expression "dp + 2" identifier + number_literal)) ;) (expression_statement "bVar4 = dp[1];" (assignment_expression "bVar4 = dp[1]" identifier = (subscript_expression "dp[1]" identifier [ number_literal ])) ;) (expression_statement "cVar3 = '4';" (assignment_expression "cVar3 = '4'" identifier = (char_literal "'4'" ' character ')) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uVar5 = *dp & 0xf;" (assignment_expression "uVar5 = *dp & 0xf" identifier = (binary_expression "*dp & 0xf" (pointer_expression "*dp" * identifier) & number_literal)) ;) (do_statement "do {\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      } while (cVar3 != '8');" do (compound_statement "{\n        if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar5 = uVar5 >> 1;\n      }" { (if_statement "if ((uVar5 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" if (parenthesized_expression "((uVar5 & 1) != 0)" ( (binary_expression "(uVar5 & 1) != 0" (parenthesized_expression "(uVar5 & 1)" ( (binary_expression "uVar5 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" { (expression_statement "puVar10 = pcVar11;" (assignment_expression "puVar10 = pcVar11" identifier = identifier) ;) (if_statement "if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" { (expression_statement "*pcVar11 = 0x2c;" (assignment_expression "*pcVar11 = 0x2c" (pointer_expression "*pcVar11" * identifier) = number_literal) ;) (expression_statement "puVar10 = pcVar11 + 1;" (assignment_expression "puVar10 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) })) (expression_statement "*puVar10 = 0x72;" (assignment_expression "*puVar10 = 0x72" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "pcVar11 = puVar10 + 2;" (assignment_expression "pcVar11 = puVar10 + 2" identifier = (binary_expression "puVar10 + 2" identifier + number_literal)) ;) (expression_statement "puVar10[1] = cVar3;" (assignment_expression "puVar10[1] = cVar3" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "cVar3 = cVar3 + '\x01';" (assignment_expression "cVar3 = cVar3 + '\x01'" identifier = (binary_expression "cVar3 + '\x01'" identifier + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "uVar5 = uVar5 >> 1;" (assignment_expression "uVar5 = uVar5 >> 1" identifier = (binary_expression "uVar5 >> 1" identifier >> number_literal)) ;) }) while (parenthesized_expression "(cVar3 != '8')" ( (binary_expression "cVar3 != '8'" identifier != (char_literal "'8'" ' character ')) )) ;) (expression_statement "*pcVar11 = 0;" (assignment_expression "*pcVar11 = 0" (pointer_expression "*pcVar11" * identifier) = number_literal) ;) (expression_statement "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f));" (call_expression "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f))" identifier (argument_list "("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(ulong)(bVar4 & 0x7f))" ( (string_literal ""\t%s:gr_gr(grmask=[%s],r%u)\n"" " escape_sequence string_content escape_sequence ") , (pointer_expression "&DAT_0017c9c3" & identifier) , identifier , (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar4 & 0x7f)" ( (binary_expression "bVar4 & 0x7f" identifier & number_literal) ))) ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      printf("Unknown code 0x%02x\n");\n      pbVar8 = dp;\n      break;" default : (expression_statement "printf("Unknown code 0x%02x\n");" (call_expression "printf("Unknown code 0x%02x\n")" identifier (argument_list "("Unknown code 0x%02x\n")" ( (string_literal ""Unknown code 0x%02x\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pbVar8 = dp;" (assignment_expression "pbVar8 = dp" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;" case number_literal : (expression_statement "pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4);" (assignment_expression "pbVar8 = unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier = (call_expression "unw_decode_x1(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier (argument_list "(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" ( identifier , identifier , (ERROR "&switchD_0013c655::" (pointer_expression "&switchD_0013c655" & identifier) : :) identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;" case number_literal : (expression_statement "pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4);" (assignment_expression "pbVar8 = unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier = (call_expression "unw_decode_x2(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier (argument_list "(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" ( identifier , identifier , (ERROR "&switchD_0013c655::" (pointer_expression "&switchD_0013c655" & identifier) : :) identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;" case number_literal : (expression_statement "pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4);" (assignment_expression "pbVar8 = unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier = (call_expression "unw_decode_x3(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier (argument_list "(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" ( identifier , identifier , (ERROR "&switchD_0013c655::" (pointer_expression "&switchD_0013c655" & identifier) : :) identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);\n      break;" case number_literal : (expression_statement "pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4);" (assignment_expression "pbVar8 = unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier = (call_expression "unw_decode_x4(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" identifier (argument_list "(dp,code,&switchD_0013c655::switchdataD_0017cdf4)" ( identifier , identifier , (ERROR "&switchD_0013c655::" (pointer_expression "&switchD_0013c655" & identifier) : :) identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      bVar4 = dp[1];\n      if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);\n      pbVar8 = dp + 2;" case number_literal : (expression_statement "bVar4 = dp[1];" (assignment_expression "bVar4 = dp[1]" identifier = (subscript_expression "dp[1]" identifier [ number_literal ])) ;) (if_statement "if (*dp < 3) {\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }\n      else {\n        sprintf(grstr,"0x%x");\n      }" if (parenthesized_expression "(*dp < 3)" ( (binary_expression "*dp < 3" (pointer_expression "*dp" * identifier) < number_literal) )) (compound_statement "{\n        pcVar7 = unw_decode_p7_p10::lexical_block_10::abiname[(int)(uint)*dp];\n      }" { (ERROR "pcVar7 = unw_decode_p7_p10::" (assignment_expression "pcVar7 = unw_decode_p7_p10" identifier = identifier) : :) (labeled_statement "lexical_block_10::abiname[(int)(uint)*dp];" statement_identifier : (ERROR ":" :) (expression_statement "abiname[(int)(uint)*dp];" (subscript_expression "abiname[(int)(uint)*dp]" identifier [ (binary_expression "(int)(uint)*dp" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) ]) ;)) }) (else_clause "else {\n        sprintf(grstr,"0x%x");\n      }" else (compound_statement "{\n        sprintf(grstr,"0x%x");\n      }" { (expression_statement "sprintf(grstr,"0x%x");" (call_expression "sprintf(grstr,"0x%x")" identifier (argument_list "(grstr,"0x%x")" ( identifier , (string_literal ""0x%x"" " string_content ") ))) ;) }))) (expression_statement "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4);" (call_expression "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4)" identifier (argument_list "("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(ulong)bVar4)" ( (string_literal ""\t%s:unwabi(abi=%s,context=0x%02x)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P10"" " string_content ") , identifier , (cast_expression "(ulong)bVar4" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "pbVar8 = dp + 2;" (assignment_expression "pbVar8 = dp + 2" identifier = (binary_expression "dp + 2" identifier + number_literal)) ;)) })) }))) (return_statement "return pbVar8;" return identifier ;) })))
(translation_unit "byte * FUN_0013c5e0(byte *param_1,byte param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}\n\n" (function_definition "byte * FUN_0013c5e0(byte *param_1,byte param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}" type_identifier (pointer_declarator "* FUN_0013c5e0(byte *param_1,byte param_2)" * (function_declarator "FUN_0013c5e0(byte *param_1,byte param_2)" identifier (parameter_list "(byte *param_1,byte param_2)" ( (parameter_declaration "byte *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "byte param_2" type_identifier identifier) )))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "char local_38 [32];" primitive_type (array_declarator "local_38 [32]" identifier [ number_literal ]) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (expression_statement "pcVar11 = local_38;" (assignment_expression "pcVar11 = local_38" identifier = identifier) ;) (expression_statement "pcVar6 = local_38;" (assignment_expression "pcVar6 = local_38" identifier = identifier) ;) (expression_statement "bVar13 = param_2 & 0x10;" (assignment_expression "bVar13 = param_2 & 0x10" identifier = (binary_expression "param_2 & 0x10" identifier & number_literal)) ;) (if_statement "if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" if (parenthesized_expression "((param_2 & 0x10) == 0)" ( (binary_expression "(param_2 & 0x10) == 0" (parenthesized_expression "(param_2 & 0x10)" ( (binary_expression "param_2 & 0x10" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }" { (expression_statement "pbVar7 = param_1 + 1;" (assignment_expression "pbVar7 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (expression_statement "uVar5 = (ulong)(*param_1 & 0x7f);" (assignment_expression "uVar5 = (ulong)(*param_1 & 0x7f)" identifier = (call_expression "(ulong)(*param_1 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*param_1 & 0x7f)" ( (binary_expression "*param_1 & 0x7f" (pointer_expression "*param_1" * identifier) & number_literal) )))) ;) (if_statement "if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }" if (parenthesized_expression "((char)*param_1 < '\0')" ( (binary_expression "(char)*param_1 < '\0'" (cast_expression "(char)*param_1" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*param_1" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }" { (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) (do_statement "do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');" do (compound_statement "{\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      }" { (expression_statement "pbVar7 = pbVar8 + 1;" (assignment_expression "pbVar7 = pbVar8 + 1" identifier = (binary_expression "pbVar8 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" identifier = (pointer_expression "*pbVar8" * identifier)) ;) (expression_statement "bVar4 = bVar4 + 7;" (assignment_expression "bVar4 = bVar4 + 7" identifier = (binary_expression "bVar4 + 7" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);" (assignment_expression "uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier = (binary_expression "uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" identifier | (binary_expression "(ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" (call_expression "(ulong)(bVar1 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(bVar4 & 0x3f)" ( (binary_expression "bVar4 & 0x3f" identifier & number_literal) ))))) ;) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" identifier = identifier) ;) }) while (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) ;) })) (switch_statement "switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }" switch (parenthesized_expression "(param_2 & 0xf)" ( (binary_expression "param_2 & 0xf" identifier & number_literal) )) (compound_statement "{\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }" { (case_statement "case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;" case number_literal : (expression_statement "bVar4 = *pbVar7;" (assignment_expression "bVar4 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "uVar12 = (ulong)(bVar4 & 0x7f);" (assignment_expression "uVar12 = (ulong)(bVar4 & 0x7f)" identifier = (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar4 & 0x7f)" ( (binary_expression "bVar4 & 0x7f" identifier & number_literal) )))) ;) (while_statement "while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }" while (parenthesized_expression "(pbVar7 = pbVar7 + 1, (char)bVar4 < '\0')" ( (comma_expression "pbVar7 = pbVar7 + 1, (char)bVar4 < '\0'" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) , (binary_expression "(char)bVar4 < '\0'" (cast_expression "(char)bVar4" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }" { (expression_statement "bVar4 = *pbVar7;" (assignment_expression "bVar4 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "bVar13 = bVar13 + 7;" (assignment_expression "bVar13 = bVar13 + 7" identifier = (binary_expression "bVar13 + 7" identifier + number_literal)) ;) (expression_statement "uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);" (assignment_expression "uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" identifier = (binary_expression "uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" identifier | (binary_expression "(ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar4 & 0x7f)" ( (binary_expression "bVar4 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(bVar13 & 0x3f)" ( (binary_expression "bVar13 & 0x3f" identifier & number_literal) ))))) ;) })) (expression_statement "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);" (call_expression "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4)" identifier (argument_list "("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4)" ( (string_literal ""\t%s:mem_stack_f(t=%lu,size=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , identifier , (binary_expression "uVar12 << 4" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;" case number_literal : (expression_statement "printf("\t%s:mem_stack_v(t=%lu)\n","P7");" (call_expression "printf("\t%s:mem_stack_v(t=%lu)\n","P7")" identifier (argument_list "("\t%s:mem_stack_v(t=%lu)\n","P7")" ( (string_literal ""\t%s:mem_stack_v(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;" case number_literal : (expression_statement "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);" (call_expression "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2)" identifier (argument_list "("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2)" ( (string_literal ""\t%s:spill_base(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (binary_expression "uVar5 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017c8a9" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""rp"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""rp"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""pr"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""pr"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""unat"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (string_literal ""unat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P7"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;)) })) }) (else_clause "else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" else (compound_statement "{\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" { (expression_statement "param_2 = param_2 & 0xf;" (assignment_expression "param_2 = param_2 & 0xf" identifier = (binary_expression "param_2 & 0xf" identifier & number_literal)) ;) (switch_statement "switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }" switch (parenthesized_expression "(param_2)" ( identifier )) (compound_statement "{\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }" { (case_statement "case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;" case number_literal : (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = (ulong)(bVar13 & 0x7f);" (assignment_expression "uVar5 = (ulong)(bVar13 & 0x7f)" identifier = (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar13 & 0x7f)" ( (binary_expression "bVar13 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (while_statement "while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }" while (parenthesized_expression "((char)bVar13 < '\0')" ( (binary_expression "(char)bVar13 < '\0'" (cast_expression "(char)bVar13" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }" { (expression_statement "bVar13 = *pbVar7;" (assignment_expression "bVar13 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "param_2 = param_2 + 7;" (assignment_expression "param_2 = param_2 + 7" identifier = (binary_expression "param_2 + 7" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);" (assignment_expression "uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" identifier = (binary_expression "uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" identifier | (binary_expression "(ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar13 & 0x7f)" ( (binary_expression "bVar13 & 0x7f" identifier & number_literal) ))) << (parenthesized_expression "(param_2 & 0x3f)" ( (binary_expression "param_2 & 0x3f" identifier & number_literal) ))))) ;) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) })) (switch_statement "switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" switch (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (compound_statement "{\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" { (case_statement "default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;" default : (expression_statement "printf("Unknown code 0x%02x\n",(ulong)*param_1);" (call_expression "printf("Unknown code 0x%02x\n",(ulong)*param_1)" identifier (argument_list "("Unknown code 0x%02x\n",(ulong)*param_1)" ( (string_literal ""Unknown code 0x%02x\n"" " string_content escape_sequence ") , (binary_expression "(ulong)*param_1" (parenthesized_expression "(ulong)" ( identifier )) * identifier) ))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rp"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca29" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""pr"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca30" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""unat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017ca21" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (pointer_expression "&DAT_0017c9fe" & identifier) , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""bspstore"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5)" identifier (argument_list "("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5)" ( (string_literal ""\t%s:%s_when(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4)" ( (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;" case number_literal : (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4)" identifier (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4)" ( (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (string_literal ""rnat"" " string_content ") , (binary_expression "uVar5 * 4" identifier * number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;" case number_literal : (expression_statement "printf("\t%s:priunat_when_gr(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_gr(t=%lu)\n","P8")" identifier (argument_list "("\t%s:priunat_when_gr(t=%lu)\n","P8")" ( (string_literal ""\t%s:priunat_when_gr(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;" case number_literal : (expression_statement "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);" (call_expression "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2)" identifier (argument_list "("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2)" ( (string_literal ""\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (binary_expression "uVar5 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;" case number_literal : (expression_statement "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);" (call_expression "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2)" identifier (argument_list "("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2)" ( (string_literal ""\t%s:priunat_sprel(spoff=0x%lx)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") , (binary_expression "uVar5 << 2" identifier << number_literal) ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" case number_literal : (expression_statement "printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_mem(t=%lu)\n","P8")" identifier (argument_list "("\t%s:priunat_when_mem(t=%lu)\n","P8")" ( (string_literal ""\t%s:priunat_when_mem(t=%lu)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P8"" " string_content ") ))) ;)) })) (break_statement "break;" break ;)) (case_statement "case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;" case number_literal : (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "cVar3 = '4';" (assignment_expression "cVar3 = '4'" identifier = (char_literal "'4'" ' character ')) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uVar9 = *param_1 & 0xf;" (assignment_expression "uVar9 = *param_1 & 0xf" identifier = (binary_expression "*param_1 & 0xf" (pointer_expression "*param_1" * identifier) & number_literal)) ;) (do_statement "do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');" do (compound_statement "{\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      }" { (if_statement "if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" if (parenthesized_expression "((uVar9 & 1) != 0)" ( (binary_expression "(uVar9 & 1) != 0" (parenthesized_expression "(uVar9 & 1)" ( (binary_expression "uVar9 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" { (expression_statement "puVar10 = pcVar11;" (assignment_expression "puVar10 = pcVar11" identifier = identifier) ;) (if_statement "if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" { (expression_statement "*pcVar11 = 0x2c;" (assignment_expression "*pcVar11 = 0x2c" (pointer_expression "*pcVar11" * identifier) = number_literal) ;) (expression_statement "puVar10 = pcVar11 + 1;" (assignment_expression "puVar10 = pcVar11 + 1" identifier = (binary_expression "pcVar11 + 1" identifier + number_literal)) ;) })) (expression_statement "*puVar10 = 0x72;" (assignment_expression "*puVar10 = 0x72" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "pcVar11 = puVar10 + 2;" (assignment_expression "pcVar11 = puVar10 + 2" identifier = (binary_expression "puVar10 + 2" identifier + number_literal)) ;) (expression_statement "puVar10[1] = cVar3;" (assignment_expression "puVar10[1] = cVar3" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "cVar3 = cVar3 + '\x01';" (assignment_expression "cVar3 = cVar3 + '\x01'" identifier = (binary_expression "cVar3 + '\x01'" identifier + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "uVar9 = uVar9 >> 1;" (assignment_expression "uVar9 = uVar9 >> 1" identifier = (binary_expression "uVar9 >> 1" identifier >> number_literal)) ;) }) while (parenthesized_expression "(cVar3 != '8')" ( (binary_expression "cVar3 != '8'" identifier != (char_literal "'8'" ' character ')) )) ;) (expression_statement "*pcVar11 = 0;" (assignment_expression "*pcVar11 = 0" (pointer_expression "*pcVar11" * identifier) = number_literal) ;) (expression_statement "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));" (call_expression "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f))" identifier (argument_list "("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f))" ( (string_literal ""\t%s:gr_gr(grmask=[%s],r%u)\n"" " escape_sequence string_content escape_sequence ") , (pointer_expression "&DAT_0017c9c3" & identifier) , identifier , (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(bVar13 & 0x7f)" ( (binary_expression "bVar13 & 0x7f" identifier & number_literal) ))) ))) ;) (break_statement "break;" break ;)) (case_statement "default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;" default : (expression_statement "printf("Unknown code 0x%02x\n");" (call_expression "printf("Unknown code 0x%02x\n")" identifier (argument_list "("Unknown code 0x%02x\n")" ( (string_literal ""Unknown code 0x%02x\n"" " string_content escape_sequence ") ))) ;) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013bb60();" (assignment_expression "pbVar7 = (byte *)FUN_0013bb60()" identifier = (cast_expression "(byte *)FUN_0013bb60()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013bb60()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013c270();" (assignment_expression "pbVar7 = (byte *)FUN_0013c270()" identifier = (cast_expression "(byte *)FUN_0013c270()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013c270()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013bc60();" (assignment_expression "pbVar7 = (byte *)FUN_0013bc60()" identifier = (cast_expression "(byte *)FUN_0013bc60()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013bc60()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;" case number_literal : (expression_statement "pbVar7 = (byte *)FUN_0013c360();" (assignment_expression "pbVar7 = (byte *)FUN_0013c360()" identifier = (cast_expression "(byte *)FUN_0013c360()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0013c360()" identifier (argument_list "()" ( ))))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;" case number_literal : (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (if_statement "if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }" if (parenthesized_expression "(*param_1 < 3)" ( (binary_expression "*param_1 < 3" (pointer_expression "*param_1" * identifier) < number_literal) )) (compound_statement "{\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }" { (expression_statement "pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];" (assignment_expression "pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1]" identifier = (subscript_expression "(&PTR_s__svr4_0018e820)[(int)(uint)*param_1]" (parenthesized_expression "(&PTR_s__svr4_0018e820)" ( (pointer_expression "&PTR_s__svr4_0018e820" & identifier) )) [ (binary_expression "(int)(uint)*param_1" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier) ])) ;) }) (else_clause "else {\n        sprintf(local_38,"0x%x");\n      }" else (compound_statement "{\n        sprintf(local_38,"0x%x");\n      }" { (expression_statement "sprintf(local_38,"0x%x");" (call_expression "sprintf(local_38,"0x%x")" identifier (argument_list "(local_38,"0x%x")" ( identifier , (string_literal ""0x%x"" " string_content ") ))) ;) }))) (expression_statement "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);" (call_expression "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13)" identifier (argument_list "("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13)" ( (string_literal ""\t%s:unwabi(abi=%s,context=0x%02x)\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""P10"" " string_content ") , identifier , (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;)) })) }))) (return_statement "return pbVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) ;) })) (switch_statement switch (parenthesized_expression ( (binary_expression IDENT & LIT) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) )))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence '))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , IDENT , (binary_expression IDENT << LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (binary_expression IDENT << LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (while_statement while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (switch_statement switch (parenthesized_expression ( (pointer_expression * IDENT) )) (compound_statement { (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (pointer_expression & IDENT) , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , IDENT ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (string_literal " string_content ") , (binary_expression IDENT * LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (binary_expression IDENT << LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , (binary_expression IDENT << LIT) ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") ))) ;)) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (char_literal ' escape_sequence '))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (pointer_expression & IDENT) , IDENT , (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) ))) ;) (break_statement break ;)) (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) ])) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " string_content ") , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) })) }))) (return_statement return IDENT ;) })))
(function_definition "byte * FUN_0013c5e0(byte *param_1,byte param_2)\n\n{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}" (type_identifier "byte") (pointer_declarator "* FUN_0013c5e0(byte *param_1,byte param_2)" (* "*") (function_declarator "FUN_0013c5e0(byte *param_1,byte param_2)" (identifier "FUN_0013c5e0") (parameter_list "(byte *param_1,byte param_2)" (( "(") (parameter_declaration "byte *param_1" (type_identifier "byte") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "byte param_2" (type_identifier "byte") (identifier "param_2")) () ")")))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  char cVar3;\n  byte bVar4;\n  ulong uVar5;\n  char *pcVar6;\n  byte *pbVar7;\n  uint uVar9;\n  undefined1 *puVar10;\n  char *pcVar11;\n  ulong uVar12;\n  byte bVar13;\n  char local_38 [32];\n  byte *pbVar8;\n  \n  pcVar11 = local_38;\n  pcVar6 = local_38;\n  bVar13 = param_2 & 0x10;\n  if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }\n  return pbVar7;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "byte *pbVar7;" (type_identifier "byte") (pointer_declarator "*pbVar7" (* "*") (identifier "pbVar7")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined1 *puVar10;" (type_identifier "undefined1") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "char local_38 [32];" (primitive_type "char") (array_declarator "local_38 [32]" (identifier "local_38") ([ "[") (number_literal "32") (] "]")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (expression_statement "pcVar11 = local_38;" (assignment_expression "pcVar11 = local_38" (identifier "pcVar11") (= "=") (identifier "local_38")) (; ";")) (expression_statement "pcVar6 = local_38;" (assignment_expression "pcVar6 = local_38" (identifier "pcVar6") (= "=") (identifier "local_38")) (; ";")) (expression_statement "bVar13 = param_2 & 0x10;" (assignment_expression "bVar13 = param_2 & 0x10" (identifier "bVar13") (= "=") (binary_expression "param_2 & 0x10" (identifier "param_2") (& "&") (number_literal "0x10"))) (; ";")) (if_statement "if ((param_2 & 0x10) == 0) {\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }\n  else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" (if "if") (parenthesized_expression "((param_2 & 0x10) == 0)" (( "(") (binary_expression "(param_2 & 0x10) == 0" (parenthesized_expression "(param_2 & 0x10)" (( "(") (binary_expression "param_2 & 0x10" (identifier "param_2") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pbVar7 = param_1 + 1;\n    uVar5 = (ulong)(*param_1 & 0x7f);\n    if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }\n    switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }\n  }" ({ "{") (expression_statement "pbVar7 = param_1 + 1;" (assignment_expression "pbVar7 = param_1 + 1" (identifier "pbVar7") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar5 = (ulong)(*param_1 & 0x7f);" (assignment_expression "uVar5 = (ulong)(*param_1 & 0x7f)" (identifier "uVar5") (= "=") (call_expression "(ulong)(*param_1 & 0x7f)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*param_1 & 0x7f)" (( "(") (binary_expression "*param_1 & 0x7f" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (if_statement "if ((char)*param_1 < '\0') {\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }" (if "if") (parenthesized_expression "((char)*param_1 < '\0')" (( "(") (binary_expression "(char)*param_1 < '\0'" (cast_expression "(char)*param_1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      bVar4 = 0;\n      pbVar8 = pbVar7;\n      do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');\n    }" ({ "{") (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" (identifier "bVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" (identifier "pbVar8") (= "=") (identifier "pbVar7")) (; ";")) (do_statement "do {\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      } while ((char)bVar1 < '\0');" (do "do") (compound_statement "{\n        pbVar7 = pbVar8 + 1;\n        bVar1 = *pbVar8;\n        bVar4 = bVar4 + 7;\n        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);\n        pbVar8 = pbVar7;\n      }" ({ "{") (expression_statement "pbVar7 = pbVar8 + 1;" (assignment_expression "pbVar7 = pbVar8 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar8 + 1" (identifier "pbVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *pbVar8;" (assignment_expression "bVar1 = *pbVar8" (identifier "bVar1") (= "=") (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8"))) (; ";")) (expression_statement "bVar4 = bVar4 + 7;" (assignment_expression "bVar4 = bVar4 + 7" (identifier "bVar4") (= "=") (binary_expression "bVar4 + 7" (identifier "bVar4") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);" (assignment_expression "uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" (identifier "uVar5") (= "=") (binary_expression "uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" (identifier "uVar5") (| "|") (binary_expression "(ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f)" (call_expression "(ulong)(bVar1 & 0x7f)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar1 & 0x7f)" (( "(") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")"))) (<< "<<") (parenthesized_expression "(bVar4 & 0x3f)" (( "(") (binary_expression "bVar4 & 0x3f" (identifier "bVar4") (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (expression_statement "pbVar8 = pbVar7;" (assignment_expression "pbVar8 = pbVar7" (identifier "pbVar8") (= "=") (identifier "pbVar7")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (} "}"))) (switch_statement "switch(param_2 & 0xf) {\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }" (switch "switch") (parenthesized_expression "(param_2 & 0xf)" (( "(") (binary_expression "param_2 & 0xf" (identifier "param_2") (& "&") (number_literal "0xf")) () ")")) (compound_statement "{\n    case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;\n    case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;\n    case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;\n    case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;\n    case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;\n    case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;\n    case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;\n    case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;\n    case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;\n    case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;\n    case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;\n    case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;\n    case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;\n    case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;\n    case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;\n    case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);\n    }" ({ "{") (case_statement "case 0:\n      bVar4 = *pbVar7;\n      uVar12 = (ulong)(bVar4 & 0x7f);\n      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }\n      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);\n      break;" (case "case") (number_literal "0") (: ":") (expression_statement "bVar4 = *pbVar7;" (assignment_expression "bVar4 = *pbVar7" (identifier "bVar4") (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "uVar12 = (ulong)(bVar4 & 0x7f);" (assignment_expression "uVar12 = (ulong)(bVar4 & 0x7f)" (identifier "uVar12") (= "=") (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar4 & 0x7f)" (( "(") (binary_expression "bVar4 & 0x7f" (identifier "bVar4") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (while_statement "while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }" (while "while") (parenthesized_expression "(pbVar7 = pbVar7 + 1, (char)bVar4 < '\0')" (( "(") (comma_expression "pbVar7 = pbVar7 + 1, (char)bVar4 < '\0'" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (, ",") (binary_expression "(char)bVar4 < '\0'" (cast_expression "(char)bVar4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar4")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")")) (compound_statement "{\n        bVar4 = *pbVar7;\n        bVar13 = bVar13 + 7;\n        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);\n      }" ({ "{") (expression_statement "bVar4 = *pbVar7;" (assignment_expression "bVar4 = *pbVar7" (identifier "bVar4") (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "bVar13 = bVar13 + 7;" (assignment_expression "bVar13 = bVar13 + 7" (identifier "bVar13") (= "=") (binary_expression "bVar13 + 7" (identifier "bVar13") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);" (assignment_expression "uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" (identifier "uVar12") (= "=") (binary_expression "uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" (identifier "uVar12") (| "|") (binary_expression "(ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f)" (call_expression "(ulong)(bVar4 & 0x7f)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar4 & 0x7f)" (( "(") (binary_expression "bVar4 & 0x7f" (identifier "bVar4") (& "&") (number_literal "0x7f")) () ")"))) (<< "<<") (parenthesized_expression "(bVar13 & 0x3f)" (( "(") (binary_expression "bVar13 & 0x3f" (identifier "bVar13") (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (} "}"))) (expression_statement "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);" (call_expression "printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4)" (identifier "printf") (argument_list "("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4)" (( "(") (string_literal ""\t%s:mem_stack_f(t=%lu,size=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:mem_stack_f(t=%lu,size=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (identifier "uVar5") (, ",") (binary_expression "uVar12 << 4" (identifier "uVar12") (<< "<<") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      printf("\t%s:mem_stack_v(t=%lu)\n","P7");\n      break;" (case "case") (number_literal "1") (: ":") (expression_statement "printf("\t%s:mem_stack_v(t=%lu)\n","P7");" (call_expression "printf("\t%s:mem_stack_v(t=%lu)\n","P7")" (identifier "printf") (argument_list "("\t%s:mem_stack_v(t=%lu)\n","P7")" (( "(") (string_literal ""\t%s:mem_stack_v(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:mem_stack_v(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);" (call_expression "printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2)" (identifier "printf") (argument_list "("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2)" (( "(") (string_literal ""\t%s:spill_base(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:spill_base(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (binary_expression "uVar5 << 2" (identifier "uVar5") (<< "<<") (number_literal "2")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);\n      break;" (case "case") (number_literal "3") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (pointer_expression "&DAT_0017c8a9" (& "&") (identifier "DAT_0017c8a9")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);\n      break;" (case "case") (number_literal "4") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (string_literal ""rp"" (" """) (string_content "rp") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);\n      break;" (case "case") (number_literal "5") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (string_literal ""rp"" (" """) (string_content "rp") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);\n      break;" (case "case") (number_literal "6") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (pointer_expression "&DAT_0017ca29" (& "&") (identifier "DAT_0017ca29")) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);\n      break;" (case "case") (number_literal "7") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (pointer_expression "&DAT_0017ca29" (& "&") (identifier "DAT_0017ca29")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);\n      break;" (case "case") (number_literal "8") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (string_literal ""pr"" (" """) (string_content "pr") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);\n      break;" (case "case") (number_literal "9") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (string_literal ""pr"" (" """) (string_content "pr") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (pointer_expression "&DAT_0017ca30" (& "&") (identifier "DAT_0017ca30")) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);\n      break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (pointer_expression "&DAT_0017ca30" (& "&") (identifier "DAT_0017ca30")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);\n      break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (string_literal ""unat"" (" """) (string_content "unat") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);\n      break;" (case "case") (number_literal "0xd") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (string_literal ""unat"" (" """) (string_content "unat") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xe:\n      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);\n      break;" (case "case") (number_literal "0xe") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (pointer_expression "&DAT_0017ca21" (& "&") (identifier "DAT_0017ca21")) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);" (case "case") (number_literal "0xf") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P7"" (" """) (string_content "P7") (" """)) (, ",") (pointer_expression "&DAT_0017ca21" (& "&") (identifier "DAT_0017ca21")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" (else "else") (compound_statement "{\n    param_2 = param_2 & 0xf;\n    switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }\n  }" ({ "{") (expression_statement "param_2 = param_2 & 0xf;" (assignment_expression "param_2 = param_2 & 0xf" (identifier "param_2") (= "=") (binary_expression "param_2 & 0xf" (identifier "param_2") (& "&") (number_literal "0xf"))) (; ";")) (switch_statement "switch(param_2) {\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }" (switch "switch") (parenthesized_expression "(param_2)" (( "(") (identifier "param_2") () ")")) (compound_statement "{\n    case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;\n    case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;\n    default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;\n    case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;\n    case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;\n    case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;\n    case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;\n    case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;\n    }" ({ "{") (case_statement "case 0:\n      bVar13 = param_1[1];\n      uVar5 = (ulong)(bVar13 & 0x7f);\n      pbVar7 = param_1 + 2;\n      while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }\n      switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }\n      break;" (case "case") (number_literal "0") (: ":") (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" (identifier "bVar13") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = (ulong)(bVar13 & 0x7f);" (assignment_expression "uVar5 = (ulong)(bVar13 & 0x7f)" (identifier "uVar5") (= "=") (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar13 & 0x7f)" (( "(") (binary_expression "bVar13 & 0x7f" (identifier "bVar13") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" (identifier "pbVar7") (= "=") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2"))) (; ";")) (while_statement "while ((char)bVar13 < '\0') {\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }" (while "while") (parenthesized_expression "((char)bVar13 < '\0')" (( "(") (binary_expression "(char)bVar13 < '\0'" (cast_expression "(char)bVar13" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar13")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        bVar13 = *pbVar7;\n        param_2 = param_2 + 7;\n        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);\n        pbVar7 = pbVar7 + 1;\n      }" ({ "{") (expression_statement "bVar13 = *pbVar7;" (assignment_expression "bVar13 = *pbVar7" (identifier "bVar13") (= "=") (pointer_expression "*pbVar7" (* "*") (identifier "pbVar7"))) (; ";")) (expression_statement "param_2 = param_2 + 7;" (assignment_expression "param_2 = param_2 + 7" (identifier "param_2") (= "=") (binary_expression "param_2 + 7" (identifier "param_2") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);" (assignment_expression "uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" (identifier "uVar5") (= "=") (binary_expression "uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" (identifier "uVar5") (| "|") (binary_expression "(ulong)(bVar13 & 0x7f) << (param_2 & 0x3f)" (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar13 & 0x7f)" (( "(") (binary_expression "bVar13 & 0x7f" (identifier "bVar13") (& "&") (number_literal "0x7f")) () ")"))) (<< "<<") (parenthesized_expression "(param_2 & 0x3f)" (( "(") (binary_expression "param_2 & 0x3f" (identifier "param_2") (& "&") (number_literal "0x3f")) () ")"))))) (; ";")) (expression_statement "pbVar7 = pbVar7 + 1;" (assignment_expression "pbVar7 = pbVar7 + 1" (identifier "pbVar7") (= "=") (binary_expression "pbVar7 + 1" (identifier "pbVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (switch_statement "switch(*param_1) {\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" (switch "switch") (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (compound_statement "{\n      default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;\n      case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;\n      case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;\n      case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;\n      case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;\n      case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;\n      case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;\n      case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;\n      case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;\n      case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;\n      case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;\n      case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;\n      case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;\n      case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;\n      case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;\n      case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");\n      }" ({ "{") (case_statement "default:\n        printf("Unknown code 0x%02x\n",(ulong)*param_1);\n        break;" (default "default") (: ":") (expression_statement "printf("Unknown code 0x%02x\n",(ulong)*param_1);" (call_expression "printf("Unknown code 0x%02x\n",(ulong)*param_1)" (identifier "printf") (argument_list "("Unknown code 0x%02x\n",(ulong)*param_1)" (( "(") (string_literal ""Unknown code 0x%02x\n"" (" """) (string_content "Unknown code 0x%02x") (escape_sequence "\n") (" """)) (, ",") (binary_expression "(ulong)*param_1" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "param_1")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);\n        break;" (case "case") (number_literal "1") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""rp"" (" """) (string_content "rp") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);\n        break;" (case "case") (number_literal "2") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (pointer_expression "&DAT_0017ca29" (& "&") (identifier "DAT_0017ca29")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);\n        break;" (case "case") (number_literal "3") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""pr"" (" """) (string_content "pr") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);\n        break;" (case "case") (number_literal "4") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (pointer_expression "&DAT_0017ca30" (& "&") (identifier "DAT_0017ca30")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);\n        break;" (case "case") (number_literal "5") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""unat"" (" """) (string_content "unat") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);\n        break;" (case "case") (number_literal "6") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (pointer_expression "&DAT_0017ca21" (& "&") (identifier "DAT_0017ca21")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);\n        break;" (case "case") (number_literal "7") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (pointer_expression "&DAT_0017c9fe" (& "&") (identifier "DAT_0017c9fe")) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 8:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;" (case "case") (number_literal "8") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (pointer_expression "&DAT_0017c9fe" (& "&") (identifier "DAT_0017c9fe")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);\n        break;" (case "case") (number_literal "9") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (pointer_expression "&DAT_0017c9fe" (& "&") (identifier "DAT_0017c9fe")) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);\n        break;" (case "case") (number_literal "10") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""bspstore"" (" """) (string_content "bspstore") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""bspstore"" (" """) (string_content "bspstore") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);\n        break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""bspstore"" (" """) (string_content "bspstore") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xd:\n        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);\n        break;" (case "case") (number_literal "0xd") (: ":") (expression_statement "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);" (call_expression "printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5)" (identifier "printf") (argument_list "("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5)" (( "(") (string_literal ""\t%s:%s_when(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_when(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""rnat"" (" """) (string_content "rnat") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xe:\n        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;" (case "case") (number_literal "0xe") (: ":") (expression_statement "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);" (call_expression "printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""rnat"" (" """) (string_content "rnat") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);\n        break;" (case "case") (number_literal "0xf") (: ":") (expression_statement "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);" (call_expression "printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4)" (identifier "printf") (argument_list "("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4)" (( "(") (string_literal ""\t%s:%s_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:%s_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (string_literal ""rnat"" (" """) (string_content "rnat") (" """)) (, ",") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x10:\n        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");\n        break;" (case "case") (number_literal "0x10") (: ":") (expression_statement "printf("\t%s:priunat_when_gr(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_gr(t=%lu)\n","P8")" (identifier "printf") (argument_list "("\t%s:priunat_when_gr(t=%lu)\n","P8")" (( "(") (string_literal ""\t%s:priunat_when_gr(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:priunat_when_gr(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11:\n        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);\n        break;" (case "case") (number_literal "0x11") (: ":") (expression_statement "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);" (call_expression "printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2)" (identifier "printf") (argument_list "("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2)" (( "(") (string_literal ""\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:priunat_psprel(pspoff=0x10-0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (binary_expression "uVar5 << 2" (identifier "uVar5") (<< "<<") (number_literal "2")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x12:\n        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);\n        break;" (case "case") (number_literal "0x12") (: ":") (expression_statement "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);" (call_expression "printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2)" (identifier "printf") (argument_list "("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2)" (( "(") (string_literal ""\t%s:priunat_sprel(spoff=0x%lx)\n"" (" """) (escape_sequence "\t") (string_content "%s:priunat_sprel(spoff=0x%lx)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) (, ",") (binary_expression "uVar5 << 2" (identifier "uVar5") (<< "<<") (number_literal "2")) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x13:\n        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" (case "case") (number_literal "0x13") (: ":") (expression_statement "printf("\t%s:priunat_when_mem(t=%lu)\n","P8");" (call_expression "printf("\t%s:priunat_when_mem(t=%lu)\n","P8")" (identifier "printf") (argument_list "("\t%s:priunat_when_mem(t=%lu)\n","P8")" (( "(") (string_literal ""\t%s:priunat_when_mem(t=%lu)\n"" (" """) (escape_sequence "\t") (string_content "%s:priunat_when_mem(t=%lu)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P8"" (" """) (string_content "P8") (" """)) () ")"))) (; ";"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      pbVar7 = param_1 + 2;\n      bVar13 = param_1[1];\n      cVar3 = '4';\n      bVar2 = false;\n      uVar9 = *param_1 & 0xf;\n      do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');\n      *pcVar11 = 0;\n      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));\n      break;" (case "case") (number_literal "1") (: ":") (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" (identifier "pbVar7") (= "=") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" (identifier "bVar13") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "cVar3 = '4';" (assignment_expression "cVar3 = '4'" (identifier "cVar3") (= "=") (char_literal "'4'" (' "'") (character "4") (' "'"))) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "uVar9 = *param_1 & 0xf;" (assignment_expression "uVar9 = *param_1 & 0xf" (identifier "uVar9") (= "=") (binary_expression "*param_1 & 0xf" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (& "&") (number_literal "0xf"))) (; ";")) (do_statement "do {\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      } while (cVar3 != '8');" (do "do") (compound_statement "{\n        if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }\n        cVar3 = cVar3 + '\x01';\n        uVar9 = uVar9 >> 1;\n      }" ({ "{") (if_statement "if ((uVar9 & 1) != 0) {\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" (if "if") (parenthesized_expression "((uVar9 & 1) != 0)" (( "(") (binary_expression "(uVar9 & 1) != 0" (parenthesized_expression "(uVar9 & 1)" (( "(") (binary_expression "uVar9 & 1" (identifier "uVar9") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar10 = pcVar11;\n          if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }\n          *puVar10 = 0x72;\n          bVar2 = true;\n          pcVar11 = puVar10 + 2;\n          puVar10[1] = cVar3;\n        }" ({ "{") (expression_statement "puVar10 = pcVar11;" (assignment_expression "puVar10 = pcVar11" (identifier "puVar10") (= "=") (identifier "pcVar11")) (; ";")) (if_statement "if (bVar2) {\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n            *pcVar11 = 0x2c;\n            puVar10 = pcVar11 + 1;\n          }" ({ "{") (expression_statement "*pcVar11 = 0x2c;" (assignment_expression "*pcVar11 = 0x2c" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (number_literal "0x2c")) (; ";")) (expression_statement "puVar10 = pcVar11 + 1;" (assignment_expression "puVar10 = pcVar11 + 1" (identifier "puVar10") (= "=") (binary_expression "pcVar11 + 1" (identifier "pcVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*puVar10 = 0x72;" (assignment_expression "*puVar10 = 0x72" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (number_literal "0x72")) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (expression_statement "pcVar11 = puVar10 + 2;" (assignment_expression "pcVar11 = puVar10 + 2" (identifier "pcVar11") (= "=") (binary_expression "puVar10 + 2" (identifier "puVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar10[1] = cVar3;" (assignment_expression "puVar10[1] = cVar3" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "cVar3")) (; ";")) (} "}"))) (expression_statement "cVar3 = cVar3 + '\x01';" (assignment_expression "cVar3 = cVar3 + '\x01'" (identifier "cVar3") (= "=") (binary_expression "cVar3 + '\x01'" (identifier "cVar3") (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'")))) (; ";")) (expression_statement "uVar9 = uVar9 >> 1;" (assignment_expression "uVar9 = uVar9 >> 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 >> 1" (identifier "uVar9") (>> ">>") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar3 != '8')" (( "(") (binary_expression "cVar3 != '8'" (identifier "cVar3") (!= "!=") (char_literal "'8'" (' "'") (character "8") (' "'"))) () ")")) (; ";")) (expression_statement "*pcVar11 = 0;" (assignment_expression "*pcVar11 = 0" (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) (= "=") (number_literal "0")) (; ";")) (expression_statement "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));" (call_expression "printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f))" (identifier "printf") (argument_list "("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f))" (( "(") (string_literal ""\t%s:gr_gr(grmask=[%s],r%u)\n"" (" """) (escape_sequence "\t") (string_content "%s:gr_gr(grmask=[%s],r%u)") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "&DAT_0017c9c3" (& "&") (identifier "DAT_0017c9c3")) (, ",") (identifier "local_38") (, ",") (call_expression "(ulong)(bVar13 & 0x7f)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(bVar13 & 0x7f)" (( "(") (binary_expression "bVar13 & 0x7f" (identifier "bVar13") (& "&") (number_literal "0x7f")) () ")"))) () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n      printf("Unknown code 0x%02x\n");\n      pbVar7 = param_1;\n      break;" (default "default") (: ":") (expression_statement "printf("Unknown code 0x%02x\n");" (call_expression "printf("Unknown code 0x%02x\n")" (identifier "printf") (argument_list "("Unknown code 0x%02x\n")" (( "(") (string_literal ""Unknown code 0x%02x\n"" (" """) (string_content "Unknown code 0x%02x") (escape_sequence "\n") (" """)) () ")"))) (; ";")) (expression_statement "pbVar7 = param_1;" (assignment_expression "pbVar7 = param_1" (identifier "pbVar7") (= "=") (identifier "param_1")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 9:\n      pbVar7 = (byte *)FUN_0013bb60();\n      break;" (case "case") (number_literal "9") (: ":") (expression_statement "pbVar7 = (byte *)FUN_0013bb60();" (assignment_expression "pbVar7 = (byte *)FUN_0013bb60()" (identifier "pbVar7") (= "=") (cast_expression "(byte *)FUN_0013bb60()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0013bb60()" (identifier "FUN_0013bb60") (argument_list "()" (( "(") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 10:\n      pbVar7 = (byte *)FUN_0013c270();\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "pbVar7 = (byte *)FUN_0013c270();" (assignment_expression "pbVar7 = (byte *)FUN_0013c270()" (identifier "pbVar7") (= "=") (cast_expression "(byte *)FUN_0013c270()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0013c270()" (identifier "FUN_0013c270") (argument_list "()" (( "(") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:\n      pbVar7 = (byte *)FUN_0013bc60();\n      break;" (case "case") (number_literal "0xb") (: ":") (expression_statement "pbVar7 = (byte *)FUN_0013bc60();" (assignment_expression "pbVar7 = (byte *)FUN_0013bc60()" (identifier "pbVar7") (= "=") (cast_expression "(byte *)FUN_0013bc60()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0013bc60()" (identifier "FUN_0013bc60") (argument_list "()" (( "(") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xc:\n      pbVar7 = (byte *)FUN_0013c360();\n      break;" (case "case") (number_literal "0xc") (: ":") (expression_statement "pbVar7 = (byte *)FUN_0013c360();" (assignment_expression "pbVar7 = (byte *)FUN_0013c360()" (identifier "pbVar7") (= "=") (cast_expression "(byte *)FUN_0013c360()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0013c360()" (identifier "FUN_0013c360") (argument_list "()" (( "(") () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf:\n      bVar13 = param_1[1];\n      if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }\n      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);\n      pbVar7 = param_1 + 2;" (case "case") (number_literal "0xf") (: ":") (expression_statement "bVar13 = param_1[1];" (assignment_expression "bVar13 = param_1[1]" (identifier "bVar13") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (*param_1 < 3) {\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }\n      else {\n        sprintf(local_38,"0x%x");\n      }" (if "if") (parenthesized_expression "(*param_1 < 3)" (( "(") (binary_expression "*param_1 < 3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];\n      }" ({ "{") (expression_statement "pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];" (assignment_expression "pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1]" (identifier "pcVar6") (= "=") (subscript_expression "(&PTR_s__svr4_0018e820)[(int)(uint)*param_1]" (parenthesized_expression "(&PTR_s__svr4_0018e820)" (( "(") (pointer_expression "&PTR_s__svr4_0018e820" (& "&") (identifier "PTR_s__svr4_0018e820")) () ")")) ([ "[") (binary_expression "(int)(uint)*param_1" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "param_1")) (] "]"))) (; ";")) (} "}")) (else_clause "else {\n        sprintf(local_38,"0x%x");\n      }" (else "else") (compound_statement "{\n        sprintf(local_38,"0x%x");\n      }" ({ "{") (expression_statement "sprintf(local_38,"0x%x");" (call_expression "sprintf(local_38,"0x%x")" (identifier "sprintf") (argument_list "(local_38,"0x%x")" (( "(") (identifier "local_38") (, ",") (string_literal ""0x%x"" (" """) (string_content "0x%x") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);" (call_expression "printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13)" (identifier "printf") (argument_list "("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13)" (( "(") (string_literal ""\t%s:unwabi(abi=%s,context=0x%02x)\n"" (" """) (escape_sequence "\t") (string_content "%s:unwabi(abi=%s,context=0x%02x)") (escape_sequence "\n") (" """)) (, ",") (string_literal ""P10"" (" """) (string_content "P10") (" """)) (, ",") (identifier "pcVar6") (, ",") (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) () ")"))) (; ";")) (expression_statement "pbVar7 = param_1 + 2;" (assignment_expression "pbVar7 = param_1 + 2" (identifier "pbVar7") (= "=") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2"))) (; ";"))) (} "}"))) (} "}")))) (return_statement "return pbVar7;" (return "return") (identifier "pbVar7") (; ";")) (} "}")))

type_1 * function_1(type_1 *var_2,type_2 var_1,void *arg,type_1 *end)

{
  type_3 var_6;
  bool bVar2;
  char var_13;
  type_3 var_4;
  type_2 var_10;
  type_4 var_5;
  char *pcVar7;
  type_3 *var_7;
  type_3 *var_3;
  type_5 *var_12;
  char *var_11;
  type_4 var_8;
  char grstr [20];
  
  var_11 = grstr;
  pcVar7 = grstr;
  if ((var_1 & 0x10) == 0) {
    var_7 = var_2 + 1;
    var_5 = (type_4)(*var_2 & 0x7f);
    if ((char)*var_2 < '\0') {
      var_4 = 0;
      var_3 = var_7;
      do {
        var_7 = var_3 + 1;
        var_6 = *var_3;
        var_4 = var_4 + 7;
        var_5 = var_5 | (type_4)(var_6 & 0x7f) << (var_4 & 0x3f);
        var_3 = var_7;
      } while ((char)var_6 < '\0');
    }
    switch(var_1 & 0xf) {
    case 0:
      var_3 = var_7 + 1;
      var_8 = (type_4)(*var_7 & 0x7f);
      if ((char)*var_7 < '\0') {
        var_4 = 0;
        var_7 = var_3;
        do {
          var_3 = var_7 + 1;
          var_6 = *var_7;
          var_4 = var_4 + 7;
          var_8 = var_8 | (type_4)(var_6 & 0x7f) << (var_4 & 0x3f);
          var_7 = var_3;
        } while ((char)var_6 < '\0');
      }
      var_9("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",var_5,var_8 << 4);
      var_7 = var_3;
      break;
    case 1:
      var_9("\t%s:mem_stack_v(t=%lu)\n","P7");
      break;
    case 2:
      var_9("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",var_5 << 2);
      break;
    case 3:
      var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,var_5 * 4);
      break;
    case 4:
      var_9("\t%s:%s_when(t=%lu)\n","P7","rp",var_5);
      break;
    case 5:
      var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",var_5 * 4);
      break;
    case 6:
      var_9("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,var_5);
      break;
    case 7:
      var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,var_5 * 4);
      break;
    case 8:
      var_9("\t%s:%s_when(t=%lu)\n","P7","pr",var_5);
      break;
    case 9:
      var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",var_5 * 4);
      break;
    case 10:
      var_9("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,var_5);
      break;
    case 0xb:
      var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,var_5 * 4);
      break;
    case 0xc:
      var_9("\t%s:%s_when(t=%lu)\n","P7","unat",var_5);
      break;
    case 0xd:
      var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",var_5 * 4);
      break;
    case 0xe:
      var_9("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,var_5);
      break;
    case 0xf:
      var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,var_5 * 4);
    }
  }
  else {
    var_10 = var_1 & 0xf;
    switch(var_10) {
    case 0:
      var_4 = var_2[1];
      var_5 = (type_4)(var_4 & 0x7f);
      var_7 = var_2 + 2;
      while ((char)var_4 < '\0') {
        var_4 = *var_7;
        var_10 = var_10 + 7;
        var_5 = var_5 | (type_4)(var_4 & 0x7f) << ((type_3)var_10 & 0x3f);
        var_7 = var_7 + 1;
      }
      switch(*var_2) {
      default:
        var_9("Unknown code 0x%02x\n",(type_4)*var_2);
        break;
      case '\x01':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",var_5 * 4);
        break;
      case '\x02':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,var_5 * 4);
        break;
      case '\x03':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",var_5 * 4);
        break;
      case '\x04':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,var_5 * 4);
        break;
      case '\x05':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",var_5 * 4);
        break;
      case '\x06':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,var_5 * 4);
        break;
      case '\a':
        var_9("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,var_5);
        break;
      case '\b':
        var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,var_5 * 4);
        break;
      case '\t':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,var_5 * 4);
        break;
      case '\n':
        var_9("\t%s:%s_when(t=%lu)\n","P8","bspstore",var_5);
        break;
      case '\v':
        var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",var_5 * 4);
        break;
      case '\f':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",var_5 * 4);
        break;
      case '\r':
        var_9("\t%s:%s_when(t=%lu)\n","P8","rnat",var_5);
        break;
      case '\x0e':
        var_9("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",var_5 * 4);
        break;
      case '\x0f':
        var_9("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",var_5 * 4);
        break;
      case '\x10':
        var_9("\t%s:priunat_when_gr(t=%lu)\n","P8");
        break;
      case '\x11':
        var_9("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",var_5 << 2);
        break;
      case '\x12':
        var_9("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",var_5 << 2);
        break;
      case '\x13':
        var_9("\t%s:priunat_when_mem(t=%lu)\n","P8");
      }
      break;
    case 1:
      var_7 = var_2 + 2;
      var_4 = var_2[1];
      var_13 = '4';
      bVar2 = false;
      var_10 = *var_2 & 0xf;
      do {
        if ((var_10 & 1) != 0) {
          var_12 = var_11;
          if (bVar2) {
            *var_11 = 0x2c;
            var_12 = var_11 + 1;
          }
          *var_12 = 0x72;
          bVar2 = true;
          var_11 = var_12 + 2;
          var_12[1] = var_13;
        }
        var_13 = var_13 + '\x01';
        var_10 = var_10 >> 1;
      } while (var_13 != '8');
      *var_11 = 0;
      var_9("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,grstr,(type_4)(var_4 & 0x7f));
      break;
    default:
      var_9("Unknown code 0x%02x\n");
      var_7 = var_2;
      break;
    case 9:
      var_7 = var_14(var_2,var_1,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 10:
      var_7 = var_15(var_2,var_1,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 0xb:
      var_7 = var_16(var_2,var_1,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 0xc:
      var_7 = var_17(var_2,var_1,&switchD_0013c655::switchdataD_0017cdf4);
      break;
    case 0xf:
      var_4 = var_2[1];
      if (*var_2 < 3) {
        pcVar7 = function_1::lexical_block_10::abiname[(int)(type_2)*var_2];
      }
      else {
        var_18(grstr,"0x%x");
      }
      var_9("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar7,(type_4)var_4);
      var_7 = var_2 + 2;
    }
  }
  return var_7;
}


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

byte * MASKED(byte *param_1,byte param_2)

{
  byte bVar1;
  bool bVar2;
  char cVar3;
  byte bVar4;
  ulong uVar5;
  char *pcVar6;
  byte *pbVar7;
  uint uVar9;
  undefined1 *puVar10;
  char *pcVar11;
  ulong uVar12;
  byte bVar13;
  char local_38 [32];
  byte *pbVar8;
  
  pcVar11 = local_38;
  pcVar6 = local_38;
  bVar13 = param_2 & 0x10;
  if ((param_2 & 0x10) == 0) {
    pbVar7 = param_1 + 1;
    uVar5 = (ulong)(*param_1 & 0x7f);
    if ((char)*param_1 < '\0') {
      bVar4 = 0;
      pbVar8 = pbVar7;
      do {
        pbVar7 = pbVar8 + 1;
        bVar1 = *pbVar8;
        bVar4 = bVar4 + 7;
        uVar5 = uVar5 | (ulong)(bVar1 & 0x7f) << (bVar4 & 0x3f);
        pbVar8 = pbVar7;
      } while ((char)bVar1 < '\0');
    }
    switch(param_2 & 0xf) {
    case 0:
      bVar4 = *pbVar7;
      uVar12 = (ulong)(bVar4 & 0x7f);
      while (pbVar7 = pbVar7 + 1, (char)bVar4 < '\0') {
        bVar4 = *pbVar7;
        bVar13 = bVar13 + 7;
        uVar12 = uVar12 | (ulong)(bVar4 & 0x7f) << (bVar13 & 0x3f);
      }
      printf("\t%s:mem_stack_f(t=%lu,size=%lu)\n","P7",uVar5,uVar12 << 4);
      break;
    case 1:
      printf("\t%s:mem_stack_v(t=%lu)\n","P7");
      break;
    case 2:
      printf("\t%s:spill_base(pspoff=0x10-0x%lx)\n","P7",uVar5 << 2);
      break;
    case 3:
      printf("\t%s:%s_sprel(spoff=0x%lx)\n","P7",&DAT_0017c8a9,uVar5 * 4);
      break;
    case 4:
      printf("\t%s:%s_when(t=%lu)\n","P7","rp",uVar5);
      break;
    case 5:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","rp",uVar5 * 4);
      break;
    case 6:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca29,uVar5);
      break;
    case 7:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca29,uVar5 * 4);
      break;
    case 8:
      printf("\t%s:%s_when(t=%lu)\n","P7","pr",uVar5);
      break;
    case 9:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","pr",uVar5 * 4);
      break;
    case 10:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca30,uVar5);
      break;
    case 0xb:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca30,uVar5 * 4);
      break;
    case 0xc:
      printf("\t%s:%s_when(t=%lu)\n","P7","unat",uVar5);
      break;
    case 0xd:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7","unat",uVar5 * 4);
      break;
    case 0xe:
      printf("\t%s:%s_when(t=%lu)\n","P7",&DAT_0017ca21,uVar5);
      break;
    case 0xf:
      printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P7",&DAT_0017ca21,uVar5 * 4);
    }
  }
  else {
    param_2 = param_2 & 0xf;
    switch(param_2) {
    case 0:
      bVar13 = param_1[1];
      uVar5 = (ulong)(bVar13 & 0x7f);
      pbVar7 = param_1 + 2;
      while ((char)bVar13 < '\0') {
        bVar13 = *pbVar7;
        param_2 = param_2 + 7;
        uVar5 = uVar5 | (ulong)(bVar13 & 0x7f) << (param_2 & 0x3f);
        pbVar7 = pbVar7 + 1;
      }
      switch(*param_1) {
      default:
        printf("Unknown code 0x%02x\n",(ulong)*param_1);
        break;
      case 1:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rp",uVar5 * 4);
        break;
      case 2:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca29,uVar5 * 4);
        break;
      case 3:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","pr",uVar5 * 4);
        break;
      case 4:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca30,uVar5 * 4);
        break;
      case 5:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","unat",uVar5 * 4);
        break;
      case 6:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017ca21,uVar5 * 4);
        break;
      case 7:
        printf("\t%s:%s_when(t=%lu)\n","P8",&DAT_0017c9fe,uVar5);
        break;
      case 8:
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);
        break;
      case 9:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8",&DAT_0017c9fe,uVar5 * 4);
        break;
      case 10:
        printf("\t%s:%s_when(t=%lu)\n","P8","bspstore",uVar5);
        break;
      case 0xb:
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","bspstore",uVar5 * 4);
        break;
      case 0xc:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","bspstore",uVar5 * 4);
        break;
      case 0xd:
        printf("\t%s:%s_when(t=%lu)\n","P8","rnat",uVar5);
        break;
      case 0xe:
        printf("\t%s:%s_psprel(pspoff=0x10-0x%lx)\n","P8","rnat",uVar5 * 4);
        break;
      case 0xf:
        printf("\t%s:%s_sprel(spoff=0x%lx)\n","P8","rnat",uVar5 * 4);
        break;
      case 0x10:
        printf("\t%s:priunat_when_gr(t=%lu)\n","P8");
        break;
      case 0x11:
        printf("\t%s:priunat_psprel(pspoff=0x10-0x%lx)\n","P8",uVar5 << 2);
        break;
      case 0x12:
        printf("\t%s:priunat_sprel(spoff=0x%lx)\n","P8",uVar5 << 2);
        break;
      case 0x13:
        printf("\t%s:priunat_when_mem(t=%lu)\n","P8");
      }
      break;
    case 1:
      pbVar7 = param_1 + 2;
      bVar13 = param_1[1];
      cVar3 = '4';
      bVar2 = false;
      uVar9 = *param_1 & 0xf;
      do {
        if ((uVar9 & 1) != 0) {
          puVar10 = pcVar11;
          if (bVar2) {
            *pcVar11 = 0x2c;
            puVar10 = pcVar11 + 1;
          }
          *puVar10 = 0x72;
          bVar2 = true;
          pcVar11 = puVar10 + 2;
          puVar10[1] = cVar3;
        }
        cVar3 = cVar3 + '\x01';
        uVar9 = uVar9 >> 1;
      } while (cVar3 != '8');
      *pcVar11 = 0;
      printf("\t%s:gr_gr(grmask=[%s],r%u)\n",&DAT_0017c9c3,local_38,(ulong)(bVar13 & 0x7f));
      break;
    default:
      printf("Unknown code 0x%02x\n");
      pbVar7 = param_1;
      break;
    case 9:
      pbVar7 = (byte *)FUN_0013bb60();
      break;
    case 10:
      pbVar7 = (byte *)FUN_0013c270();
      break;
    case 0xb:
      pbVar7 = (byte *)FUN_0013bc60();
      break;
    case 0xc:
      pbVar7 = (byte *)FUN_0013c360();
      break;
    case 0xf:
      bVar13 = param_1[1];
      if (*param_1 < 3) {
        pcVar6 = (&PTR_s__svr4_0018e820)[(int)(uint)*param_1];
      }
      else {
        sprintf(local_38,"0x%x");
      }
      printf("\t%s:unwabi(abi=%s,context=0x%02x)\n","P10",pcVar6,(ulong)bVar13);
      pbVar7 = param_1 + 2;
    }
  }
  return pbVar7;
}

