
bfd_boolean stab_int_type(void *p,uint size,bfd_boolean unsignedp)

{
  long *plVar1;
  uint uVar2;
  uint uVar3;
  bfd_boolean bVar4;
  long lVar5;
  char *format;
  long lVar6;
  uint *puVar7;
  uint *puVar8;
  stab_write_handle *info;
  bool bVar9;
  undefined8 uStack_a0;
  char buf [100];
  
  if (7 < size - 1) {
    uStack_a0 = 0x11a91b;
    format = (char *)dcgettext(0,"stab_int_type: bad size %u",5);
    uStack_a0 = 0x11a927;
    non_fatal(format,size);
    return 0;
  }
  lVar5 = (ulong)(size - 1) * 8;
  if (unsignedp == 0) {
    plVar1 = (long *)((long)p + lVar5 + 0xb8);
    lVar5 = *plVar1;
    if (lVar5 != 0) goto LAB_0011a8f0;
    lVar5 = *(long *)((long)p + 0x68);
    *(long *)((long)p + 0x68) = lVar5 + 1;
    *plVar1 = lVar5;
    uStack_a0 = 0x11a88e;
    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);
    lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f);
    puVar8 = (uint *)buf;
    do {
      puVar7 = puVar8;
      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;
      uVar3 = uVar2 & 0x80808080;
      puVar8 = puVar7 + 1;
    } while (uVar3 == 0);
    bVar9 = (uVar2 & 0x8080) == 0;
    if (bVar9) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (uint *)((long)puVar7 + 6);
    }
    uStack_a0 = 0x11a8e9;
    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6
            ,lVar6 + -1);
  }
  else {
    plVar1 = (long *)((long)p + lVar5 + 0x78);
    lVar5 = *plVar1;
    if (lVar5 != 0) {
LAB_0011a8f0:
      uStack_a0 = 0x11a8fa;
      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);
      return bVar4;
    }
    lVar5 = *(long *)((long)p + 0x68);
    *(long *)((long)p + 0x68) = lVar5 + 1;
    *plVar1 = lVar5;
    uStack_a0 = 0x11a7b2;
    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);
    puVar8 = (uint *)buf;
    do {
      puVar7 = puVar8;
      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;
      uVar3 = uVar2 & 0x80808080;
      puVar8 = puVar7 + 1;
    } while (uVar3 == 0);
    bVar9 = (uVar2 & 0x8080) == 0;
    if (bVar9) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (uint *)((long)puVar7 + 6);
    }
    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;
    ((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';
    ((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';
    *(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';
    if (size == 8) {
      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);
    }
    else {
      uStack_a0 = 0x11a82c;
      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",
              (1L << ((char)size * '\b' & 0x3fU)) + -1);
    }
  }
  uStack_a0 = 0x11a843;
  bVar4 = stab_push_string((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size);
  return bVar4;
}



undefined8 FUN_0011a750(long param_1,int param_2,int param_3)

{
  long *plVar1;
  uint uVar2;
  uint uVar3;
  long lVar4;
  undefined8 uVar5;
  long lVar6;
  uint *puVar7;
  uint *puVar8;
  bool bVar9;
  undefined1 auStack_a0 [8];
  uint local_98 [30];
  
  if (7 < param_2 - 1U) {
    auStack_a0 = (undefined1  [8])0x11a91b;
    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);
    auStack_a0 = (undefined1  [8])0x11a927;
    FUN_0011b660(uVar5,param_2);
    return 0;
  }
  lVar4 = (ulong)(param_2 - 1U) * 8;
  if (param_3 == 0) {
    plVar1 = (long *)(param_1 + 0xb8 + lVar4);
    lVar4 = *plVar1;
    if (lVar4 != 0) goto LAB_0011a8f0;
    lVar4 = *(long *)(param_1 + 0x68);
    *(long *)(param_1 + 0x68) = lVar4 + 1;
    *plVar1 = lVar4;
    auStack_a0 = (undefined1  [8])0x11a88e;
    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);
    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);
    puVar8 = local_98;
    do {
      puVar7 = puVar8;
      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;
      uVar3 = uVar2 & 0x80808080;
      puVar8 = puVar7 + 1;
    } while (uVar3 == 0);
    bVar9 = (uVar2 & 0x8080) == 0;
    if (bVar9) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (uint *)((long)puVar7 + 6);
    }
    auStack_a0 = (undefined1  [8])0x11a8e9;
    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6
            ,lVar6 + -1);
  }
  else {
    plVar1 = (long *)(param_1 + 0x78 + lVar4);
    lVar4 = *plVar1;
    if (lVar4 != 0) {
LAB_0011a8f0:
      auStack_a0 = (undefined1  [8])0x11a8fa;
      uVar5 = FUN_00119890(param_1,lVar4,param_2);
      return uVar5;
    }
    lVar4 = *(long *)(param_1 + 0x68);
    *(long *)(param_1 + 0x68) = lVar4 + 1;
    *plVar1 = lVar4;
    auStack_a0 = (undefined1  [8])0x11a7b2;
    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);
    puVar8 = local_98;
    do {
      puVar7 = puVar8;
      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;
      uVar3 = uVar2 & 0x80808080;
      puVar8 = puVar7 + 1;
    } while (uVar3 == 0);
    bVar9 = (uVar2 & 0x8080) == 0;
    if (bVar9) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (uint *)((long)puVar7 + 6);
    }
    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;
    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;
    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;
    if (param_2 == 8) {
      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;
    }
    else {
      auStack_a0 = (undefined1  [8])0x11a82c;
      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",
              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);
    }
  }
  auStack_a0 = (undefined1  [8])0x11a843;
  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);
  return uVar5;
}


PUSH R13
LEA EAX,[RSI + -0x1]
PUSH R12
PUSH RBP
MOV EBP,ESI
PUSH RBX
SUB RSP,0x78
CMP EAX,0x7
JA 0x0011a908
MOV RBX,RDI
SHL RAX,0x3
TEST EDX,EDX
JZ 0x0011a850
LEA RAX,[RDI + RAX*0x1 + 0x78]
MOV RSI,qword ptr [RAX]
TEST RSI,RSI
JNZ 0x0011a8f0
MOV R12,qword ptr [RDI + 0x68]
MOV R13,RSP
LEA RSI,[0x1240f9]
LEA RDX,[R12 + 0x1]
MOV RCX,R12
MOV qword ptr [RDI + 0x68],RDX
MOV RDX,R12
MOV RDI,R13
MOV qword ptr [RAX],R12
XOR EAX,EAX
CALL 0x00104820
MOV RSI,R13
MOV EDX,dword ptr [RSI]
ADD RSI,0x4
LEA EAX,[RDX + -0x1010101]
NOT EDX
AND EAX,EDX
AND EAX,0x80808080
JZ 0x0011a7b5
MOV EDX,EAX
SHR EDX,0x10
TEST EAX,0x8080
CMOVZ EAX,EDX
LEA RDX,[RSI + 0x2]
CMOVZ RSI,RDX
MOV EDX,0x3b30
MOV ECX,EAX
ADD CL,AL
SBB RSI,0x3
SUB RSI,R13
LEA RAX,[R13 + RSI*0x1]
MOV word ptr [RAX],DX
MOV byte ptr [RAX + 0x2],0x0
CMP EBP,0x8
JZ 0x0011a938
LEA ECX,[RBP*0x8]
MOV EDX,0x1
LEA RDI,[R13 + RSI*0x1 + 0x2]
XOR EAX,EAX
SHL RDX,CL
LEA RSI,[0x123f98]
SUB RDX,0x1
CALL 0x00104820
LEA RDI,[RBX + 0x60]
MOV R8D,EBP
MOV RDX,R12
MOV RSI,R13
MOV ECX,0x1
CALL 0x00119800
ADD RSP,0x78
POP RBX
POP RBP
POP R12
POP R13
RET
LEA RAX,[RDI + RAX*0x1 + 0xb8]
MOV RSI,qword ptr [RAX]
TEST RSI,RSI
JNZ 0x0011a8f0
MOV R12,qword ptr [RDI + 0x68]
MOV R13,RSP
LEA RSI,[0x1240f9]
LEA RDX,[R12 + 0x1]
MOV RCX,R12
MOV qword ptr [RDI + 0x68],RDX
MOV RDX,R12
MOV RDI,R13
MOV qword ptr [RAX],R12
XOR EAX,EAX
CALL 0x00104820
LEA ECX,[-0x1 + RBP*0x8]
MOV EDX,0x1
MOV RDI,R13
SHL RDX,CL
MOV ECX,dword ptr [RDI]
ADD RDI,0x4
LEA EAX,[RCX + -0x1010101]
NOT ECX
AND EAX,ECX
AND EAX,0x80808080
JZ 0x0011a8a0
MOV ECX,EAX
LEA RSI,[0x1240a2]
SHR ECX,0x10
TEST EAX,0x8080
CMOVZ EAX,ECX
LEA RCX,[RDI + 0x2]
CMOVZ RDI,RCX
MOV ECX,EAX
ADD CL,AL
LEA RCX,[RDX + -0x1]
SBB RDI,0x3
NEG RDX
XOR EAX,EAX
CALL 0x00104820
JMP 0x0011a82c
MOV EDX,EBP
MOV RDI,RBX
CALL 0x00119890
ADD RSP,0x78
POP RBX
POP RBP
POP R12
POP R13
RET
MOV EDX,0x5
LEA RSI,[0x1240de]
XOR EDI,EDI
CALL 0x00104240
MOV ESI,EBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011b660
ADD RSP,0x78
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
RET
MOV dword ptr [R13 + RSI*0x1 + 0x2],0x3b312d
JMP 0x0011a82c
(translation_unit "undefined8 FUN_0011a750(long param_1,int param_2,int param_3)\n\n{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}\n\n" (function_definition "undefined8 FUN_0011a750(long param_1,int param_2,int param_3)\n\n{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}" type_identifier (function_declarator "FUN_0011a750(long param_1,int param_2,int param_3)" identifier (parameter_list "(long param_1,int param_2,int param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "undefined1 auStack_a0 [8];" type_identifier (array_declarator "auStack_a0 [8]" identifier [ number_literal ]) ;) (declaration "uint local_98 [30];" type_identifier (array_declarator "local_98 [30]" identifier [ number_literal ]) ;) (if_statement "if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }" if (parenthesized_expression "(7 < param_2 - 1U)" ( (binary_expression "7 < param_2 - 1U" number_literal < (binary_expression "param_2 - 1U" identifier - number_literal)) )) (compound_statement "{\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }" { (expression_statement "auStack_a0 = (undefined1  [8])0x11a91b;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a91b" identifier = (cast_expression "(undefined1  [8])0x11a91b" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);" (assignment_expression "uVar5 = dcgettext(0,"stab_int_type: bad size %u",5)" identifier = (call_expression "dcgettext(0,"stab_int_type: bad size %u",5)" identifier (argument_list "(0,"stab_int_type: bad size %u",5)" ( number_literal , (string_literal ""stab_int_type: bad size %u"" " string_content ") , number_literal )))) ;) (expression_statement "auStack_a0 = (undefined1  [8])0x11a927;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a927" identifier = (cast_expression "(undefined1  [8])0x11a927" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "FUN_0011b660(uVar5,param_2);" (call_expression "FUN_0011b660(uVar5,param_2)" identifier (argument_list "(uVar5,param_2)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "lVar4 = (ulong)(param_2 - 1U) * 8;" (assignment_expression "lVar4 = (ulong)(param_2 - 1U) * 8" identifier = (binary_expression "(ulong)(param_2 - 1U) * 8" (call_expression "(ulong)(param_2 - 1U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_2 - 1U)" ( (binary_expression "param_2 - 1U" identifier - number_literal) ))) * number_literal)) ;) (if_statement "if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }" { (expression_statement "plVar1 = (long *)(param_1 + 0xb8 + lVar4);" (assignment_expression "plVar1 = (long *)(param_1 + 0xb8 + lVar4)" identifier = (cast_expression "(long *)(param_1 + 0xb8 + lVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb8 + lVar4)" ( (binary_expression "param_1 + 0xb8 + lVar4" (binary_expression "param_1 + 0xb8" identifier + number_literal) + identifier) )))) ;) (expression_statement "lVar4 = *plVar1;" (assignment_expression "lVar4 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (lVar4 != 0) goto LAB_0011a8f0;" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011a8f0;" goto statement_identifier ;)) (expression_statement "lVar4 = *(long *)(param_1 + 0x68);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x68)" identifier = (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "*(long *)(param_1 + 0x68) = lVar4 + 1;" (assignment_expression "*(long *)(param_1 + 0x68) = lVar4 + 1" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = (binary_expression "lVar4 + 1" identifier + number_literal)) ;) (expression_statement "*plVar1 = lVar4;" (assignment_expression "*plVar1 = lVar4" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "auStack_a0 = (undefined1  [8])0x11a88e;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a88e" identifier = (cast_expression "(undefined1  [8])0x11a88e" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);" (call_expression "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" identifier (argument_list "((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" ( (cast_expression "(char *)local_98" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%ld=r%ld;"" " string_content ") , identifier , identifier ))) ;) (expression_statement "lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);" (assignment_expression "lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f)" identifier = (binary_expression "1L << ((char)param_2 * '\b' - 1U & 0x3f)" number_literal << (parenthesized_expression "((char)param_2 * '\b' - 1U & 0x3f)" ( (binary_expression "(char)param_2 * '\b' - 1U & 0x3f" (binary_expression "(char)param_2 * '\b' - 1U" (binary_expression "(char)param_2 * '\b'" (cast_expression "(char)param_2" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) - number_literal) & number_literal) )))) ;) (expression_statement "puVar8 = local_98;" (assignment_expression "puVar8 = local_98" identifier = identifier) ;) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" { (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" identifier = (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" * identifier) + number_literal) & (unary_expression "~*puVar7" ~ (pointer_expression "*puVar7" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" { (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" identifier = (cast_expression "(uint *)((long)puVar7 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 6)" ( (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "auStack_a0 = (undefined1  [8])0x11a8e9;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a8e9" identifier = (cast_expression "(undefined1  [8])0x11a8e9" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);" (call_expression "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" identifier (argument_list "((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" ( (cast_expression "(char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) ))) , (string_literal ""%ld;%ld;"" " string_content ") , (unary_expression "-lVar6" - identifier) , (binary_expression "lVar6 + -1" identifier + number_literal) ))) ;) }) (else_clause "else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" else (compound_statement "{\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" { (expression_statement "plVar1 = (long *)(param_1 + 0x78 + lVar4);" (assignment_expression "plVar1 = (long *)(param_1 + 0x78 + lVar4)" identifier = (cast_expression "(long *)(param_1 + 0x78 + lVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78 + lVar4)" ( (binary_expression "param_1 + 0x78 + lVar4" (binary_expression "param_1 + 0x78" identifier + number_literal) + identifier) )))) ;) (expression_statement "lVar4 = *plVar1;" (assignment_expression "lVar4 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }" { (labeled_statement "LAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;" statement_identifier : (expression_statement "auStack_a0 = (undefined1  [8])0x11a8fa;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a8fa" identifier = (cast_expression "(undefined1  [8])0x11a8fa" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;)) (expression_statement "uVar5 = FUN_00119890(param_1,lVar4,param_2);" (assignment_expression "uVar5 = FUN_00119890(param_1,lVar4,param_2)" identifier = (call_expression "FUN_00119890(param_1,lVar4,param_2)" identifier (argument_list "(param_1,lVar4,param_2)" ( identifier , identifier , identifier )))) ;) (return_statement "return uVar5;" return identifier ;) })) (expression_statement "lVar4 = *(long *)(param_1 + 0x68);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x68)" identifier = (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "*(long *)(param_1 + 0x68) = lVar4 + 1;" (assignment_expression "*(long *)(param_1 + 0x68) = lVar4 + 1" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = (binary_expression "lVar4 + 1" identifier + number_literal)) ;) (expression_statement "*plVar1 = lVar4;" (assignment_expression "*plVar1 = lVar4" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "auStack_a0 = (undefined1  [8])0x11a7b2;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a7b2" identifier = (cast_expression "(undefined1  [8])0x11a7b2" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);" (call_expression "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" identifier (argument_list "((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" ( (cast_expression "(char *)local_98" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%ld=r%ld;"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar8 = local_98;" (assignment_expression "puVar8 = local_98" identifier = identifier) ;) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" { (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" identifier = (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" * identifier) + number_literal) & (unary_expression "~*puVar7" ~ (pointer_expression "*puVar7" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" { (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" identifier = (cast_expression "(uint *)((long)puVar7 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 6)" ( (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;" (assignment_expression "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98" identifier = (binary_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;" (assignment_expression "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30" (pointer_expression "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6)" * (cast_expression "(undefined2 *)((long)puVar8 + (long)local_98 + lVar6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;" (assignment_expression "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0" (pointer_expression "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" * (cast_expression "(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" if (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }" { (expression_statement "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;" (assignment_expression "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d" (pointer_expression "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" * (cast_expression "(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" else (compound_statement "{\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" { (expression_statement "auStack_a0 = (undefined1  [8])0x11a82c;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a82c" identifier = (cast_expression "(undefined1  [8])0x11a82c" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);" (call_expression "sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1)" identifier (argument_list "((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1)" ( (cast_expression "(char *)((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) + number_literal) ))) , (string_literal ""%ld;"" " string_content ") , (binary_expression "(1L << ((char)param_2 * '\b' & 0x3fU)) + -1" (parenthesized_expression "(1L << ((char)param_2 * '\b' & 0x3fU))" ( (binary_expression "1L << ((char)param_2 * '\b' & 0x3fU)" number_literal << (parenthesized_expression "((char)param_2 * '\b' & 0x3fU)" ( (binary_expression "(char)param_2 * '\b' & 0x3fU" (binary_expression "(char)param_2 * '\b'" (cast_expression "(char)param_2" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) ))) )) + number_literal) ))) ;) }))) }))) (expression_statement "auStack_a0 = (undefined1  [8])0x11a843;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a843" identifier = (cast_expression "(undefined1  [8])0x11a843" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);" (assignment_expression "uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2)" identifier = (call_expression "FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2)" identifier (argument_list "(param_1 + 0x60,local_98,lVar4,1,param_2)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) , identifier , identifier , number_literal , identifier )))) ;) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit "bfd_boolean stab_int_type(void *p,uint size,bfd_boolean unsignedp)\n\n{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  bfd_boolean bVar4;\n  long lVar5;\n  char *format;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  stab_write_handle *info;\n  bool bVar9;\n  undefined8 uStack_a0;\n  char buf [100];\n  \n  if (7 < size - 1) {\n    uStack_a0 = 0x11a91b;\n    format = (char *)dcgettext(0,"stab_int_type: bad size %u",5);\n    uStack_a0 = 0x11a927;\n    non_fatal(format,size);\n    return 0;\n  }\n  lVar5 = (ulong)(size - 1) * 8;\n  if (unsignedp == 0) {\n    plVar1 = (long *)((long)p + lVar5 + 0xb8);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) goto LAB_0011a8f0;\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a88e;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    uStack_a0 = 0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)((long)p + lVar5 + 0x78);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) {\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a7b2;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';\n    *(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';\n    if (size == 8) {\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }\n    else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }\n  }\n  uStack_a0 = 0x11a843;\n  bVar4 = stab_push_string((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size);\n  return bVar4;\n}\n\n" (function_definition "bfd_boolean stab_int_type(void *p,uint size,bfd_boolean unsignedp)\n\n{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  bfd_boolean bVar4;\n  long lVar5;\n  char *format;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  stab_write_handle *info;\n  bool bVar9;\n  undefined8 uStack_a0;\n  char buf [100];\n  \n  if (7 < size - 1) {\n    uStack_a0 = 0x11a91b;\n    format = (char *)dcgettext(0,"stab_int_type: bad size %u",5);\n    uStack_a0 = 0x11a927;\n    non_fatal(format,size);\n    return 0;\n  }\n  lVar5 = (ulong)(size - 1) * 8;\n  if (unsignedp == 0) {\n    plVar1 = (long *)((long)p + lVar5 + 0xb8);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) goto LAB_0011a8f0;\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a88e;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    uStack_a0 = 0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)((long)p + lVar5 + 0x78);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) {\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a7b2;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';\n    *(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';\n    if (size == 8) {\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }\n    else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }\n  }\n  uStack_a0 = 0x11a843;\n  bVar4 = stab_push_string((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size);\n  return bVar4;\n}" type_identifier (function_declarator "stab_int_type(void *p,uint size,bfd_boolean unsignedp)" identifier (parameter_list "(void *p,uint size,bfd_boolean unsignedp)" ( (parameter_declaration "void *p" primitive_type (pointer_declarator "*p" * identifier)) , (parameter_declaration "uint size" type_identifier identifier) , (parameter_declaration "bfd_boolean unsignedp" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  bfd_boolean bVar4;\n  long lVar5;\n  char *format;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  stab_write_handle *info;\n  bool bVar9;\n  undefined8 uStack_a0;\n  char buf [100];\n  \n  if (7 < size - 1) {\n    uStack_a0 = 0x11a91b;\n    format = (char *)dcgettext(0,"stab_int_type: bad size %u",5);\n    uStack_a0 = 0x11a927;\n    non_fatal(format,size);\n    return 0;\n  }\n  lVar5 = (ulong)(size - 1) * 8;\n  if (unsignedp == 0) {\n    plVar1 = (long *)((long)p + lVar5 + 0xb8);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) goto LAB_0011a8f0;\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a88e;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    uStack_a0 = 0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)((long)p + lVar5 + 0x78);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) {\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a7b2;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';\n    *(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';\n    if (size == 8) {\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }\n    else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }\n  }\n  uStack_a0 = 0x11a843;\n  bVar4 = stab_push_string((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size);\n  return bVar4;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "bfd_boolean bVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "stab_write_handle *info;" type_identifier (pointer_declarator "*info" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "undefined8 uStack_a0;" type_identifier identifier ;) (declaration "char buf [100];" primitive_type (array_declarator "buf [100]" identifier [ number_literal ]) ;) (if_statement "if (7 < size - 1) {\n    uStack_a0 = 0x11a91b;\n    format = (char *)dcgettext(0,"stab_int_type: bad size %u",5);\n    uStack_a0 = 0x11a927;\n    non_fatal(format,size);\n    return 0;\n  }" if (parenthesized_expression "(7 < size - 1)" ( (binary_expression "7 < size - 1" number_literal < (binary_expression "size - 1" identifier - number_literal)) )) (compound_statement "{\n    uStack_a0 = 0x11a91b;\n    format = (char *)dcgettext(0,"stab_int_type: bad size %u",5);\n    uStack_a0 = 0x11a927;\n    non_fatal(format,size);\n    return 0;\n  }" { (expression_statement "uStack_a0 = 0x11a91b;" (assignment_expression "uStack_a0 = 0x11a91b" identifier = number_literal) ;) (expression_statement "format = (char *)dcgettext(0,"stab_int_type: bad size %u",5);" (assignment_expression "format = (char *)dcgettext(0,"stab_int_type: bad size %u",5)" identifier = (cast_expression "(char *)dcgettext(0,"stab_int_type: bad size %u",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"stab_int_type: bad size %u",5)" identifier (argument_list "(0,"stab_int_type: bad size %u",5)" ( number_literal , (string_literal ""stab_int_type: bad size %u"" " string_content ") , number_literal ))))) ;) (expression_statement "uStack_a0 = 0x11a927;" (assignment_expression "uStack_a0 = 0x11a927" identifier = number_literal) ;) (expression_statement "non_fatal(format,size);" (call_expression "non_fatal(format,size)" identifier (argument_list "(format,size)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "lVar5 = (ulong)(size - 1) * 8;" (assignment_expression "lVar5 = (ulong)(size - 1) * 8" identifier = (binary_expression "(ulong)(size - 1) * 8" (call_expression "(ulong)(size - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(size - 1)" ( (binary_expression "size - 1" identifier - number_literal) ))) * number_literal)) ;) (if_statement "if (unsignedp == 0) {\n    plVar1 = (long *)((long)p + lVar5 + 0xb8);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) goto LAB_0011a8f0;\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a88e;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    uStack_a0 = 0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)((long)p + lVar5 + 0x78);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) {\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a7b2;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';\n    *(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';\n    if (size == 8) {\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }\n    else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }\n  }" if (parenthesized_expression "(unsignedp == 0)" ( (binary_expression "unsignedp == 0" identifier == number_literal) )) (compound_statement "{\n    plVar1 = (long *)((long)p + lVar5 + 0xb8);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) goto LAB_0011a8f0;\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a88e;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    uStack_a0 = 0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }" { (expression_statement "plVar1 = (long *)((long)p + lVar5 + 0xb8);" (assignment_expression "plVar1 = (long *)((long)p + lVar5 + 0xb8)" identifier = (cast_expression "(long *)((long)p + lVar5 + 0xb8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + lVar5 + 0xb8)" ( (binary_expression "(long)p + lVar5 + 0xb8" (binary_expression "(long)p + lVar5" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "lVar5 = *plVar1;" (assignment_expression "lVar5 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (lVar5 != 0) goto LAB_0011a8f0;" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011a8f0;" goto statement_identifier ;)) (expression_statement "lVar5 = *(long *)((long)p + 0x68);" (assignment_expression "lVar5 = *(long *)((long)p + 0x68)" identifier = (pointer_expression "*(long *)((long)p + 0x68)" * (cast_expression "(long *)((long)p + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x68)" ( (binary_expression "(long)p + 0x68" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(long *)((long)p + 0x68) = lVar5 + 1;" (assignment_expression "*(long *)((long)p + 0x68) = lVar5 + 1" (pointer_expression "*(long *)((long)p + 0x68)" * (cast_expression "(long *)((long)p + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x68)" ( (binary_expression "(long)p + 0x68" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "lVar5 + 1" identifier + number_literal)) ;) (expression_statement "*plVar1 = lVar5;" (assignment_expression "*plVar1 = lVar5" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "uStack_a0 = 0x11a88e;" (assignment_expression "uStack_a0 = 0x11a88e" identifier = number_literal) ;) (expression_statement "sprintf(buf,"%ld=r%ld;",lVar5,lVar5);" (call_expression "sprintf(buf,"%ld=r%ld;",lVar5,lVar5)" identifier (argument_list "(buf,"%ld=r%ld;",lVar5,lVar5)" ( identifier , (string_literal ""%ld=r%ld;"" " string_content ") , identifier , identifier ))) ;) (expression_statement "lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f);" (assignment_expression "lVar6 = 1L << ((char)size * '\b' - 1U & 0x3f)" identifier = (binary_expression "1L << ((char)size * '\b' - 1U & 0x3f)" number_literal << (parenthesized_expression "((char)size * '\b' - 1U & 0x3f)" ( (binary_expression "(char)size * '\b' - 1U & 0x3f" (binary_expression "(char)size * '\b' - 1U" (binary_expression "(char)size * '\b'" (cast_expression "(char)size" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) - number_literal) & number_literal) )))) ;) (expression_statement "puVar8 = (uint *)buf;" (assignment_expression "puVar8 = (uint *)buf" identifier = (cast_expression "(uint *)buf" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" { (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" identifier = (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" * identifier) + number_literal) & (unary_expression "~*puVar7" ~ (pointer_expression "*puVar7" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" { (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" identifier = (cast_expression "(uint *)((long)puVar7 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 6)" ( (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "uStack_a0 = 0x11a8e9;" (assignment_expression "uStack_a0 = 0x11a8e9" identifier = number_literal) ;) (expression_statement "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);" (call_expression "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" identifier (argument_list "((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" ( (cast_expression "(char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) ))) , (string_literal ""%ld;%ld;"" " string_content ") , (unary_expression "-lVar6" - identifier) , (binary_expression "lVar6 + -1" identifier + number_literal) ))) ;) }) (else_clause "else {\n    plVar1 = (long *)((long)p + lVar5 + 0x78);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) {\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a7b2;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';\n    *(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';\n    if (size == 8) {\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }\n    else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }\n  }" else (compound_statement "{\n    plVar1 = (long *)((long)p + lVar5 + 0x78);\n    lVar5 = *plVar1;\n    if (lVar5 != 0) {\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }\n    lVar5 = *(long *)((long)p + 0x68);\n    *(long *)((long)p + 0x68) = lVar5 + 1;\n    *plVar1 = lVar5;\n    uStack_a0 = 0x11a7b2;\n    sprintf(buf,"%ld=r%ld;",lVar5,lVar5);\n    puVar8 = (uint *)buf;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';\n    ((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';\n    *(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';\n    if (size == 8) {\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }\n    else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }\n  }" { (expression_statement "plVar1 = (long *)((long)p + lVar5 + 0x78);" (assignment_expression "plVar1 = (long *)((long)p + lVar5 + 0x78)" identifier = (cast_expression "(long *)((long)p + lVar5 + 0x78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + lVar5 + 0x78)" ( (binary_expression "(long)p + lVar5 + 0x78" (binary_expression "(long)p + lVar5" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "lVar5 = *plVar1;" (assignment_expression "lVar5 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (lVar5 != 0) {\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;\n      bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);\n      return bVar4;\n    }" { (labeled_statement "LAB_0011a8f0:\n      uStack_a0 = 0x11a8fa;" statement_identifier : (expression_statement "uStack_a0 = 0x11a8fa;" (assignment_expression "uStack_a0 = 0x11a8fa" identifier = number_literal) ;)) (expression_statement "bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size);" (assignment_expression "bVar4 = stab_push_defined_type((stab_write_handle *)p,lVar5,size)" identifier = (call_expression "stab_push_defined_type((stab_write_handle *)p,lVar5,size)" identifier (argument_list "((stab_write_handle *)p,lVar5,size)" ( (cast_expression "(stab_write_handle *)p" ( (type_descriptor "stab_write_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier )))) ;) (return_statement "return bVar4;" return identifier ;) })) (expression_statement "lVar5 = *(long *)((long)p + 0x68);" (assignment_expression "lVar5 = *(long *)((long)p + 0x68)" identifier = (pointer_expression "*(long *)((long)p + 0x68)" * (cast_expression "(long *)((long)p + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x68)" ( (binary_expression "(long)p + 0x68" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(long *)((long)p + 0x68) = lVar5 + 1;" (assignment_expression "*(long *)((long)p + 0x68) = lVar5 + 1" (pointer_expression "*(long *)((long)p + 0x68)" * (cast_expression "(long *)((long)p + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x68)" ( (binary_expression "(long)p + 0x68" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "lVar5 + 1" identifier + number_literal)) ;) (expression_statement "*plVar1 = lVar5;" (assignment_expression "*plVar1 = lVar5" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "uStack_a0 = 0x11a7b2;" (assignment_expression "uStack_a0 = 0x11a7b2" identifier = number_literal) ;) (expression_statement "sprintf(buf,"%ld=r%ld;",lVar5,lVar5);" (call_expression "sprintf(buf,"%ld=r%ld;",lVar5,lVar5)" identifier (argument_list "(buf,"%ld=r%ld;",lVar5,lVar5)" ( identifier , (string_literal ""%ld=r%ld;"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar8 = (uint *)buf;" (assignment_expression "puVar8 = (uint *)buf" identifier = (cast_expression "(uint *)buf" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" { (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" identifier = (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" * identifier) + number_literal) & (unary_expression "~*puVar7" ~ (pointer_expression "*puVar7" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" { (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" identifier = (cast_expression "(uint *)((long)puVar7 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 6)" ( (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf;" (assignment_expression "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf" identifier = (binary_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)buf" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)buf" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0';" (assignment_expression "((char *)((long)puVar8 + (long)(buf + lVar6)))[0] = '0'" (subscript_expression "((char *)((long)puVar8 + (long)(buf + lVar6)))[0]" (parenthesized_expression "((char *)((long)puVar8 + (long)(buf + lVar6)))" ( (cast_expression "(char *)((long)puVar8 + (long)(buf + lVar6))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)(buf + lVar6))" ( (binary_expression "(long)puVar8 + (long)(buf + lVar6)" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(buf + lVar6)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(buf + lVar6)" ( (binary_expression "buf + lVar6" identifier + identifier) )))) ))) )) [ number_literal ]) = (char_literal "'0'" ' character ')) ;) (expression_statement "((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';';" (assignment_expression "((char *)((long)puVar8 + (long)(buf + lVar6)))[1] = ';'" (subscript_expression "((char *)((long)puVar8 + (long)(buf + lVar6)))[1]" (parenthesized_expression "((char *)((long)puVar8 + (long)(buf + lVar6)))" ( (cast_expression "(char *)((long)puVar8 + (long)(buf + lVar6))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)(buf + lVar6))" ( (binary_expression "(long)puVar8 + (long)(buf + lVar6)" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(buf + lVar6)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(buf + lVar6)" ( (binary_expression "buf + lVar6" identifier + identifier) )))) ))) )) [ number_literal ]) = (char_literal "';'" ' character ')) ;) (expression_statement "*(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0';" (assignment_expression "*(char *)((long)puVar8 + (long)(buf + lVar6 + 2)) = '\0'" (pointer_expression "*(char *)((long)puVar8 + (long)(buf + lVar6 + 2))" * (cast_expression "(char *)((long)puVar8 + (long)(buf + lVar6 + 2))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)(buf + lVar6 + 2))" ( (binary_expression "(long)puVar8 + (long)(buf + lVar6 + 2)" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(buf + lVar6 + 2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(buf + lVar6 + 2)" ( (binary_expression "buf + lVar6 + 2" (binary_expression "buf + lVar6" identifier + identifier) + number_literal) )))) )))) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (size == 8) {\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }\n    else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }" if (parenthesized_expression "(size == 8)" ( (binary_expression "size == 8" identifier == number_literal) )) (compound_statement "{\n      builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);\n    }" { (expression_statement "builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4);" (call_expression "builtin_strncpy((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4)" identifier (argument_list "((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"-1;",4)" ( (cast_expression "(char *)((long)puVar8 + (long)(buf + lVar6 + 2))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)(buf + lVar6 + 2))" ( (binary_expression "(long)puVar8 + (long)(buf + lVar6 + 2)" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(buf + lVar6 + 2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(buf + lVar6 + 2)" ( (binary_expression "buf + lVar6 + 2" (binary_expression "buf + lVar6" identifier + identifier) + number_literal) )))) ))) , (string_literal ""-1;"" " string_content ") , number_literal ))) ;) }) (else_clause "else {\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }" else (compound_statement "{\n      uStack_a0 = 0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);\n    }" { (expression_statement "uStack_a0 = 0x11a82c;" (assignment_expression "uStack_a0 = 0x11a82c" identifier = number_literal) ;) (expression_statement "sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1);" (call_expression "sprintf((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1)" identifier (argument_list "((char *)((long)puVar8 + (long)(buf + lVar6 + 2)),"%ld;",\n              (1L << ((char)size * '\b' & 0x3fU)) + -1)" ( (cast_expression "(char *)((long)puVar8 + (long)(buf + lVar6 + 2))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)(buf + lVar6 + 2))" ( (binary_expression "(long)puVar8 + (long)(buf + lVar6 + 2)" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)(buf + lVar6 + 2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(buf + lVar6 + 2)" ( (binary_expression "buf + lVar6 + 2" (binary_expression "buf + lVar6" identifier + identifier) + number_literal) )))) ))) , (string_literal ""%ld;"" " string_content ") , (binary_expression "(1L << ((char)size * '\b' & 0x3fU)) + -1" (parenthesized_expression "(1L << ((char)size * '\b' & 0x3fU))" ( (binary_expression "1L << ((char)size * '\b' & 0x3fU)" number_literal << (parenthesized_expression "((char)size * '\b' & 0x3fU)" ( (binary_expression "(char)size * '\b' & 0x3fU" (binary_expression "(char)size * '\b'" (cast_expression "(char)size" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) ))) )) + number_literal) ))) ;) }))) }))) (expression_statement "uStack_a0 = 0x11a843;" (assignment_expression "uStack_a0 = 0x11a843" identifier = number_literal) ;) (expression_statement "bVar4 = stab_push_string((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size);" (assignment_expression "bVar4 = stab_push_string((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size)" identifier = (call_expression "stab_push_string((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size)" identifier (argument_list "((stab_write_handle *)((long)p + 0x60),buf,lVar5,1,size)" ( (cast_expression "(stab_write_handle *)((long)p + 0x60)" ( (type_descriptor "stab_write_handle *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)p + 0x60)" ( (binary_expression "(long)p + 0x60" (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) , identifier , identifier , number_literal , identifier )))) ;) (return_statement "return bVar4;" return identifier ;) })))
(translation_unit "undefined8 FUN_0011a750(long param_1,int param_2,int param_3)\n\n{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}\n\n" (function_definition "undefined8 FUN_0011a750(long param_1,int param_2,int param_3)\n\n{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}" type_identifier (function_declarator "FUN_0011a750(long param_1,int param_2,int param_3)" identifier (parameter_list "(long param_1,int param_2,int param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "bool bVar9;" primitive_type identifier ;) (declaration "undefined1 auStack_a0 [8];" type_identifier (array_declarator "auStack_a0 [8]" identifier [ number_literal ]) ;) (declaration "uint local_98 [30];" type_identifier (array_declarator "local_98 [30]" identifier [ number_literal ]) ;) (if_statement "if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }" if (parenthesized_expression "(7 < param_2 - 1U)" ( (binary_expression "7 < param_2 - 1U" number_literal < (binary_expression "param_2 - 1U" identifier - number_literal)) )) (compound_statement "{\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }" { (expression_statement "auStack_a0 = (undefined1  [8])0x11a91b;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a91b" identifier = (cast_expression "(undefined1  [8])0x11a91b" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);" (assignment_expression "uVar5 = dcgettext(0,"stab_int_type: bad size %u",5)" identifier = (call_expression "dcgettext(0,"stab_int_type: bad size %u",5)" identifier (argument_list "(0,"stab_int_type: bad size %u",5)" ( number_literal , (string_literal ""stab_int_type: bad size %u"" " string_content ") , number_literal )))) ;) (expression_statement "auStack_a0 = (undefined1  [8])0x11a927;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a927" identifier = (cast_expression "(undefined1  [8])0x11a927" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "FUN_0011b660(uVar5,param_2);" (call_expression "FUN_0011b660(uVar5,param_2)" identifier (argument_list "(uVar5,param_2)" ( identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "lVar4 = (ulong)(param_2 - 1U) * 8;" (assignment_expression "lVar4 = (ulong)(param_2 - 1U) * 8" identifier = (binary_expression "(ulong)(param_2 - 1U) * 8" (call_expression "(ulong)(param_2 - 1U)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_2 - 1U)" ( (binary_expression "param_2 - 1U" identifier - number_literal) ))) * number_literal)) ;) (if_statement "if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }" { (expression_statement "plVar1 = (long *)(param_1 + 0xb8 + lVar4);" (assignment_expression "plVar1 = (long *)(param_1 + 0xb8 + lVar4)" identifier = (cast_expression "(long *)(param_1 + 0xb8 + lVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb8 + lVar4)" ( (binary_expression "param_1 + 0xb8 + lVar4" (binary_expression "param_1 + 0xb8" identifier + number_literal) + identifier) )))) ;) (expression_statement "lVar4 = *plVar1;" (assignment_expression "lVar4 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (lVar4 != 0) goto LAB_0011a8f0;" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011a8f0;" goto statement_identifier ;)) (expression_statement "lVar4 = *(long *)(param_1 + 0x68);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x68)" identifier = (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "*(long *)(param_1 + 0x68) = lVar4 + 1;" (assignment_expression "*(long *)(param_1 + 0x68) = lVar4 + 1" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = (binary_expression "lVar4 + 1" identifier + number_literal)) ;) (expression_statement "*plVar1 = lVar4;" (assignment_expression "*plVar1 = lVar4" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "auStack_a0 = (undefined1  [8])0x11a88e;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a88e" identifier = (cast_expression "(undefined1  [8])0x11a88e" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);" (call_expression "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" identifier (argument_list "((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" ( (cast_expression "(char *)local_98" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%ld=r%ld;"" " string_content ") , identifier , identifier ))) ;) (expression_statement "lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);" (assignment_expression "lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f)" identifier = (binary_expression "1L << ((char)param_2 * '\b' - 1U & 0x3f)" number_literal << (parenthesized_expression "((char)param_2 * '\b' - 1U & 0x3f)" ( (binary_expression "(char)param_2 * '\b' - 1U & 0x3f" (binary_expression "(char)param_2 * '\b' - 1U" (binary_expression "(char)param_2 * '\b'" (cast_expression "(char)param_2" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) - number_literal) & number_literal) )))) ;) (expression_statement "puVar8 = local_98;" (assignment_expression "puVar8 = local_98" identifier = identifier) ;) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" { (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" identifier = (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" * identifier) + number_literal) & (unary_expression "~*puVar7" ~ (pointer_expression "*puVar7" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" { (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" identifier = (cast_expression "(uint *)((long)puVar7 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 6)" ( (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "auStack_a0 = (undefined1  [8])0x11a8e9;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a8e9" identifier = (cast_expression "(undefined1  [8])0x11a8e9" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);" (call_expression "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" identifier (argument_list "((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" ( (cast_expression "(char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" ( (binary_expression "(long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ))) ))) , (string_literal ""%ld;%ld;"" " string_content ") , (unary_expression "-lVar6" - identifier) , (binary_expression "lVar6 + -1" identifier + number_literal) ))) ;) }) (else_clause "else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" else (compound_statement "{\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" { (expression_statement "plVar1 = (long *)(param_1 + 0x78 + lVar4);" (assignment_expression "plVar1 = (long *)(param_1 + 0x78 + lVar4)" identifier = (cast_expression "(long *)(param_1 + 0x78 + lVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78 + lVar4)" ( (binary_expression "param_1 + 0x78 + lVar4" (binary_expression "param_1 + 0x78" identifier + number_literal) + identifier) )))) ;) (expression_statement "lVar4 = *plVar1;" (assignment_expression "lVar4 = *plVar1" identifier = (pointer_expression "*plVar1" * identifier)) ;) (if_statement "if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }" if (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }" { (labeled_statement "LAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;" statement_identifier : (expression_statement "auStack_a0 = (undefined1  [8])0x11a8fa;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a8fa" identifier = (cast_expression "(undefined1  [8])0x11a8fa" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;)) (expression_statement "uVar5 = FUN_00119890(param_1,lVar4,param_2);" (assignment_expression "uVar5 = FUN_00119890(param_1,lVar4,param_2)" identifier = (call_expression "FUN_00119890(param_1,lVar4,param_2)" identifier (argument_list "(param_1,lVar4,param_2)" ( identifier , identifier , identifier )))) ;) (return_statement "return uVar5;" return identifier ;) })) (expression_statement "lVar4 = *(long *)(param_1 + 0x68);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x68)" identifier = (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "*(long *)(param_1 + 0x68) = lVar4 + 1;" (assignment_expression "*(long *)(param_1 + 0x68) = lVar4 + 1" (pointer_expression "*(long *)(param_1 + 0x68)" * (cast_expression "(long *)(param_1 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) = (binary_expression "lVar4 + 1" identifier + number_literal)) ;) (expression_statement "*plVar1 = lVar4;" (assignment_expression "*plVar1 = lVar4" (pointer_expression "*plVar1" * identifier) = identifier) ;) (expression_statement "auStack_a0 = (undefined1  [8])0x11a7b2;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a7b2" identifier = (cast_expression "(undefined1  [8])0x11a7b2" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);" (call_expression "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" identifier (argument_list "((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" ( (cast_expression "(char *)local_98" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""%ld=r%ld;"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar8 = local_98;" (assignment_expression "puVar8 = local_98" identifier = identifier) ;) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" do (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" { (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" identifier = identifier) ;) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" identifier = (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" * identifier) + number_literal) & (unary_expression "~*puVar7" ~ (pointer_expression "*puVar7" * identifier)))) ;) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" identifier = (binary_expression "uVar2 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) ;) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" identifier = (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" ( (binary_expression "uVar2 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" { (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" identifier = (binary_expression "uVar3 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" if (parenthesized_expression "(bVar9)" ( identifier )) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" { (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" identifier = (cast_expression "(uint *)((long)puVar7 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 6)" ( (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;" (assignment_expression "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98" identifier = (binary_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" ( (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" number_literal - (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" identifier (argument_list "((byte)uVar3,(byte)uVar3)" ( (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar3" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;" (assignment_expression "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30" (pointer_expression "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6)" * (cast_expression "(undefined2 *)((long)puVar8 + (long)local_98 + lVar6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;" (assignment_expression "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0" (pointer_expression "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" * (cast_expression "(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" if (parenthesized_expression "(param_2 == 8)" ( (binary_expression "param_2 == 8" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }" { (expression_statement "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;" (assignment_expression "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d" (pointer_expression "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" * (cast_expression "(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" else (compound_statement "{\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" { (expression_statement "auStack_a0 = (undefined1  [8])0x11a82c;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a82c" identifier = (cast_expression "(undefined1  [8])0x11a82c" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);" (call_expression "sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1)" identifier (argument_list "((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1)" ( (cast_expression "(char *)((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" ( (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) + identifier) + number_literal) ))) , (string_literal ""%ld;"" " string_content ") , (binary_expression "(1L << ((char)param_2 * '\b' & 0x3fU)) + -1" (parenthesized_expression "(1L << ((char)param_2 * '\b' & 0x3fU))" ( (binary_expression "1L << ((char)param_2 * '\b' & 0x3fU)" number_literal << (parenthesized_expression "((char)param_2 * '\b' & 0x3fU)" ( (binary_expression "(char)param_2 * '\b' & 0x3fU" (binary_expression "(char)param_2 * '\b'" (cast_expression "(char)param_2" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\b'" ' escape_sequence ')) & number_literal) ))) )) + number_literal) ))) ;) }))) }))) (expression_statement "auStack_a0 = (undefined1  [8])0x11a843;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a843" identifier = (cast_expression "(undefined1  [8])0x11a843" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);" (assignment_expression "uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2)" identifier = (call_expression "FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2)" identifier (argument_list "(param_1 + 0x60,local_98,lVar4,1,param_2)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) , identifier , identifier , number_literal , identifier )))) ;) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (char_literal ' escape_sequence ')) - LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ))) ))) , (string_literal " string_content ") , (unary_expression - IDENT) , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) + IDENT) + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) + IDENT) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) + IDENT) + LIT) ))) , (string_literal " string_content ") , (binary_expression (parenthesized_expression ( (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (char_literal ' escape_sequence ')) & LIT) ))) )) + LIT) ))) ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , LIT , IDENT )))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined8 FUN_0011a750(long param_1,int param_2,int param_3)\n\n{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}" (type_identifier "undefined8") (function_declarator "FUN_0011a750(long param_1,int param_2,int param_3)" (identifier "FUN_0011a750") (parameter_list "(long param_1,int param_2,int param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  long *plVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  undefined8 uVar5;\n  long lVar6;\n  uint *puVar7;\n  uint *puVar8;\n  bool bVar9;\n  undefined1 auStack_a0 [8];\n  uint local_98 [30];\n  \n  if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }\n  lVar4 = (ulong)(param_2 - 1U) * 8;\n  if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }\n  auStack_a0 = (undefined1  [8])0x11a843;\n  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);\n  return uVar5;\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "uint *puVar7;" (type_identifier "uint") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "bool bVar9;" (primitive_type "bool") (identifier "bVar9") (; ";")) (declaration "undefined1 auStack_a0 [8];" (type_identifier "undefined1") (array_declarator "auStack_a0 [8]" (identifier "auStack_a0") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "uint local_98 [30];" (type_identifier "uint") (array_declarator "local_98 [30]" (identifier "local_98") ([ "[") (number_literal "30") (] "]")) (; ";")) (if_statement "if (7 < param_2 - 1U) {\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }" (if "if") (parenthesized_expression "(7 < param_2 - 1U)" (( "(") (binary_expression "7 < param_2 - 1U" (number_literal "7") (< "<") (binary_expression "param_2 - 1U" (identifier "param_2") (- "-") (number_literal "1U"))) () ")")) (compound_statement "{\n    auStack_a0 = (undefined1  [8])0x11a91b;\n    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);\n    auStack_a0 = (undefined1  [8])0x11a927;\n    FUN_0011b660(uVar5,param_2);\n    return 0;\n  }" ({ "{") (expression_statement "auStack_a0 = (undefined1  [8])0x11a91b;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a91b" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a91b" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a91b"))) (; ";")) (expression_statement "uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);" (assignment_expression "uVar5 = dcgettext(0,"stab_int_type: bad size %u",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"stab_int_type: bad size %u",5)" (identifier "dcgettext") (argument_list "(0,"stab_int_type: bad size %u",5)" (( "(") (number_literal "0") (, ",") (string_literal ""stab_int_type: bad size %u"" (" """) (string_content "stab_int_type: bad size %u") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "auStack_a0 = (undefined1  [8])0x11a927;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a927" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a927" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a927"))) (; ";")) (expression_statement "FUN_0011b660(uVar5,param_2);" (call_expression "FUN_0011b660(uVar5,param_2)" (identifier "FUN_0011b660") (argument_list "(uVar5,param_2)" (( "(") (identifier "uVar5") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "lVar4 = (ulong)(param_2 - 1U) * 8;" (assignment_expression "lVar4 = (ulong)(param_2 - 1U) * 8" (identifier "lVar4") (= "=") (binary_expression "(ulong)(param_2 - 1U) * 8" (call_expression "(ulong)(param_2 - 1U)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_2 - 1U)" (( "(") (binary_expression "param_2 - 1U" (identifier "param_2") (- "-") (number_literal "1U")) () ")"))) (* "*") (number_literal "8"))) (; ";")) (if_statement "if (param_3 == 0) {\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }\n  else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    plVar1 = (long *)(param_1 + 0xb8 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) goto LAB_0011a8f0;\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a88e;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    auStack_a0 = (undefined1  [8])0x11a8e9;\n    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);\n  }" ({ "{") (expression_statement "plVar1 = (long *)(param_1 + 0xb8 + lVar4);" (assignment_expression "plVar1 = (long *)(param_1 + 0xb8 + lVar4)" (identifier "plVar1") (= "=") (cast_expression "(long *)(param_1 + 0xb8 + lVar4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb8 + lVar4)" (( "(") (binary_expression "param_1 + 0xb8 + lVar4" (binary_expression "param_1 + 0xb8" (identifier "param_1") (+ "+") (number_literal "0xb8")) (+ "+") (identifier "lVar4")) () ")")))) (; ";")) (expression_statement "lVar4 = *plVar1;" (assignment_expression "lVar4 = *plVar1" (identifier "lVar4") (= "=") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (; ";")) (if_statement "if (lVar4 != 0) goto LAB_0011a8f0;" (if "if") (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011a8f0;" (goto "goto") (statement_identifier "LAB_0011a8f0") (; ";"))) (expression_statement "lVar4 = *(long *)(param_1 + 0x68);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x68)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "*(long *)(param_1 + 0x68) = lVar4 + 1;" (assignment_expression "*(long *)(param_1 + 0x68) = lVar4 + 1" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (binary_expression "lVar4 + 1" (identifier "lVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*plVar1 = lVar4;" (assignment_expression "*plVar1 = lVar4" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (identifier "lVar4")) (; ";")) (expression_statement "auStack_a0 = (undefined1  [8])0x11a88e;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a88e" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a88e" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a88e"))) (; ";")) (expression_statement "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);" (call_expression "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" (identifier "sprintf") (argument_list "((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" (( "(") (cast_expression "(char *)local_98" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_98")) (, ",") (string_literal ""%ld=r%ld;"" (" """) (string_content "%ld=r%ld;") (" """)) (, ",") (identifier "lVar4") (, ",") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);" (assignment_expression "lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f)" (identifier "lVar6") (= "=") (binary_expression "1L << ((char)param_2 * '\b' - 1U & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((char)param_2 * '\b' - 1U & 0x3f)" (( "(") (binary_expression "(char)param_2 * '\b' - 1U & 0x3f" (binary_expression "(char)param_2 * '\b' - 1U" (binary_expression "(char)param_2 * '\b'" (cast_expression "(char)param_2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_2")) (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (- "-") (number_literal "1U")) (& "&") (number_literal "0x3f")) () ")")))) (; ";")) (expression_statement "puVar8 = local_98;" (assignment_expression "puVar8 = local_98" (identifier "puVar8") (= "=") (identifier "local_98")) (; ";")) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" (do "do") (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" ({ "{") (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" (identifier "puVar7") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" (identifier "uVar2") (= "=") (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar7" (~ "~") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))))) (; ";")) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" (identifier "uVar3") (= "=") (binary_expression "uVar2 & 0x80808080" (identifier "uVar2") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" (identifier "bVar9") (= "=") (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" (( "(") (binary_expression "uVar2 & 0x8080" (identifier "uVar2") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" ({ "{") (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "uVar3 >> 0x10" (identifier "uVar3") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" ({ "{") (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" (identifier "puVar8") (= "=") (cast_expression "(uint *)((long)puVar7 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar7 + 6)" (( "(") (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "auStack_a0 = (undefined1  [8])0x11a8e9;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a8e9" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a8e9" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a8e9"))) (; ";")) (expression_statement "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1);" (call_expression "sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" (identifier "sprintf") (argument_list "((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6\n            ,lVar6 + -1)" (( "(") (cast_expression "(char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)))" (( "(") (binary_expression "(long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" (identifier "CARRY1") (argument_list "((byte)uVar3,(byte)uVar3)" (( "(") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) (, ",") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) () ")"))))) () ")"))) () ")"))) (, ",") (string_literal ""%ld;%ld;"" (" """) (string_content "%ld;%ld;") (" """)) (, ",") (unary_expression "-lVar6" (- "-") (identifier "lVar6")) (, ",") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" (else "else") (compound_statement "{\n    plVar1 = (long *)(param_1 + 0x78 + lVar4);\n    lVar4 = *plVar1;\n    if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }\n    lVar4 = *(long *)(param_1 + 0x68);\n    *(long *)(param_1 + 0x68) = lVar4 + 1;\n    *plVar1 = lVar4;\n    auStack_a0 = (undefined1  [8])0x11a7b2;\n    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);\n    puVar8 = local_98;\n    do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);\n    bVar9 = (uVar2 & 0x8080) == 0;\n    if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }\n    if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }\n    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;\n    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;\n    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;\n    if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }\n  }" ({ "{") (expression_statement "plVar1 = (long *)(param_1 + 0x78 + lVar4);" (assignment_expression "plVar1 = (long *)(param_1 + 0x78 + lVar4)" (identifier "plVar1") (= "=") (cast_expression "(long *)(param_1 + 0x78 + lVar4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78 + lVar4)" (( "(") (binary_expression "param_1 + 0x78 + lVar4" (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) (+ "+") (identifier "lVar4")) () ")")))) (; ";")) (expression_statement "lVar4 = *plVar1;" (assignment_expression "lVar4 = *plVar1" (identifier "lVar4") (= "=") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (; ";")) (if_statement "if (lVar4 != 0) {\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }" (if "if") (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;\n      uVar5 = FUN_00119890(param_1,lVar4,param_2);\n      return uVar5;\n    }" ({ "{") (labeled_statement "LAB_0011a8f0:\n      auStack_a0 = (undefined1  [8])0x11a8fa;" (statement_identifier "LAB_0011a8f0") (: ":") (expression_statement "auStack_a0 = (undefined1  [8])0x11a8fa;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a8fa" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a8fa" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a8fa"))) (; ";"))) (expression_statement "uVar5 = FUN_00119890(param_1,lVar4,param_2);" (assignment_expression "uVar5 = FUN_00119890(param_1,lVar4,param_2)" (identifier "uVar5") (= "=") (call_expression "FUN_00119890(param_1,lVar4,param_2)" (identifier "FUN_00119890") (argument_list "(param_1,lVar4,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "lVar4") (, ",") (identifier "param_2") () ")")))) (; ";")) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}"))) (expression_statement "lVar4 = *(long *)(param_1 + 0x68);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x68)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "*(long *)(param_1 + 0x68) = lVar4 + 1;" (assignment_expression "*(long *)(param_1 + 0x68) = lVar4 + 1" (pointer_expression "*(long *)(param_1 + 0x68)" (* "*") (cast_expression "(long *)(param_1 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (binary_expression "lVar4 + 1" (identifier "lVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*plVar1 = lVar4;" (assignment_expression "*plVar1 = lVar4" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (identifier "lVar4")) (; ";")) (expression_statement "auStack_a0 = (undefined1  [8])0x11a7b2;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a7b2" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a7b2" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a7b2"))) (; ";")) (expression_statement "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);" (call_expression "sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" (identifier "sprintf") (argument_list "((char *)local_98,"%ld=r%ld;",lVar4,lVar4)" (( "(") (cast_expression "(char *)local_98" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_98")) (, ",") (string_literal ""%ld=r%ld;"" (" """) (string_content "%ld=r%ld;") (" """)) (, ",") (identifier "lVar4") (, ",") (identifier "lVar4") () ")"))) (; ";")) (expression_statement "puVar8 = local_98;" (assignment_expression "puVar8 = local_98" (identifier "puVar8") (= "=") (identifier "local_98")) (; ";")) (do_statement "do {\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    } while (uVar3 == 0);" (do "do") (compound_statement "{\n      puVar7 = puVar8;\n      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;\n      uVar3 = uVar2 & 0x80808080;\n      puVar8 = puVar7 + 1;\n    }" ({ "{") (expression_statement "puVar7 = puVar8;" (assignment_expression "puVar7 = puVar8" (identifier "puVar7") (= "=") (identifier "puVar8")) (; ";")) (expression_statement "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;" (assignment_expression "uVar2 = *puVar7 + 0xfefefeff & ~*puVar7" (identifier "uVar2") (= "=") (binary_expression "*puVar7 + 0xfefefeff & ~*puVar7" (binary_expression "*puVar7 + 0xfefefeff" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar7" (~ "~") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))))) (; ";")) (expression_statement "uVar3 = uVar2 & 0x80808080;" (assignment_expression "uVar3 = uVar2 & 0x80808080" (identifier "uVar3") (= "=") (binary_expression "uVar2 & 0x80808080" (identifier "uVar2") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar8 = puVar7 + 1;" (assignment_expression "puVar8 = puVar7 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar9 = (uVar2 & 0x8080) == 0;" (assignment_expression "bVar9 = (uVar2 & 0x8080) == 0" (identifier "bVar9") (= "=") (binary_expression "(uVar2 & 0x8080) == 0" (parenthesized_expression "(uVar2 & 0x8080)" (( "(") (binary_expression "uVar2 & 0x8080" (identifier "uVar2") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar9) {\n      uVar3 = uVar3 >> 0x10;\n    }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n      uVar3 = uVar3 >> 0x10;\n    }" ({ "{") (expression_statement "uVar3 = uVar3 >> 0x10;" (assignment_expression "uVar3 = uVar3 >> 0x10" (identifier "uVar3") (= "=") (binary_expression "uVar3 >> 0x10" (identifier "uVar3") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar9) {\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" (if "if") (parenthesized_expression "(bVar9)" (( "(") (identifier "bVar9") () ")")) (compound_statement "{\n      puVar8 = (uint *)((long)puVar7 + 6);\n    }" ({ "{") (expression_statement "puVar8 = (uint *)((long)puVar7 + 6);" (assignment_expression "puVar8 = (uint *)((long)puVar7 + 6)" (identifier "puVar8") (= "=") (cast_expression "(uint *)((long)puVar7 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar7 + 6)" (( "(") (binary_expression "(long)puVar7 + 6" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;" (assignment_expression "lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98" (identifier "lVar6") (= "=") (binary_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98" (parenthesized_expression "(-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))" (( "(") (binary_expression "-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)" (number_literal "-3") (- "-") (cast_expression "(ulong)CARRY1((byte)uVar3,(byte)uVar3)" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (call_expression "CARRY1((byte)uVar3,(byte)uVar3)" (identifier "CARRY1") (argument_list "((byte)uVar3,(byte)uVar3)" (( "(") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) (, ",") (cast_expression "(byte)uVar3" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar3")) () ")"))))) () ")")) (- "-") (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98")))) (; ";")) (expression_statement "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;" (assignment_expression "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30" (pointer_expression "*(undefined2 *)((long)puVar8 + (long)local_98 + lVar6)" (* "*") (cast_expression "(undefined2 *)((long)puVar8 + (long)local_98 + lVar6)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6)" (( "(") (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98"))) (+ "+") (identifier "lVar6")) () ")")))) (= "=") (number_literal "0x3b30")) (; ";")) (expression_statement "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;" (assignment_expression "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0" (pointer_expression "*(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" (* "*") (cast_expression "(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" (( "(") (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98"))) (+ "+") (identifier "lVar6")) (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_2 == 8) {\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }\n    else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" (if "if") (parenthesized_expression "(param_2 == 8)" (( "(") (binary_expression "param_2 == 8" (identifier "param_2") (== "==") (number_literal "8")) () ")")) (compound_statement "{\n      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;\n    }" ({ "{") (expression_statement "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;" (assignment_expression "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d" (pointer_expression "*(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" (* "*") (cast_expression "(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" (( "(") (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98"))) (+ "+") (identifier "lVar6")) (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0x3b312d")) (; ";")) (} "}")) (else_clause "else {\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" (else "else") (compound_statement "{\n      auStack_a0 = (undefined1  [8])0x11a82c;\n      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);\n    }" ({ "{") (expression_statement "auStack_a0 = (undefined1  [8])0x11a82c;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a82c" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a82c" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a82c"))) (; ";")) (expression_statement "sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);" (call_expression "sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1)" (identifier "sprintf") (argument_list "((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",\n              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1)" (( "(") (cast_expression "(char *)((long)puVar8 + (long)local_98 + lVar6 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + (long)local_98 + lVar6 + 2)" (( "(") (binary_expression "(long)puVar8 + (long)local_98 + lVar6 + 2" (binary_expression "(long)puVar8 + (long)local_98 + lVar6" (binary_expression "(long)puVar8 + (long)local_98" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98"))) (+ "+") (identifier "lVar6")) (+ "+") (number_literal "2")) () ")"))) (, ",") (string_literal ""%ld;"" (" """) (string_content "%ld;") (" """)) (, ",") (binary_expression "(1L << ((char)param_2 * '\b' & 0x3fU)) + -1" (parenthesized_expression "(1L << ((char)param_2 * '\b' & 0x3fU))" (( "(") (binary_expression "1L << ((char)param_2 * '\b' & 0x3fU)" (number_literal "1L") (<< "<<") (parenthesized_expression "((char)param_2 * '\b' & 0x3fU)" (( "(") (binary_expression "(char)param_2 * '\b' & 0x3fU" (binary_expression "(char)param_2 * '\b'" (cast_expression "(char)param_2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_2")) (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) (& "&") (number_literal "0x3fU")) () ")"))) () ")")) (+ "+") (number_literal "-1")) () ")"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "auStack_a0 = (undefined1  [8])0x11a843;" (assignment_expression "auStack_a0 = (undefined1  [8])0x11a843" (identifier "auStack_a0") (= "=") (cast_expression "(undefined1  [8])0x11a843" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (number_literal "0x11a843"))) (; ";")) (expression_statement "uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);" (assignment_expression "uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2)" (identifier "uVar5") (= "=") (call_expression "FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2)" (identifier "FUN_00119800") (argument_list "(param_1 + 0x60,local_98,lVar4,1,param_2)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) (, ",") (identifier "local_98") (, ",") (identifier "lVar4") (, ",") (number_literal "1") (, ",") (identifier "param_2") () ")")))) (; ";")) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}")))

type_1 function_1(void *p,type_2 var_1,type_1 var_4)

{
  long *plVar1;
  type_2 var_7;
  type_2 var_9;
  type_1 bVar4;
  long var_5;
  char *format;
  long var_11;
  type_2 *var_8;
  type_2 *puVar8;
  type_3 *info;
  bool bVar9;
  type_4 uStack_a0;
  char var_13 [100];
  
  if (7 < var_1 - 1) {
    uStack_a0 = 0x11a91b;
    format = (char *)var_2(0,"stab_int_type: bad size %u",5);
    uStack_a0 = 0x11a927;
    var_3(format,var_1);
    return 0;
  }
  var_5 = (type_5)(var_1 - 1) * 8;
  if (var_4 == 0) {
    plVar1 = (long *)((long)p + var_5 + 0xb8);
    var_5 = *plVar1;
    if (var_5 != 0) goto LAB_0011a8f0;
    var_5 = *(long *)((long)p + 0x68);
    *(long *)((long)p + 0x68) = var_5 + 1;
    *plVar1 = var_5;
    uStack_a0 = 0x11a88e;
    var_6(var_13,"%ld=r%ld;",var_5,var_5);
    var_11 = 1L << ((char)var_1 * '\b' - 1U & 0x3f);
    puVar8 = (type_2 *)var_13;
    do {
      var_8 = puVar8;
      var_7 = *var_8 + 0xfefefeff & ~*var_8;
      var_9 = var_7 & 0x80808080;
      puVar8 = var_8 + 1;
    } while (var_9 == 0);
    bVar9 = (var_7 & 0x8080) == 0;
    if (bVar9) {
      var_9 = var_9 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (type_2 *)((long)var_8 + 6);
    }
    uStack_a0 = 0x11a8e9;
    var_6((char *)((long)puVar8 + (-3 - (type_5)var_10((type_6)var_9,(type_6)var_9))),"%ld;%ld;",-var_11
            ,var_11 + -1);
  }
  else {
    plVar1 = (long *)((long)p + var_5 + 0x78);
    var_5 = *plVar1;
    if (var_5 != 0) {
LAB_0011a8f0:
      uStack_a0 = 0x11a8fa;
      bVar4 = var_12((type_3 *)p,var_5,var_1);
      return bVar4;
    }
    var_5 = *(long *)((long)p + 0x68);
    *(long *)((long)p + 0x68) = var_5 + 1;
    *plVar1 = var_5;
    uStack_a0 = 0x11a7b2;
    var_6(var_13,"%ld=r%ld;",var_5,var_5);
    puVar8 = (type_2 *)var_13;
    do {
      var_8 = puVar8;
      var_7 = *var_8 + 0xfefefeff & ~*var_8;
      var_9 = var_7 & 0x80808080;
      puVar8 = var_8 + 1;
    } while (var_9 == 0);
    bVar9 = (var_7 & 0x8080) == 0;
    if (bVar9) {
      var_9 = var_9 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (type_2 *)((long)var_8 + 6);
    }
    var_11 = (-3 - (type_5)var_10((type_6)var_9,(type_6)var_9)) - (long)var_13;
    ((char *)((long)puVar8 + (long)(var_13 + var_11)))[0] = '0';
    ((char *)((long)puVar8 + (long)(var_13 + var_11)))[1] = ';';
    *(char *)((long)puVar8 + (long)(var_13 + var_11 + 2)) = '\0';
    if (var_1 == 8) {
      var_14((char *)((long)puVar8 + (long)(var_13 + var_11 + 2)),"-1;",4);
    }
    else {
      uStack_a0 = 0x11a82c;
      var_6((char *)((long)puVar8 + (long)(var_13 + var_11 + 2)),"%ld;",
              (1L << ((char)var_1 * '\b' & 0x3fU)) + -1);
    }
  }
  uStack_a0 = 0x11a843;
  bVar4 = var_15((type_3 *)((long)p + 0x60),var_13,var_5,1,var_1);
  return bVar4;
}


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

undefined8 MASKED(long param_1,int param_2,int param_3)

{
  long *plVar1;
  uint uVar2;
  uint uVar3;
  long lVar4;
  undefined8 uVar5;
  long lVar6;
  uint *puVar7;
  uint *puVar8;
  bool bVar9;
  undefined1 auStack_a0 [8];
  uint local_98 [30];
  
  if (7 < param_2 - 1U) {
    auStack_a0 = (undefined1  [8])0x11a91b;
    uVar5 = dcgettext(0,"stab_int_type: bad size %u",5);
    auStack_a0 = (undefined1  [8])0x11a927;
    FUN_0011b660(uVar5,param_2);
    return 0;
  }
  lVar4 = (ulong)(param_2 - 1U) * 8;
  if (param_3 == 0) {
    plVar1 = (long *)(param_1 + 0xb8 + lVar4);
    lVar4 = *plVar1;
    if (lVar4 != 0) goto LAB_0011a8f0;
    lVar4 = *(long *)(param_1 + 0x68);
    *(long *)(param_1 + 0x68) = lVar4 + 1;
    *plVar1 = lVar4;
    auStack_a0 = (undefined1  [8])0x11a88e;
    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);
    lVar6 = 1L << ((char)param_2 * '\b' - 1U & 0x3f);
    puVar8 = local_98;
    do {
      puVar7 = puVar8;
      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;
      uVar3 = uVar2 & 0x80808080;
      puVar8 = puVar7 + 1;
    } while (uVar3 == 0);
    bVar9 = (uVar2 & 0x8080) == 0;
    if (bVar9) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (uint *)((long)puVar7 + 6);
    }
    auStack_a0 = (undefined1  [8])0x11a8e9;
    sprintf((char *)((long)puVar8 + (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3))),"%ld;%ld;",-lVar6
            ,lVar6 + -1);
  }
  else {
    plVar1 = (long *)(param_1 + 0x78 + lVar4);
    lVar4 = *plVar1;
    if (lVar4 != 0) {
LAB_0011a8f0:
      auStack_a0 = (undefined1  [8])0x11a8fa;
      uVar5 = FUN_00119890(param_1,lVar4,param_2);
      return uVar5;
    }
    lVar4 = *(long *)(param_1 + 0x68);
    *(long *)(param_1 + 0x68) = lVar4 + 1;
    *plVar1 = lVar4;
    auStack_a0 = (undefined1  [8])0x11a7b2;
    sprintf((char *)local_98,"%ld=r%ld;",lVar4,lVar4);
    puVar8 = local_98;
    do {
      puVar7 = puVar8;
      uVar2 = *puVar7 + 0xfefefeff & ~*puVar7;
      uVar3 = uVar2 & 0x80808080;
      puVar8 = puVar7 + 1;
    } while (uVar3 == 0);
    bVar9 = (uVar2 & 0x8080) == 0;
    if (bVar9) {
      uVar3 = uVar3 >> 0x10;
    }
    if (bVar9) {
      puVar8 = (uint *)((long)puVar7 + 6);
    }
    lVar6 = (-3 - (ulong)CARRY1((byte)uVar3,(byte)uVar3)) - (long)local_98;
    *(undefined2 *)((long)puVar8 + (long)local_98 + lVar6) = 0x3b30;
    *(undefined1 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0;
    if (param_2 == 8) {
      *(undefined4 *)((long)puVar8 + (long)local_98 + lVar6 + 2) = 0x3b312d;
    }
    else {
      auStack_a0 = (undefined1  [8])0x11a82c;
      sprintf((char *)((long)puVar8 + (long)local_98 + lVar6 + 2),"%ld;",
              (1L << ((char)param_2 * '\b' & 0x3fU)) + -1);
    }
  }
  auStack_a0 = (undefined1  [8])0x11a843;
  uVar5 = FUN_00119800(param_1 + 0x60,local_98,lVar4,1,param_2);
  return uVar5;
}

