
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

void store_var(int var_name)

{
  bc_var **ppbVar1;
  char cVar2;
  bc_num pbVar3;
  bc_var *num;
  long lVar4;
  
  if (3 < var_name) {
    ppbVar1 = variables + var_name;
    num = *ppbVar1;
    if (num == (bc_var *)0x0) {
      num = (bc_var *)bc_malloc(8);
      *ppbVar1 = num;
      bc_init_num((bc_num *)num);
      if (num == (bc_var *)0x0) {
        return;
      }
    }
    bc_free_num(&num->v_value);
    pbVar3 = bc_copy_num(ex_stack->s_num);
    num->v_value = pbVar3;
    return;
  }
  cVar2 = bc_is_neg(ex_stack->s_num);
  if (cVar2 == '\0') {
    lVar4 = bc_num2long(ex_stack->s_num);
    cVar2 = bc_is_zero(ex_stack->s_num);
    if ((lVar4 == 0) && (cVar2 == '\0')) {
      if (var_name == 1) {
        o_base = 0x7fffffff;
        rt_warn("obase too large, set to %d",0x7fffffff);
        return;
      }
      if (1 < var_name) {
        if (var_name == 2) {
          scale = 0x7fffffff;
          rt_warn("scale too large, set to %d",0x7fffffff);
          return;
        }
        if (var_name != 3) {
          return;
        }
        rt_warn("history too large, set to unlimited");
        unstifle_history();
        return;
      }
      if (var_name != 0) {
        return;
      }
      if (std_only != 0) {
LAB_0001964b:
        i_base = 0x10;
        rt_warn("ibase too large, set to 16");
        return;
      }
    }
    else {
      if (var_name == 1) {
        if (1 < lVar4) {
          o_base = lVar4;
          return;
        }
        o_base = 2;
        rt_warn("obase too small, set to 2");
        return;
      }
      if (1 < var_name) {
        if (var_name == 2) {
          scale = lVar4;
          return;
        }
        if (var_name != 3) {
          return;
        }
        n_history = lVar4;
        if (-1 < lVar4) {
          stifle_history(lVar4);
          return;
        }
        goto LAB_000194ce;
      }
      if (var_name != 0) {
        return;
      }
      if (lVar4 < 2) {
        i_base = 2;
        rt_warn("ibase too small, set to 2");
        return;
      }
      if (lVar4 < 0x11) {
        i_base = lVar4;
        return;
      }
      if (std_only != 0) goto LAB_0001964b;
      if (lVar4 < 0x25) {
        if (lVar4 < 0x10) {
          i_base = lVar4;
          return;
        }
        if (warn_not_std == 0) {
          i_base = lVar4;
          return;
        }
        rt_warn("ibase larger than 16 is non-standard");
        i_base = lVar4;
        return;
      }
    }
    i_base = 0x24;
    rt_warn("ibase too large, set to 36");
  }
  else {
    if (var_name == 1) {
      rt_warn("negative obase, set to 2");
      o_base = 2;
      return;
    }
    if (var_name < 2) {
      if (var_name != 0) {
        return;
      }
      rt_warn("negative ibase, set to 2");
      i_base = 2;
      return;
    }
    if (var_name == 2) {
      rt_warn("negative scale, set to 0");
      scale = 0;
      return;
    }
    if (var_name != 3) {
      return;
    }
    n_history = -1;
LAB_000194ce:
    unstifle_history();
  }
  return;
}



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

void FUN_00019410(int param_1)

{
  int *piVar1;
  char cVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  int iVar5;
  
  if (3 < param_1) {
    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);
    puVar4 = (undefined4 *)*piVar1;
    if (puVar4 == (undefined4 *)0x0) {
      puVar4 = (undefined4 *)FUN_0001ab90(8);
      *piVar1 = (int)puVar4;
      FUN_0001c550(puVar4);
      if (puVar4 == (undefined4 *)0x0) {
        return;
      }
    }
    FUN_0001c2e0(puVar4);
    uVar3 = FUN_0001c540(*DAT_0002c2bc);
    *puVar4 = uVar3;
    return;
  }
  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);
  if (cVar2 == '\0') {
    iVar5 = FUN_0001f020(*DAT_0002c2bc);
    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);
    if ((iVar5 == 0) && (cVar2 == '\0')) {
      if (param_1 == 1) {
        DAT_0002c280 = 0x7fffffff;
        FUN_0001b830("obase too large, set to %d",0x7fffffff);
        return;
      }
      if (1 < param_1) {
        if (param_1 == 2) {
          DAT_0002c298 = 0x7fffffff;
          FUN_0001b830("scale too large, set to %d",0x7fffffff);
          return;
        }
        if (param_1 != 3) {
          return;
        }
        FUN_0001b830("history too large, set to unlimited");
        unstifle_history();
        return;
      }
      if (param_1 != 0) {
        return;
      }
      if (DAT_0002c1ec != 0) {
LAB_0001964b:
        DAT_0002c2a4 = 0x10;
        FUN_0001b830("ibase too large, set to 16");
        return;
      }
    }
    else {
      if (param_1 == 1) {
        if (1 < iVar5) {
          DAT_0002c280 = iVar5;
          return;
        }
        DAT_0002c280 = 2;
        FUN_0001b830("obase too small, set to 2");
        return;
      }
      if (1 < param_1) {
        if (param_1 == 2) {
          DAT_0002c298 = iVar5;
          return;
        }
        if (param_1 != 3) {
          return;
        }
        DAT_0002c264 = iVar5;
        if (-1 < iVar5) {
          stifle_history(iVar5);
          return;
        }
        goto LAB_000194ce;
      }
      if (param_1 != 0) {
        return;
      }
      if (iVar5 < 2) {
        DAT_0002c2a4 = 2;
        FUN_0001b830("ibase too small, set to 2");
        return;
      }
      if (iVar5 < 0x11) {
        DAT_0002c2a4 = iVar5;
        return;
      }
      if (DAT_0002c1ec != 0) goto LAB_0001964b;
      if (iVar5 < 0x25) {
        if (iVar5 < 0x10) {
          DAT_0002c2a4 = iVar5;
          return;
        }
        if (DAT_0002c1f0 == 0) {
          DAT_0002c2a4 = iVar5;
          return;
        }
        FUN_0001b830("ibase larger than 16 is non-standard");
        DAT_0002c2a4 = iVar5;
        return;
      }
    }
    DAT_0002c2a4 = 0x24;
    FUN_0001b830("ibase too large, set to 36");
  }
  else {
    if (param_1 == 1) {
      FUN_0001b830("negative obase, set to 2");
      DAT_0002c280 = 2;
      return;
    }
    if (param_1 < 2) {
      if (param_1 != 0) {
        return;
      }
      FUN_0001b830("negative ibase, set to 2");
      DAT_0002c2a4 = 2;
      return;
    }
    if (param_1 == 2) {
      FUN_0001b830("negative scale, set to 0");
      DAT_0002c298 = 0;
      return;
    }
    if (param_1 != 3) {
      return;
    }
    DAT_0002c264 = -1;
LAB_000194ce:
    unstifle_history();
  }
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000117c0
ADD EBX,0x12aeb
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x20]
CMP ESI,0x3
JLE 0x00019490
LEA EAX,[EBX + 0x3b0]
MOV EAX,dword ptr [EAX]
LEA EDI,[EAX + ESI*0x4]
MOV ESI,dword ptr [EDI]
TEST ESI,ESI
JZ 0x00019468
SUB ESP,0xc
PUSH ESI
CALL 0x0001c2e0
POP EAX
LEA EAX,[EBX + 0x3b8]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EAX]
CALL 0x0001c540
ADD ESP,0x10
MOV dword ptr [ESI],EAX
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH 0x8
CALL 0x0001ab90
MOV dword ptr [EDI],EAX
MOV ESI,EAX
MOV dword ptr [ESP],EAX
CALL 0x0001c550
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x0001943c
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDI,[EBX + 0x3b8]
SUB ESP,0xc
MOV EAX,dword ptr [EDI]
PUSH dword ptr [EAX]
CALL 0x0001c6c0
ADD ESP,0x10
TEST AL,AL
JZ 0x00019508
CMP ESI,0x1
JZ 0x00019600
JLE 0x000194d8
CMP ESI,0x2
JZ 0x000195e0
CMP ESI,0x3
JNZ 0x0001945a
LEA EAX,[EBX + 0x360]
MOV dword ptr [EAX],0xffffffff
CALL 0x000112b0
JMP 0x0001945a
TEST ESI,ESI
JNZ 0x0001945a
SUB ESP,0xc
LEA EAX,[EBX + 0xffff8a44]
MOV EBP,0x2
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
LEA EAX,[EBX + 0x3a0]
MOV dword ptr [EAX],EBP
JMP 0x0001945a
MOV EAX,dword ptr [EDI]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x0001f020
MOV EBP,EAX
POP EAX
MOV EAX,dword ptr [EDI]
PUSH dword ptr [EAX]
CALL 0x0001c6d0
ADD ESP,0x10
TEST EBP,EBP
JNZ 0x0001952f
TEST AL,AL
JZ 0x00019628
CMP ESI,0x1
JZ 0x000196f0
JLE 0x00019550
CMP ESI,0x2
JNZ 0x000195b0
LEA EAX,[EBX + 0x394]
MOV dword ptr [EAX],EBP
JMP 0x0001945a
TEST ESI,ESI
JNZ 0x0001945a
CMP EBP,0x1
JLE 0x00019698
CMP EBP,0x10
JLE 0x000194f7
LEA EAX,[EBX + 0x2e8]
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JNZ 0x0001964b
CMP EBP,0x24
JG 0x00019744
CMP EBP,0xf
JLE 0x000194f7
LEA EAX,[EBX + 0x2ec]
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x000194f7
SUB ESP,0xc
LEA EAX,[EBX + 0xffff8bfc]
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x000194f7
CMP ESI,0x3
JNZ 0x0001945a
LEA EAX,[EBX + 0x360]
MOV dword ptr [EAX],EBP
TEST EBP,EBP
JS 0x000194ce
SUB ESP,0xc
PUSH EBP
CALL 0x00011050
ADD ESP,0x10
JMP 0x0001945a
SUB ESP,0xc
LEA EAX,[EBX + 0xffff8a76]
XOR EBP,EBP
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x0001953f
SUB ESP,0xc
LEA EAX,[EBX + 0xffff8a5d]
MOV EBP,0x2
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
LEA EAX,[EBX + 0x37c]
MOV dword ptr [EAX],EBP
JMP 0x0001945a
CMP ESI,0x1
JZ 0x0001971c
JG 0x0001966e
TEST ESI,ESI
JNZ 0x0001945a
LEA EAX,[EBX + 0x2e8]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00019744
LEA EAX,[EBX + 0x3a0]
SUB ESP,0xc
MOV dword ptr [EAX],0x10
LEA EAX,[EBX + 0xffff8aa9]
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x0001945a
CMP ESI,0x2
JZ 0x000196c0
CMP ESI,0x3
JNZ 0x0001945a
SUB ESP,0xc
LEA EAX,[EBX + 0xffff8c24]
PUSH EAX
CALL 0x0001b830
CALL 0x000112b0
ADD ESP,0x10
JMP 0x0001945a
LEA EAX,[EBX + 0x3a0]
SUB ESP,0xc
MOV dword ptr [EAX],0x2
LEA EAX,[EBX + 0xffff8a8f]
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x0001945a
LEA EAX,[EBX + 0x394]
SUB ESP,0x8
MOV dword ptr [EAX],0x7fffffff
LEA EAX,[EBX + 0xffff8b14]
PUSH 0x7fffffff
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x0001945a
CMP EBP,0x1
JG 0x00019617
LEA EAX,[EBX + 0x37c]
SUB ESP,0xc
MOV dword ptr [EAX],0x2
LEA EAX,[EBX + 0xffff8afa]
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x0001945a
LEA EAX,[EBX + 0x37c]
SUB ESP,0x8
MOV dword ptr [EAX],0x7fffffff
LEA EAX,[EBX + 0xffff8adf]
PUSH 0x7fffffff
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x0001945a
LEA EAX,[EBX + 0x3a0]
SUB ESP,0xc
MOV dword ptr [EAX],0x24
LEA EAX,[EBX + 0xffff8ac4]
PUSH EAX
CALL 0x0001b830
ADD ESP,0x10
JMP 0x0001945a
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00019410(int param_1)\n\n{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00019410(int param_1)\n\n{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00019410(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (if_statement "if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }" if (parenthesized_expression "(3 < param_1)" ( (binary_expression "3 < param_1" number_literal < identifier) )) (compound_statement "{\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }" { (expression_statement "piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);" (assignment_expression "piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4)" identifier = (cast_expression "(int *)(DAT_0002c2b4 + param_1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002c2b4 + param_1 * 4)" ( (binary_expression "DAT_0002c2b4 + param_1 * 4" identifier + (binary_expression "param_1 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar4 = (undefined4 *)*piVar1;" (assignment_expression "puVar4 = (undefined4 *)*piVar1" identifier = (cast_expression "(undefined4 *)*piVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }" { (expression_statement "puVar4 = (undefined4 *)FUN_0001ab90(8);" (assignment_expression "puVar4 = (undefined4 *)FUN_0001ab90(8)" identifier = (cast_expression "(undefined4 *)FUN_0001ab90(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001ab90(8)" identifier (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "*piVar1 = (int)puVar4;" (assignment_expression "*piVar1 = (int)puVar4" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FUN_0001c550(puVar4);" (call_expression "FUN_0001c550(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "FUN_0001c2e0(puVar4);" (call_expression "FUN_0001c2e0(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (expression_statement "uVar3 = FUN_0001c540(*DAT_0002c2bc);" (assignment_expression "uVar3 = FUN_0001c540(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001c540(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (expression_statement "*puVar4 = uVar3;" (assignment_expression "*puVar4 = uVar3" (pointer_expression "*puVar4" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "cVar2 = FUN_0001c6c0(*DAT_0002c2bc);" (assignment_expression "cVar2 = FUN_0001c6c0(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001c6c0(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (if_statement "if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }" { (expression_statement "iVar5 = FUN_0001f020(*DAT_0002c2bc);" (assignment_expression "iVar5 = FUN_0001f020(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001f020(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (expression_statement "cVar2 = FUN_0001c6d0(*DAT_0002c2bc);" (assignment_expression "cVar2 = FUN_0001c6d0(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001c6d0(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (if_statement "if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" if (parenthesized_expression "((iVar5 == 0) && (cVar2 == '\0'))" ( (binary_expression "(iVar5 == 0) && (cVar2 == '\0')" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }" { (if_statement "if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }" { (expression_statement "DAT_0002c280 = 0x7fffffff;" (assignment_expression "DAT_0002c280 = 0x7fffffff" identifier = number_literal) ;) (expression_statement "FUN_0001b830("obase too large, set to %d",0x7fffffff);" (call_expression "FUN_0001b830("obase too large, set to %d",0x7fffffff)" identifier (argument_list "("obase too large, set to %d",0x7fffffff)" ( (string_literal ""obase too large, set to %d"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" if (parenthesized_expression "(1 < param_1)" ( (binary_expression "1 < param_1" number_literal < identifier) )) (compound_statement "{\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" { (if_statement "if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }" { (expression_statement "DAT_0002c298 = 0x7fffffff;" (assignment_expression "DAT_0002c298 = 0x7fffffff" identifier = number_literal) ;) (expression_statement "FUN_0001b830("scale too large, set to %d",0x7fffffff);" (call_expression "FUN_0001b830("scale too large, set to %d",0x7fffffff)" identifier (argument_list "("scale too large, set to %d",0x7fffffff)" ( (string_literal ""scale too large, set to %d"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 3) {\n          return;\n        }" if (parenthesized_expression "(param_1 != 3)" ( (binary_expression "param_1 != 3" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0001b830("history too large, set to unlimited");" (call_expression "FUN_0001b830("history too large, set to unlimited")" identifier (argument_list "("history too large, set to unlimited")" ( (string_literal ""history too large, set to unlimited"" " string_content ") ))) ;) (expression_statement "unstifle_history();" (call_expression "unstifle_history()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 0) {\n        return;\n      }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }" if (parenthesized_expression "(DAT_0002c1ec != 0)" ( (binary_expression "DAT_0002c1ec != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }" { (labeled_statement "LAB_0001964b:\n        DAT_0002c2a4 = 0x10;" statement_identifier : (expression_statement "DAT_0002c2a4 = 0x10;" (assignment_expression "DAT_0002c2a4 = 0x10" identifier = number_literal) ;)) (expression_statement "FUN_0001b830("ibase too large, set to 16");" (call_expression "FUN_0001b830("ibase too large, set to 16")" identifier (argument_list "("ibase too large, set to 16")" ( (string_literal ""ibase too large, set to 16"" " string_content ") ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" else (compound_statement "{\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" { (if_statement "if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }" { (if_statement "if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }" if (parenthesized_expression "(1 < iVar5)" ( (binary_expression "1 < iVar5" number_literal < identifier) )) (compound_statement "{\n          DAT_0002c280 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c280 = iVar5;" (assignment_expression "DAT_0002c280 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_0002c280 = 2;" (assignment_expression "DAT_0002c280 = 2" identifier = number_literal) ;) (expression_statement "FUN_0001b830("obase too small, set to 2");" (call_expression "FUN_0001b830("obase too small, set to 2")" identifier (argument_list "("obase too small, set to 2")" ( (string_literal ""obase too small, set to 2"" " string_content ") ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }" if (parenthesized_expression "(1 < param_1)" ( (binary_expression "1 < param_1" number_literal < identifier) )) (compound_statement "{\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }" { (if_statement "if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_0002c298 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c298 = iVar5;" (assignment_expression "DAT_0002c298 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 3) {\n          return;\n        }" if (parenthesized_expression "(param_1 != 3)" ( (binary_expression "param_1 != 3" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "DAT_0002c264 = iVar5;" (assignment_expression "DAT_0002c264 = iVar5" identifier = identifier) ;) (if_statement "if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (compound_statement "{\n          stifle_history(iVar5);\n          return;\n        }" { (expression_statement "stifle_history(iVar5);" (call_expression "stifle_history(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_000194ce;" goto statement_identifier ;) })) (if_statement "if (param_1 != 0) {\n        return;\n      }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }" if (parenthesized_expression "(iVar5 < 2)" ( (binary_expression "iVar5 < 2" identifier < number_literal) )) (compound_statement "{\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }" { (expression_statement "DAT_0002c2a4 = 2;" (assignment_expression "DAT_0002c2a4 = 2" identifier = number_literal) ;) (expression_statement "FUN_0001b830("ibase too small, set to 2");" (call_expression "FUN_0001b830("ibase too small, set to 2")" identifier (argument_list "("ibase too small, set to 2")" ( (string_literal ""ibase too small, set to 2"" " string_content ") ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" if (parenthesized_expression "(iVar5 < 0x11)" ( (binary_expression "iVar5 < 0x11" identifier < number_literal) )) (compound_statement "{\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" { (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (DAT_0002c1ec != 0) goto LAB_0001964b;" if (parenthesized_expression "(DAT_0002c1ec != 0)" ( (binary_expression "DAT_0002c1ec != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001964b;" goto statement_identifier ;)) (if_statement "if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" if (parenthesized_expression "(iVar5 < 0x25)" ( (binary_expression "iVar5 < 0x25" identifier < number_literal) )) (compound_statement "{\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" { (if_statement "if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" if (parenthesized_expression "(iVar5 < 0x10)" ( (binary_expression "iVar5 < 0x10" identifier < number_literal) )) (compound_statement "{\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" if (parenthesized_expression "(DAT_0002c1f0 == 0)" ( (binary_expression "DAT_0002c1f0 == 0" identifier == number_literal) )) (compound_statement "{\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0001b830("ibase larger than 16 is non-standard");" (call_expression "FUN_0001b830("ibase larger than 16 is non-standard")" identifier (argument_list "("ibase larger than 16 is non-standard")" ( (string_literal ""ibase larger than 16 is non-standard"" " string_content ") ))) ;) (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) }))) (expression_statement "DAT_0002c2a4 = 0x24;" (assignment_expression "DAT_0002c2a4 = 0x24" identifier = number_literal) ;) (expression_statement "FUN_0001b830("ibase too large, set to 36");" (call_expression "FUN_0001b830("ibase too large, set to 36")" identifier (argument_list "("ibase too large, set to 36")" ( (string_literal ""ibase too large, set to 36"" " string_content ") ))) ;) }) (else_clause "else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" else (compound_statement "{\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" { (if_statement "if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }" { (expression_statement "FUN_0001b830("negative obase, set to 2");" (call_expression "FUN_0001b830("negative obase, set to 2")" identifier (argument_list "("negative obase, set to 2")" ( (string_literal ""negative obase, set to 2"" " string_content ") ))) ;) (expression_statement "DAT_0002c280 = 2;" (assignment_expression "DAT_0002c280 = 2" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }" if (parenthesized_expression "(param_1 < 2)" ( (binary_expression "param_1 < 2" identifier < number_literal) )) (compound_statement "{\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }" { (if_statement "if (param_1 != 0) {\n        return;\n      }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0001b830("negative ibase, set to 2");" (call_expression "FUN_0001b830("negative ibase, set to 2")" identifier (argument_list "("negative ibase, set to 2")" ( (string_literal ""negative ibase, set to 2"" " string_content ") ))) ;) (expression_statement "DAT_0002c2a4 = 2;" (assignment_expression "DAT_0002c2a4 = 2" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }" { (expression_statement "FUN_0001b830("negative scale, set to 0");" (call_expression "FUN_0001b830("negative scale, set to 0")" identifier (argument_list "("negative scale, set to 0")" ( (string_literal ""negative scale, set to 0"" " string_content ") ))) ;) (expression_statement "DAT_0002c298 = 0;" (assignment_expression "DAT_0002c298 = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 3) {\n      return;\n    }" if (parenthesized_expression "(param_1 != 3)" ( (binary_expression "param_1 != 3" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "DAT_0002c264 = -1;" (assignment_expression "DAT_0002c264 = -1" identifier = number_literal) ;) (labeled_statement "LAB_000194ce:\n    unstifle_history();" statement_identifier : (expression_statement "unstifle_history();" (call_expression "unstifle_history()" identifier (argument_list "()" ( ))) ;)) }))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid store_var(int var_name)\n\n{\n  bc_var **ppbVar1;\n  char cVar2;\n  bc_num pbVar3;\n  bc_var *num;\n  long lVar4;\n  \n  if (3 < var_name) {\n    ppbVar1 = variables + var_name;\n    num = *ppbVar1;\n    if (num == (bc_var *)0x0) {\n      num = (bc_var *)bc_malloc(8);\n      *ppbVar1 = num;\n      bc_init_num((bc_num *)num);\n      if (num == (bc_var *)0x0) {\n        return;\n      }\n    }\n    bc_free_num(&num->v_value);\n    pbVar3 = bc_copy_num(ex_stack->s_num);\n    num->v_value = pbVar3;\n    return;\n  }\n  cVar2 = bc_is_neg(ex_stack->s_num);\n  if (cVar2 == '\0') {\n    lVar4 = bc_num2long(ex_stack->s_num);\n    cVar2 = bc_is_zero(ex_stack->s_num);\n    if ((lVar4 == 0) && (cVar2 == '\0')) {\n      if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }\n    i_base = 0x24;\n    rt_warn("ibase too large, set to 36");\n  }\n  else {\n    if (var_name == 1) {\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }\n    if (var_name < 2) {\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }\n    if (var_name == 2) {\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }\n    if (var_name != 3) {\n      return;\n    }\n    n_history = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}\n\n" comment comment (function_definition "void store_var(int var_name)\n\n{\n  bc_var **ppbVar1;\n  char cVar2;\n  bc_num pbVar3;\n  bc_var *num;\n  long lVar4;\n  \n  if (3 < var_name) {\n    ppbVar1 = variables + var_name;\n    num = *ppbVar1;\n    if (num == (bc_var *)0x0) {\n      num = (bc_var *)bc_malloc(8);\n      *ppbVar1 = num;\n      bc_init_num((bc_num *)num);\n      if (num == (bc_var *)0x0) {\n        return;\n      }\n    }\n    bc_free_num(&num->v_value);\n    pbVar3 = bc_copy_num(ex_stack->s_num);\n    num->v_value = pbVar3;\n    return;\n  }\n  cVar2 = bc_is_neg(ex_stack->s_num);\n  if (cVar2 == '\0') {\n    lVar4 = bc_num2long(ex_stack->s_num);\n    cVar2 = bc_is_zero(ex_stack->s_num);\n    if ((lVar4 == 0) && (cVar2 == '\0')) {\n      if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }\n    i_base = 0x24;\n    rt_warn("ibase too large, set to 36");\n  }\n  else {\n    if (var_name == 1) {\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }\n    if (var_name < 2) {\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }\n    if (var_name == 2) {\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }\n    if (var_name != 3) {\n      return;\n    }\n    n_history = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" primitive_type (function_declarator "store_var(int var_name)" identifier (parameter_list "(int var_name)" ( (parameter_declaration "int var_name" primitive_type identifier) ))) (compound_statement "{\n  bc_var **ppbVar1;\n  char cVar2;\n  bc_num pbVar3;\n  bc_var *num;\n  long lVar4;\n  \n  if (3 < var_name) {\n    ppbVar1 = variables + var_name;\n    num = *ppbVar1;\n    if (num == (bc_var *)0x0) {\n      num = (bc_var *)bc_malloc(8);\n      *ppbVar1 = num;\n      bc_init_num((bc_num *)num);\n      if (num == (bc_var *)0x0) {\n        return;\n      }\n    }\n    bc_free_num(&num->v_value);\n    pbVar3 = bc_copy_num(ex_stack->s_num);\n    num->v_value = pbVar3;\n    return;\n  }\n  cVar2 = bc_is_neg(ex_stack->s_num);\n  if (cVar2 == '\0') {\n    lVar4 = bc_num2long(ex_stack->s_num);\n    cVar2 = bc_is_zero(ex_stack->s_num);\n    if ((lVar4 == 0) && (cVar2 == '\0')) {\n      if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }\n    i_base = 0x24;\n    rt_warn("ibase too large, set to 36");\n  }\n  else {\n    if (var_name == 1) {\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }\n    if (var_name < 2) {\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }\n    if (var_name == 2) {\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }\n    if (var_name != 3) {\n      return;\n    }\n    n_history = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" { (declaration "bc_var **ppbVar1;" type_identifier (pointer_declarator "**ppbVar1" * (pointer_declarator "*ppbVar1" * identifier)) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bc_num pbVar3;" type_identifier identifier ;) (declaration "bc_var *num;" type_identifier (pointer_declarator "*num" * identifier) ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (3 < var_name) {\n    ppbVar1 = variables + var_name;\n    num = *ppbVar1;\n    if (num == (bc_var *)0x0) {\n      num = (bc_var *)bc_malloc(8);\n      *ppbVar1 = num;\n      bc_init_num((bc_num *)num);\n      if (num == (bc_var *)0x0) {\n        return;\n      }\n    }\n    bc_free_num(&num->v_value);\n    pbVar3 = bc_copy_num(ex_stack->s_num);\n    num->v_value = pbVar3;\n    return;\n  }" if (parenthesized_expression "(3 < var_name)" ( (binary_expression "3 < var_name" number_literal < identifier) )) (compound_statement "{\n    ppbVar1 = variables + var_name;\n    num = *ppbVar1;\n    if (num == (bc_var *)0x0) {\n      num = (bc_var *)bc_malloc(8);\n      *ppbVar1 = num;\n      bc_init_num((bc_num *)num);\n      if (num == (bc_var *)0x0) {\n        return;\n      }\n    }\n    bc_free_num(&num->v_value);\n    pbVar3 = bc_copy_num(ex_stack->s_num);\n    num->v_value = pbVar3;\n    return;\n  }" { (expression_statement "ppbVar1 = variables + var_name;" (assignment_expression "ppbVar1 = variables + var_name" identifier = (binary_expression "variables + var_name" identifier + identifier)) ;) (expression_statement "num = *ppbVar1;" (assignment_expression "num = *ppbVar1" identifier = (pointer_expression "*ppbVar1" * identifier)) ;) (if_statement "if (num == (bc_var *)0x0) {\n      num = (bc_var *)bc_malloc(8);\n      *ppbVar1 = num;\n      bc_init_num((bc_num *)num);\n      if (num == (bc_var *)0x0) {\n        return;\n      }\n    }" if (parenthesized_expression "(num == (bc_var *)0x0)" ( (binary_expression "num == (bc_var *)0x0" identifier == (cast_expression "(bc_var *)0x0" ( (type_descriptor "bc_var *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      num = (bc_var *)bc_malloc(8);\n      *ppbVar1 = num;\n      bc_init_num((bc_num *)num);\n      if (num == (bc_var *)0x0) {\n        return;\n      }\n    }" { (expression_statement "num = (bc_var *)bc_malloc(8);" (assignment_expression "num = (bc_var *)bc_malloc(8)" identifier = (cast_expression "(bc_var *)bc_malloc(8)" ( (type_descriptor "bc_var *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bc_malloc(8)" identifier (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "*ppbVar1 = num;" (assignment_expression "*ppbVar1 = num" (pointer_expression "*ppbVar1" * identifier) = identifier) ;) (expression_statement "bc_init_num((bc_num *)num);" (call_expression "bc_init_num((bc_num *)num)" identifier (argument_list "((bc_num *)num)" ( (cast_expression "(bc_num *)num" ( (type_descriptor "bc_num *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (num == (bc_var *)0x0) {\n        return;\n      }" if (parenthesized_expression "(num == (bc_var *)0x0)" ( (binary_expression "num == (bc_var *)0x0" identifier == (cast_expression "(bc_var *)0x0" ( (type_descriptor "bc_var *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "bc_free_num(&num->v_value);" (call_expression "bc_free_num(&num->v_value)" identifier (argument_list "(&num->v_value)" ( (pointer_expression "&num->v_value" & (field_expression "num->v_value" identifier -> field_identifier)) ))) ;) (expression_statement "pbVar3 = bc_copy_num(ex_stack->s_num);" (assignment_expression "pbVar3 = bc_copy_num(ex_stack->s_num)" identifier = (call_expression "bc_copy_num(ex_stack->s_num)" identifier (argument_list "(ex_stack->s_num)" ( (field_expression "ex_stack->s_num" identifier -> field_identifier) )))) ;) (expression_statement "num->v_value = pbVar3;" (assignment_expression "num->v_value = pbVar3" (field_expression "num->v_value" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "cVar2 = bc_is_neg(ex_stack->s_num);" (assignment_expression "cVar2 = bc_is_neg(ex_stack->s_num)" identifier = (call_expression "bc_is_neg(ex_stack->s_num)" identifier (argument_list "(ex_stack->s_num)" ( (field_expression "ex_stack->s_num" identifier -> field_identifier) )))) ;) (if_statement "if (cVar2 == '\0') {\n    lVar4 = bc_num2long(ex_stack->s_num);\n    cVar2 = bc_is_zero(ex_stack->s_num);\n    if ((lVar4 == 0) && (cVar2 == '\0')) {\n      if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }\n    i_base = 0x24;\n    rt_warn("ibase too large, set to 36");\n  }\n  else {\n    if (var_name == 1) {\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }\n    if (var_name < 2) {\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }\n    if (var_name == 2) {\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }\n    if (var_name != 3) {\n      return;\n    }\n    n_history = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    lVar4 = bc_num2long(ex_stack->s_num);\n    cVar2 = bc_is_zero(ex_stack->s_num);\n    if ((lVar4 == 0) && (cVar2 == '\0')) {\n      if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }\n    i_base = 0x24;\n    rt_warn("ibase too large, set to 36");\n  }" { (expression_statement "lVar4 = bc_num2long(ex_stack->s_num);" (assignment_expression "lVar4 = bc_num2long(ex_stack->s_num)" identifier = (call_expression "bc_num2long(ex_stack->s_num)" identifier (argument_list "(ex_stack->s_num)" ( (field_expression "ex_stack->s_num" identifier -> field_identifier) )))) ;) (expression_statement "cVar2 = bc_is_zero(ex_stack->s_num);" (assignment_expression "cVar2 = bc_is_zero(ex_stack->s_num)" identifier = (call_expression "bc_is_zero(ex_stack->s_num)" identifier (argument_list "(ex_stack->s_num)" ( (field_expression "ex_stack->s_num" identifier -> field_identifier) )))) ;) (if_statement "if ((lVar4 == 0) && (cVar2 == '\0')) {\n      if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }" if (parenthesized_expression "((lVar4 == 0) && (cVar2 == '\0'))" ( (binary_expression "(lVar4 == 0) && (cVar2 == '\0')" (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }\n    }" { (if_statement "if (var_name == 1) {\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }" if (parenthesized_expression "(var_name == 1)" ( (binary_expression "var_name == 1" identifier == number_literal) )) (compound_statement "{\n        o_base = 0x7fffffff;\n        rt_warn("obase too large, set to %d",0x7fffffff);\n        return;\n      }" { (expression_statement "o_base = 0x7fffffff;" (assignment_expression "o_base = 0x7fffffff" identifier = number_literal) ;) (expression_statement "rt_warn("obase too large, set to %d",0x7fffffff);" (call_expression "rt_warn("obase too large, set to %d",0x7fffffff)" identifier (argument_list "("obase too large, set to %d",0x7fffffff)" ( (string_literal ""obase too large, set to %d"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < var_name) {\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" if (parenthesized_expression "(1 < var_name)" ( (binary_expression "1 < var_name" number_literal < identifier) )) (compound_statement "{\n        if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        rt_warn("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" { (if_statement "if (var_name == 2) {\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }" if (parenthesized_expression "(var_name == 2)" ( (binary_expression "var_name == 2" identifier == number_literal) )) (compound_statement "{\n          scale = 0x7fffffff;\n          rt_warn("scale too large, set to %d",0x7fffffff);\n          return;\n        }" { (expression_statement "scale = 0x7fffffff;" (assignment_expression "scale = 0x7fffffff" identifier = number_literal) ;) (expression_statement "rt_warn("scale too large, set to %d",0x7fffffff);" (call_expression "rt_warn("scale too large, set to %d",0x7fffffff)" identifier (argument_list "("scale too large, set to %d",0x7fffffff)" ( (string_literal ""scale too large, set to %d"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (var_name != 3) {\n          return;\n        }" if (parenthesized_expression "(var_name != 3)" ( (binary_expression "var_name != 3" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "rt_warn("history too large, set to unlimited");" (call_expression "rt_warn("history too large, set to unlimited")" identifier (argument_list "("history too large, set to unlimited")" ( (string_literal ""history too large, set to unlimited"" " string_content ") ))) ;) (expression_statement "unstifle_history();" (call_expression "unstifle_history()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (var_name != 0) {\n        return;\n      }" if (parenthesized_expression "(var_name != 0)" ( (binary_expression "var_name != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (std_only != 0) {\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }" if (parenthesized_expression "(std_only != 0)" ( (binary_expression "std_only != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001964b:\n        i_base = 0x10;\n        rt_warn("ibase too large, set to 16");\n        return;\n      }" { (labeled_statement "LAB_0001964b:\n        i_base = 0x10;" statement_identifier : (expression_statement "i_base = 0x10;" (assignment_expression "i_base = 0x10" identifier = number_literal) ;)) (expression_statement "rt_warn("ibase too large, set to 16");" (call_expression "rt_warn("ibase too large, set to 16")" identifier (argument_list "("ibase too large, set to 16")" ( (string_literal ""ibase too large, set to 16"" " string_content ") ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }" else (compound_statement "{\n      if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }\n      if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (var_name != 0) {\n        return;\n      }\n      if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }\n      if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }\n      if (std_only != 0) goto LAB_0001964b;\n      if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }\n    }" { (if_statement "if (var_name == 1) {\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }" if (parenthesized_expression "(var_name == 1)" ( (binary_expression "var_name == 1" identifier == number_literal) )) (compound_statement "{\n        if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }\n        o_base = 2;\n        rt_warn("obase too small, set to 2");\n        return;\n      }" { (if_statement "if (1 < lVar4) {\n          o_base = lVar4;\n          return;\n        }" if (parenthesized_expression "(1 < lVar4)" ( (binary_expression "1 < lVar4" number_literal < identifier) )) (compound_statement "{\n          o_base = lVar4;\n          return;\n        }" { (expression_statement "o_base = lVar4;" (assignment_expression "o_base = lVar4" identifier = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "o_base = 2;" (assignment_expression "o_base = 2" identifier = number_literal) ;) (expression_statement "rt_warn("obase too small, set to 2");" (call_expression "rt_warn("obase too small, set to 2")" identifier (argument_list "("obase too small, set to 2")" ( (string_literal ""obase too small, set to 2"" " string_content ") ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < var_name) {\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }" if (parenthesized_expression "(1 < var_name)" ( (binary_expression "1 < var_name" number_literal < identifier) )) (compound_statement "{\n        if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }\n        if (var_name != 3) {\n          return;\n        }\n        n_history = lVar4;\n        if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }\n        goto LAB_000194ce;\n      }" { (if_statement "if (var_name == 2) {\n          scale = lVar4;\n          return;\n        }" if (parenthesized_expression "(var_name == 2)" ( (binary_expression "var_name == 2" identifier == number_literal) )) (compound_statement "{\n          scale = lVar4;\n          return;\n        }" { (expression_statement "scale = lVar4;" (assignment_expression "scale = lVar4" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (var_name != 3) {\n          return;\n        }" if (parenthesized_expression "(var_name != 3)" ( (binary_expression "var_name != 3" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "n_history = lVar4;" (assignment_expression "n_history = lVar4" identifier = identifier) ;) (if_statement "if (-1 < lVar4) {\n          stifle_history(lVar4);\n          return;\n        }" if (parenthesized_expression "(-1 < lVar4)" ( (binary_expression "-1 < lVar4" number_literal < identifier) )) (compound_statement "{\n          stifle_history(lVar4);\n          return;\n        }" { (expression_statement "stifle_history(lVar4);" (call_expression "stifle_history(lVar4)" identifier (argument_list "(lVar4)" ( identifier ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_000194ce;" goto statement_identifier ;) })) (if_statement "if (var_name != 0) {\n        return;\n      }" if (parenthesized_expression "(var_name != 0)" ( (binary_expression "var_name != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (lVar4 < 2) {\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }" if (parenthesized_expression "(lVar4 < 2)" ( (binary_expression "lVar4 < 2" identifier < number_literal) )) (compound_statement "{\n        i_base = 2;\n        rt_warn("ibase too small, set to 2");\n        return;\n      }" { (expression_statement "i_base = 2;" (assignment_expression "i_base = 2" identifier = number_literal) ;) (expression_statement "rt_warn("ibase too small, set to 2");" (call_expression "rt_warn("ibase too small, set to 2")" identifier (argument_list "("ibase too small, set to 2")" ( (string_literal ""ibase too small, set to 2"" " string_content ") ))) ;) (return_statement "return;" return ;) })) (if_statement "if (lVar4 < 0x11) {\n        i_base = lVar4;\n        return;\n      }" if (parenthesized_expression "(lVar4 < 0x11)" ( (binary_expression "lVar4 < 0x11" identifier < number_literal) )) (compound_statement "{\n        i_base = lVar4;\n        return;\n      }" { (expression_statement "i_base = lVar4;" (assignment_expression "i_base = lVar4" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (std_only != 0) goto LAB_0001964b;" if (parenthesized_expression "(std_only != 0)" ( (binary_expression "std_only != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001964b;" goto statement_identifier ;)) (if_statement "if (lVar4 < 0x25) {\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }" if (parenthesized_expression "(lVar4 < 0x25)" ( (binary_expression "lVar4 < 0x25" identifier < number_literal) )) (compound_statement "{\n        if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }\n        if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }\n        rt_warn("ibase larger than 16 is non-standard");\n        i_base = lVar4;\n        return;\n      }" { (if_statement "if (lVar4 < 0x10) {\n          i_base = lVar4;\n          return;\n        }" if (parenthesized_expression "(lVar4 < 0x10)" ( (binary_expression "lVar4 < 0x10" identifier < number_literal) )) (compound_statement "{\n          i_base = lVar4;\n          return;\n        }" { (expression_statement "i_base = lVar4;" (assignment_expression "i_base = lVar4" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (warn_not_std == 0) {\n          i_base = lVar4;\n          return;\n        }" if (parenthesized_expression "(warn_not_std == 0)" ( (binary_expression "warn_not_std == 0" identifier == number_literal) )) (compound_statement "{\n          i_base = lVar4;\n          return;\n        }" { (expression_statement "i_base = lVar4;" (assignment_expression "i_base = lVar4" identifier = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "rt_warn("ibase larger than 16 is non-standard");" (call_expression "rt_warn("ibase larger than 16 is non-standard")" identifier (argument_list "("ibase larger than 16 is non-standard")" ( (string_literal ""ibase larger than 16 is non-standard"" " string_content ") ))) ;) (expression_statement "i_base = lVar4;" (assignment_expression "i_base = lVar4" identifier = identifier) ;) (return_statement "return;" return ;) })) }))) (expression_statement "i_base = 0x24;" (assignment_expression "i_base = 0x24" identifier = number_literal) ;) (expression_statement "rt_warn("ibase too large, set to 36");" (call_expression "rt_warn("ibase too large, set to 36")" identifier (argument_list "("ibase too large, set to 36")" ( (string_literal ""ibase too large, set to 36"" " string_content ") ))) ;) }) (else_clause "else {\n    if (var_name == 1) {\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }\n    if (var_name < 2) {\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }\n    if (var_name == 2) {\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }\n    if (var_name != 3) {\n      return;\n    }\n    n_history = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" else (compound_statement "{\n    if (var_name == 1) {\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }\n    if (var_name < 2) {\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }\n    if (var_name == 2) {\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }\n    if (var_name != 3) {\n      return;\n    }\n    n_history = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" { (if_statement "if (var_name == 1) {\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }" if (parenthesized_expression "(var_name == 1)" ( (binary_expression "var_name == 1" identifier == number_literal) )) (compound_statement "{\n      rt_warn("negative obase, set to 2");\n      o_base = 2;\n      return;\n    }" { (expression_statement "rt_warn("negative obase, set to 2");" (call_expression "rt_warn("negative obase, set to 2")" identifier (argument_list "("negative obase, set to 2")" ( (string_literal ""negative obase, set to 2"" " string_content ") ))) ;) (expression_statement "o_base = 2;" (assignment_expression "o_base = 2" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (var_name < 2) {\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }" if (parenthesized_expression "(var_name < 2)" ( (binary_expression "var_name < 2" identifier < number_literal) )) (compound_statement "{\n      if (var_name != 0) {\n        return;\n      }\n      rt_warn("negative ibase, set to 2");\n      i_base = 2;\n      return;\n    }" { (if_statement "if (var_name != 0) {\n        return;\n      }" if (parenthesized_expression "(var_name != 0)" ( (binary_expression "var_name != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "rt_warn("negative ibase, set to 2");" (call_expression "rt_warn("negative ibase, set to 2")" identifier (argument_list "("negative ibase, set to 2")" ( (string_literal ""negative ibase, set to 2"" " string_content ") ))) ;) (expression_statement "i_base = 2;" (assignment_expression "i_base = 2" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (var_name == 2) {\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }" if (parenthesized_expression "(var_name == 2)" ( (binary_expression "var_name == 2" identifier == number_literal) )) (compound_statement "{\n      rt_warn("negative scale, set to 0");\n      scale = 0;\n      return;\n    }" { (expression_statement "rt_warn("negative scale, set to 0");" (call_expression "rt_warn("negative scale, set to 0")" identifier (argument_list "("negative scale, set to 0")" ( (string_literal ""negative scale, set to 0"" " string_content ") ))) ;) (expression_statement "scale = 0;" (assignment_expression "scale = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (var_name != 3) {\n      return;\n    }" if (parenthesized_expression "(var_name != 3)" ( (binary_expression "var_name != 3" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "n_history = -1;" (assignment_expression "n_history = -1" identifier = number_literal) ;) (labeled_statement "LAB_000194ce:\n    unstifle_history();" statement_identifier : (expression_statement "unstifle_history();" (call_expression "unstifle_history()" identifier (argument_list "()" ( ))) ;)) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00019410(int param_1)\n\n{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}\n\n" (function_definition "void FUN_00019410(int param_1)\n\n{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00019410(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (if_statement "if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }" if (parenthesized_expression "(3 < param_1)" ( (binary_expression "3 < param_1" number_literal < identifier) )) (compound_statement "{\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }" { (expression_statement "piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);" (assignment_expression "piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4)" identifier = (cast_expression "(int *)(DAT_0002c2b4 + param_1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0002c2b4 + param_1 * 4)" ( (binary_expression "DAT_0002c2b4 + param_1 * 4" identifier + (binary_expression "param_1 * 4" identifier * number_literal)) )))) ;) (expression_statement "puVar4 = (undefined4 *)*piVar1;" (assignment_expression "puVar4 = (undefined4 *)*piVar1" identifier = (cast_expression "(undefined4 *)*piVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }" { (expression_statement "puVar4 = (undefined4 *)FUN_0001ab90(8);" (assignment_expression "puVar4 = (undefined4 *)FUN_0001ab90(8)" identifier = (cast_expression "(undefined4 *)FUN_0001ab90(8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001ab90(8)" identifier (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "*piVar1 = (int)puVar4;" (assignment_expression "*piVar1 = (int)puVar4" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FUN_0001c550(puVar4);" (call_expression "FUN_0001c550(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "FUN_0001c2e0(puVar4);" (call_expression "FUN_0001c2e0(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (expression_statement "uVar3 = FUN_0001c540(*DAT_0002c2bc);" (assignment_expression "uVar3 = FUN_0001c540(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001c540(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (expression_statement "*puVar4 = uVar3;" (assignment_expression "*puVar4 = uVar3" (pointer_expression "*puVar4" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "cVar2 = FUN_0001c6c0(*DAT_0002c2bc);" (assignment_expression "cVar2 = FUN_0001c6c0(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001c6c0(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (if_statement "if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }" { (expression_statement "iVar5 = FUN_0001f020(*DAT_0002c2bc);" (assignment_expression "iVar5 = FUN_0001f020(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001f020(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (expression_statement "cVar2 = FUN_0001c6d0(*DAT_0002c2bc);" (assignment_expression "cVar2 = FUN_0001c6d0(*DAT_0002c2bc)" identifier = (call_expression "FUN_0001c6d0(*DAT_0002c2bc)" identifier (argument_list "(*DAT_0002c2bc)" ( (pointer_expression "*DAT_0002c2bc" * identifier) )))) ;) (if_statement "if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" if (parenthesized_expression "((iVar5 == 0) && (cVar2 == '\0'))" ( (binary_expression "(iVar5 == 0) && (cVar2 == '\0')" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }" { (if_statement "if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }" { (expression_statement "DAT_0002c280 = 0x7fffffff;" (assignment_expression "DAT_0002c280 = 0x7fffffff" identifier = number_literal) ;) (expression_statement "FUN_0001b830("obase too large, set to %d",0x7fffffff);" (call_expression "FUN_0001b830("obase too large, set to %d",0x7fffffff)" identifier (argument_list "("obase too large, set to %d",0x7fffffff)" ( (string_literal ""obase too large, set to %d"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" if (parenthesized_expression "(1 < param_1)" ( (binary_expression "1 < param_1" number_literal < identifier) )) (compound_statement "{\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" { (if_statement "if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }" { (expression_statement "DAT_0002c298 = 0x7fffffff;" (assignment_expression "DAT_0002c298 = 0x7fffffff" identifier = number_literal) ;) (expression_statement "FUN_0001b830("scale too large, set to %d",0x7fffffff);" (call_expression "FUN_0001b830("scale too large, set to %d",0x7fffffff)" identifier (argument_list "("scale too large, set to %d",0x7fffffff)" ( (string_literal ""scale too large, set to %d"" " string_content ") , number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 3) {\n          return;\n        }" if (parenthesized_expression "(param_1 != 3)" ( (binary_expression "param_1 != 3" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0001b830("history too large, set to unlimited");" (call_expression "FUN_0001b830("history too large, set to unlimited")" identifier (argument_list "("history too large, set to unlimited")" ( (string_literal ""history too large, set to unlimited"" " string_content ") ))) ;) (expression_statement "unstifle_history();" (call_expression "unstifle_history()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 0) {\n        return;\n      }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }" if (parenthesized_expression "(DAT_0002c1ec != 0)" ( (binary_expression "DAT_0002c1ec != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }" { (labeled_statement "LAB_0001964b:\n        DAT_0002c2a4 = 0x10;" statement_identifier : (expression_statement "DAT_0002c2a4 = 0x10;" (assignment_expression "DAT_0002c2a4 = 0x10" identifier = number_literal) ;)) (expression_statement "FUN_0001b830("ibase too large, set to 16");" (call_expression "FUN_0001b830("ibase too large, set to 16")" identifier (argument_list "("ibase too large, set to 16")" ( (string_literal ""ibase too large, set to 16"" " string_content ") ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" else (compound_statement "{\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" { (if_statement "if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }" { (if_statement "if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }" if (parenthesized_expression "(1 < iVar5)" ( (binary_expression "1 < iVar5" number_literal < identifier) )) (compound_statement "{\n          DAT_0002c280 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c280 = iVar5;" (assignment_expression "DAT_0002c280 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "DAT_0002c280 = 2;" (assignment_expression "DAT_0002c280 = 2" identifier = number_literal) ;) (expression_statement "FUN_0001b830("obase too small, set to 2");" (call_expression "FUN_0001b830("obase too small, set to 2")" identifier (argument_list "("obase too small, set to 2")" ( (string_literal ""obase too small, set to 2"" " string_content ") ))) ;) (return_statement "return;" return ;) })) (if_statement "if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }" if (parenthesized_expression "(1 < param_1)" ( (binary_expression "1 < param_1" number_literal < identifier) )) (compound_statement "{\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }" { (if_statement "if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n          DAT_0002c298 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c298 = iVar5;" (assignment_expression "DAT_0002c298 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 3) {\n          return;\n        }" if (parenthesized_expression "(param_1 != 3)" ( (binary_expression "param_1 != 3" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "DAT_0002c264 = iVar5;" (assignment_expression "DAT_0002c264 = iVar5" identifier = identifier) ;) (if_statement "if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (compound_statement "{\n          stifle_history(iVar5);\n          return;\n        }" { (expression_statement "stifle_history(iVar5);" (call_expression "stifle_history(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_000194ce;" goto statement_identifier ;) })) (if_statement "if (param_1 != 0) {\n        return;\n      }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }" if (parenthesized_expression "(iVar5 < 2)" ( (binary_expression "iVar5 < 2" identifier < number_literal) )) (compound_statement "{\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }" { (expression_statement "DAT_0002c2a4 = 2;" (assignment_expression "DAT_0002c2a4 = 2" identifier = number_literal) ;) (expression_statement "FUN_0001b830("ibase too small, set to 2");" (call_expression "FUN_0001b830("ibase too small, set to 2")" identifier (argument_list "("ibase too small, set to 2")" ( (string_literal ""ibase too small, set to 2"" " string_content ") ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" if (parenthesized_expression "(iVar5 < 0x11)" ( (binary_expression "iVar5 < 0x11" identifier < number_literal) )) (compound_statement "{\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" { (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (DAT_0002c1ec != 0) goto LAB_0001964b;" if (parenthesized_expression "(DAT_0002c1ec != 0)" ( (binary_expression "DAT_0002c1ec != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001964b;" goto statement_identifier ;)) (if_statement "if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" if (parenthesized_expression "(iVar5 < 0x25)" ( (binary_expression "iVar5 < 0x25" identifier < number_literal) )) (compound_statement "{\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" { (if_statement "if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" if (parenthesized_expression "(iVar5 < 0x10)" ( (binary_expression "iVar5 < 0x10" identifier < number_literal) )) (compound_statement "{\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" if (parenthesized_expression "(DAT_0002c1f0 == 0)" ( (binary_expression "DAT_0002c1f0 == 0" identifier == number_literal) )) (compound_statement "{\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" { (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0001b830("ibase larger than 16 is non-standard");" (call_expression "FUN_0001b830("ibase larger than 16 is non-standard")" identifier (argument_list "("ibase larger than 16 is non-standard")" ( (string_literal ""ibase larger than 16 is non-standard"" " string_content ") ))) ;) (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" identifier = identifier) ;) (return_statement "return;" return ;) })) }))) (expression_statement "DAT_0002c2a4 = 0x24;" (assignment_expression "DAT_0002c2a4 = 0x24" identifier = number_literal) ;) (expression_statement "FUN_0001b830("ibase too large, set to 36");" (call_expression "FUN_0001b830("ibase too large, set to 36")" identifier (argument_list "("ibase too large, set to 36")" ( (string_literal ""ibase too large, set to 36"" " string_content ") ))) ;) }) (else_clause "else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" else (compound_statement "{\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" { (if_statement "if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }" { (expression_statement "FUN_0001b830("negative obase, set to 2");" (call_expression "FUN_0001b830("negative obase, set to 2")" identifier (argument_list "("negative obase, set to 2")" ( (string_literal ""negative obase, set to 2"" " string_content ") ))) ;) (expression_statement "DAT_0002c280 = 2;" (assignment_expression "DAT_0002c280 = 2" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }" if (parenthesized_expression "(param_1 < 2)" ( (binary_expression "param_1 < 2" identifier < number_literal) )) (compound_statement "{\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }" { (if_statement "if (param_1 != 0) {\n        return;\n      }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "FUN_0001b830("negative ibase, set to 2");" (call_expression "FUN_0001b830("negative ibase, set to 2")" identifier (argument_list "("negative ibase, set to 2")" ( (string_literal ""negative ibase, set to 2"" " string_content ") ))) ;) (expression_statement "DAT_0002c2a4 = 2;" (assignment_expression "DAT_0002c2a4 = 2" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }" { (expression_statement "FUN_0001b830("negative scale, set to 0");" (call_expression "FUN_0001b830("negative scale, set to 0")" identifier (argument_list "("negative scale, set to 0")" ( (string_literal ""negative scale, set to 0"" " string_content ") ))) ;) (expression_statement "DAT_0002c298 = 0;" (assignment_expression "DAT_0002c298 = 0" identifier = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (param_1 != 3) {\n      return;\n    }" if (parenthesized_expression "(param_1 != 3)" ( (binary_expression "param_1 != 3" identifier != number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "DAT_0002c264 = -1;" (assignment_expression "DAT_0002c264 = -1" identifier = number_literal) ;) (labeled_statement "LAB_000194ce:\n    unstifle_history();" statement_identifier : (expression_statement "unstifle_history();" (call_expression "unstifle_history()" identifier (argument_list "()" ( ))) ;)) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) }))) (return_statement return ;) })))
(function_definition "void FUN_00019410(int param_1)\n\n{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00019410(int param_1)" (identifier "FUN_00019410") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int *piVar1;\n  char cVar2;\n  undefined4 uVar3;\n  undefined4 *puVar4;\n  int iVar5;\n  \n  if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }\n  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);\n  if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (if_statement "if (3 < param_1) {\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }" (if "if") (parenthesized_expression "(3 < param_1)" (( "(") (binary_expression "3 < param_1" (number_literal "3") (< "<") (identifier "param_1")) () ")")) (compound_statement "{\n    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);\n    puVar4 = (undefined4 *)*piVar1;\n    if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }\n    FUN_0001c2e0(puVar4);\n    uVar3 = FUN_0001c540(*DAT_0002c2bc);\n    *puVar4 = uVar3;\n    return;\n  }" ({ "{") (expression_statement "piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);" (assignment_expression "piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4)" (identifier "piVar1") (= "=") (cast_expression "(int *)(DAT_0002c2b4 + param_1 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0002c2b4 + param_1 * 4)" (( "(") (binary_expression "DAT_0002c2b4 + param_1 * 4" (identifier "DAT_0002c2b4") (+ "+") (binary_expression "param_1 * 4" (identifier "param_1") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "puVar4 = (undefined4 *)*piVar1;" (assignment_expression "puVar4 = (undefined4 *)*piVar1" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)*piVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (if_statement "if (puVar4 == (undefined4 *)0x0) {\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 == (undefined4 *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar4 = (undefined4 *)FUN_0001ab90(8);\n      *piVar1 = (int)puVar4;\n      FUN_0001c550(puVar4);\n      if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }\n    }" ({ "{") (expression_statement "puVar4 = (undefined4 *)FUN_0001ab90(8);" (assignment_expression "puVar4 = (undefined4 *)FUN_0001ab90(8)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)FUN_0001ab90(8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001ab90(8)" (identifier "FUN_0001ab90") (argument_list "(8)" (( "(") (number_literal "8") () ")"))))) (; ";")) (expression_statement "*piVar1 = (int)puVar4;" (assignment_expression "*piVar1 = (int)puVar4" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (cast_expression "(int)puVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar4"))) (; ";")) (expression_statement "FUN_0001c550(puVar4);" (call_expression "FUN_0001c550(puVar4)" (identifier "FUN_0001c550") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (if_statement "if (puVar4 == (undefined4 *)0x0) {\n        return;\n      }" (if "if") (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 == (undefined4 *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_0001c2e0(puVar4);" (call_expression "FUN_0001c2e0(puVar4)" (identifier "FUN_0001c2e0") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0001c540(*DAT_0002c2bc);" (assignment_expression "uVar3 = FUN_0001c540(*DAT_0002c2bc)" (identifier "uVar3") (= "=") (call_expression "FUN_0001c540(*DAT_0002c2bc)" (identifier "FUN_0001c540") (argument_list "(*DAT_0002c2bc)" (( "(") (pointer_expression "*DAT_0002c2bc" (* "*") (identifier "DAT_0002c2bc")) () ")")))) (; ";")) (expression_statement "*puVar4 = uVar3;" (assignment_expression "*puVar4 = uVar3" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (identifier "uVar3")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "cVar2 = FUN_0001c6c0(*DAT_0002c2bc);" (assignment_expression "cVar2 = FUN_0001c6c0(*DAT_0002c2bc)" (identifier "cVar2") (= "=") (call_expression "FUN_0001c6c0(*DAT_0002c2bc)" (identifier "FUN_0001c6c0") (argument_list "(*DAT_0002c2bc)" (( "(") (pointer_expression "*DAT_0002c2bc" (* "*") (identifier "DAT_0002c2bc")) () ")")))) (; ";")) (if_statement "if (cVar2 == '\0') {\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }\n  else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar5 = FUN_0001f020(*DAT_0002c2bc);\n    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);\n    if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }\n    DAT_0002c2a4 = 0x24;\n    FUN_0001b830("ibase too large, set to 36");\n  }" ({ "{") (expression_statement "iVar5 = FUN_0001f020(*DAT_0002c2bc);" (assignment_expression "iVar5 = FUN_0001f020(*DAT_0002c2bc)" (identifier "iVar5") (= "=") (call_expression "FUN_0001f020(*DAT_0002c2bc)" (identifier "FUN_0001f020") (argument_list "(*DAT_0002c2bc)" (( "(") (pointer_expression "*DAT_0002c2bc" (* "*") (identifier "DAT_0002c2bc")) () ")")))) (; ";")) (expression_statement "cVar2 = FUN_0001c6d0(*DAT_0002c2bc);" (assignment_expression "cVar2 = FUN_0001c6d0(*DAT_0002c2bc)" (identifier "cVar2") (= "=") (call_expression "FUN_0001c6d0(*DAT_0002c2bc)" (identifier "FUN_0001c6d0") (argument_list "(*DAT_0002c2bc)" (( "(") (pointer_expression "*DAT_0002c2bc" (* "*") (identifier "DAT_0002c2bc")) () ")")))) (; ";")) (if_statement "if ((iVar5 == 0) && (cVar2 == '\0')) {\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }\n    else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" (if "if") (parenthesized_expression "((iVar5 == 0) && (cVar2 == '\0'))" (( "(") (binary_expression "(iVar5 == 0) && (cVar2 == '\0')" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }\n    }" ({ "{") (if_statement "if (param_1 == 1) {\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }" (if "if") (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        DAT_0002c280 = 0x7fffffff;\n        FUN_0001b830("obase too large, set to %d",0x7fffffff);\n        return;\n      }" ({ "{") (expression_statement "DAT_0002c280 = 0x7fffffff;" (assignment_expression "DAT_0002c280 = 0x7fffffff" (identifier "DAT_0002c280") (= "=") (number_literal "0x7fffffff")) (; ";")) (expression_statement "FUN_0001b830("obase too large, set to %d",0x7fffffff);" (call_expression "FUN_0001b830("obase too large, set to %d",0x7fffffff)" (identifier "FUN_0001b830") (argument_list "("obase too large, set to %d",0x7fffffff)" (( "(") (string_literal ""obase too large, set to %d"" (" """) (string_content "obase too large, set to %d") (" """)) (, ",") (number_literal "0x7fffffff") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" (if "if") (parenthesized_expression "(1 < param_1)" (( "(") (binary_expression "1 < param_1" (number_literal "1") (< "<") (identifier "param_1")) () ")")) (compound_statement "{\n        if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        FUN_0001b830("history too large, set to unlimited");\n        unstifle_history();\n        return;\n      }" ({ "{") (if_statement "if (param_1 == 2) {\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }" (if "if") (parenthesized_expression "(param_1 == 2)" (( "(") (binary_expression "param_1 == 2" (identifier "param_1") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          DAT_0002c298 = 0x7fffffff;\n          FUN_0001b830("scale too large, set to %d",0x7fffffff);\n          return;\n        }" ({ "{") (expression_statement "DAT_0002c298 = 0x7fffffff;" (assignment_expression "DAT_0002c298 = 0x7fffffff" (identifier "DAT_0002c298") (= "=") (number_literal "0x7fffffff")) (; ";")) (expression_statement "FUN_0001b830("scale too large, set to %d",0x7fffffff);" (call_expression "FUN_0001b830("scale too large, set to %d",0x7fffffff)" (identifier "FUN_0001b830") (argument_list "("scale too large, set to %d",0x7fffffff)" (( "(") (string_literal ""scale too large, set to %d"" (" """) (string_content "scale too large, set to %d") (" """)) (, ",") (number_literal "0x7fffffff") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 != 3) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_1 != 3)" (( "(") (binary_expression "param_1 != 3" (identifier "param_1") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0001b830("history too large, set to unlimited");" (call_expression "FUN_0001b830("history too large, set to unlimited")" (identifier "FUN_0001b830") (argument_list "("history too large, set to unlimited")" (( "(") (string_literal ""history too large, set to unlimited"" (" """) (string_content "history too large, set to unlimited") (" """)) () ")"))) (; ";")) (expression_statement "unstifle_history();" (call_expression "unstifle_history()" (identifier "unstifle_history") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 != 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_0002c1ec != 0) {\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }" (if "if") (parenthesized_expression "(DAT_0002c1ec != 0)" (( "(") (binary_expression "DAT_0002c1ec != 0" (identifier "DAT_0002c1ec") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001964b:\n        DAT_0002c2a4 = 0x10;\n        FUN_0001b830("ibase too large, set to 16");\n        return;\n      }" ({ "{") (labeled_statement "LAB_0001964b:\n        DAT_0002c2a4 = 0x10;" (statement_identifier "LAB_0001964b") (: ":") (expression_statement "DAT_0002c2a4 = 0x10;" (assignment_expression "DAT_0002c2a4 = 0x10" (identifier "DAT_0002c2a4") (= "=") (number_literal "0x10")) (; ";"))) (expression_statement "FUN_0001b830("ibase too large, set to 16");" (call_expression "FUN_0001b830("ibase too large, set to 16")" (identifier "FUN_0001b830") (argument_list "("ibase too large, set to 16")" (( "(") (string_literal ""ibase too large, set to 16"" (" """) (string_content "ibase too large, set to 16") (" """)) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" (else "else") (compound_statement "{\n      if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }\n      if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }\n      if (param_1 != 0) {\n        return;\n      }\n      if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }\n      if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n      if (DAT_0002c1ec != 0) goto LAB_0001964b;\n      if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }\n    }" ({ "{") (if_statement "if (param_1 == 1) {\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }" (if "if") (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }\n        DAT_0002c280 = 2;\n        FUN_0001b830("obase too small, set to 2");\n        return;\n      }" ({ "{") (if_statement "if (1 < iVar5) {\n          DAT_0002c280 = iVar5;\n          return;\n        }" (if "if") (parenthesized_expression "(1 < iVar5)" (( "(") (binary_expression "1 < iVar5" (number_literal "1") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          DAT_0002c280 = iVar5;\n          return;\n        }" ({ "{") (expression_statement "DAT_0002c280 = iVar5;" (assignment_expression "DAT_0002c280 = iVar5" (identifier "DAT_0002c280") (= "=") (identifier "iVar5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_0002c280 = 2;" (assignment_expression "DAT_0002c280 = 2" (identifier "DAT_0002c280") (= "=") (number_literal "2")) (; ";")) (expression_statement "FUN_0001b830("obase too small, set to 2");" (call_expression "FUN_0001b830("obase too small, set to 2")" (identifier "FUN_0001b830") (argument_list "("obase too small, set to 2")" (( "(") (string_literal ""obase too small, set to 2"" (" """) (string_content "obase too small, set to 2") (" """)) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (1 < param_1) {\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }" (if "if") (parenthesized_expression "(1 < param_1)" (( "(") (binary_expression "1 < param_1" (number_literal "1") (< "<") (identifier "param_1")) () ")")) (compound_statement "{\n        if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }\n        if (param_1 != 3) {\n          return;\n        }\n        DAT_0002c264 = iVar5;\n        if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }\n        goto LAB_000194ce;\n      }" ({ "{") (if_statement "if (param_1 == 2) {\n          DAT_0002c298 = iVar5;\n          return;\n        }" (if "if") (parenthesized_expression "(param_1 == 2)" (( "(") (binary_expression "param_1 == 2" (identifier "param_1") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          DAT_0002c298 = iVar5;\n          return;\n        }" ({ "{") (expression_statement "DAT_0002c298 = iVar5;" (assignment_expression "DAT_0002c298 = iVar5" (identifier "DAT_0002c298") (= "=") (identifier "iVar5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 != 3) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_1 != 3)" (( "(") (binary_expression "param_1 != 3" (identifier "param_1") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_0002c264 = iVar5;" (assignment_expression "DAT_0002c264 = iVar5" (identifier "DAT_0002c264") (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (-1 < iVar5) {\n          stifle_history(iVar5);\n          return;\n        }" (if "if") (parenthesized_expression "(-1 < iVar5)" (( "(") (binary_expression "-1 < iVar5" (number_literal "-1") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n          stifle_history(iVar5);\n          return;\n        }" ({ "{") (expression_statement "stifle_history(iVar5);" (call_expression "stifle_history(iVar5)" (identifier "stifle_history") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_000194ce;" (goto "goto") (statement_identifier "LAB_000194ce") (; ";")) (} "}"))) (if_statement "if (param_1 != 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar5 < 2) {\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }" (if "if") (parenthesized_expression "(iVar5 < 2)" (( "(") (binary_expression "iVar5 < 2" (identifier "iVar5") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        DAT_0002c2a4 = 2;\n        FUN_0001b830("ibase too small, set to 2");\n        return;\n      }" ({ "{") (expression_statement "DAT_0002c2a4 = 2;" (assignment_expression "DAT_0002c2a4 = 2" (identifier "DAT_0002c2a4") (= "=") (number_literal "2")) (; ";")) (expression_statement "FUN_0001b830("ibase too small, set to 2");" (call_expression "FUN_0001b830("ibase too small, set to 2")" (identifier "FUN_0001b830") (argument_list "("ibase too small, set to 2")" (( "(") (string_literal ""ibase too small, set to 2"" (" """) (string_content "ibase too small, set to 2") (" """)) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar5 < 0x11) {\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" (if "if") (parenthesized_expression "(iVar5 < 0x11)" (( "(") (binary_expression "iVar5 < 0x11" (identifier "iVar5") (< "<") (number_literal "0x11")) () ")")) (compound_statement "{\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" ({ "{") (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" (identifier "DAT_0002c2a4") (= "=") (identifier "iVar5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_0002c1ec != 0) goto LAB_0001964b;" (if "if") (parenthesized_expression "(DAT_0002c1ec != 0)" (( "(") (binary_expression "DAT_0002c1ec != 0" (identifier "DAT_0002c1ec") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001964b;" (goto "goto") (statement_identifier "LAB_0001964b") (; ";"))) (if_statement "if (iVar5 < 0x25) {\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" (if "if") (parenthesized_expression "(iVar5 < 0x25)" (( "(") (binary_expression "iVar5 < 0x25" (identifier "iVar5") (< "<") (number_literal "0x25")) () ")")) (compound_statement "{\n        if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }\n        FUN_0001b830("ibase larger than 16 is non-standard");\n        DAT_0002c2a4 = iVar5;\n        return;\n      }" ({ "{") (if_statement "if (iVar5 < 0x10) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" (if "if") (parenthesized_expression "(iVar5 < 0x10)" (( "(") (binary_expression "iVar5 < 0x10" (identifier "iVar5") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" ({ "{") (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" (identifier "DAT_0002c2a4") (= "=") (identifier "iVar5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (DAT_0002c1f0 == 0) {\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" (if "if") (parenthesized_expression "(DAT_0002c1f0 == 0)" (( "(") (binary_expression "DAT_0002c1f0 == 0" (identifier "DAT_0002c1f0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          DAT_0002c2a4 = iVar5;\n          return;\n        }" ({ "{") (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" (identifier "DAT_0002c2a4") (= "=") (identifier "iVar5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0001b830("ibase larger than 16 is non-standard");" (call_expression "FUN_0001b830("ibase larger than 16 is non-standard")" (identifier "FUN_0001b830") (argument_list "("ibase larger than 16 is non-standard")" (( "(") (string_literal ""ibase larger than 16 is non-standard"" (" """) (string_content "ibase larger than 16 is non-standard") (" """)) () ")"))) (; ";")) (expression_statement "DAT_0002c2a4 = iVar5;" (assignment_expression "DAT_0002c2a4 = iVar5" (identifier "DAT_0002c2a4") (= "=") (identifier "iVar5")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "DAT_0002c2a4 = 0x24;" (assignment_expression "DAT_0002c2a4 = 0x24" (identifier "DAT_0002c2a4") (= "=") (number_literal "0x24")) (; ";")) (expression_statement "FUN_0001b830("ibase too large, set to 36");" (call_expression "FUN_0001b830("ibase too large, set to 36")" (identifier "FUN_0001b830") (argument_list "("ibase too large, set to 36")" (( "(") (string_literal ""ibase too large, set to 36"" (" """) (string_content "ibase too large, set to 36") (" """)) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" (else "else") (compound_statement "{\n    if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }\n    if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }\n    if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }\n    if (param_1 != 3) {\n      return;\n    }\n    DAT_0002c264 = -1;\nLAB_000194ce:\n    unstifle_history();\n  }" ({ "{") (if_statement "if (param_1 == 1) {\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }" (if "if") (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      FUN_0001b830("negative obase, set to 2");\n      DAT_0002c280 = 2;\n      return;\n    }" ({ "{") (expression_statement "FUN_0001b830("negative obase, set to 2");" (call_expression "FUN_0001b830("negative obase, set to 2")" (identifier "FUN_0001b830") (argument_list "("negative obase, set to 2")" (( "(") (string_literal ""negative obase, set to 2"" (" """) (string_content "negative obase, set to 2") (" """)) () ")"))) (; ";")) (expression_statement "DAT_0002c280 = 2;" (assignment_expression "DAT_0002c280 = 2" (identifier "DAT_0002c280") (= "=") (number_literal "2")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 < 2) {\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }" (if "if") (parenthesized_expression "(param_1 < 2)" (( "(") (binary_expression "param_1 < 2" (identifier "param_1") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      if (param_1 != 0) {\n        return;\n      }\n      FUN_0001b830("negative ibase, set to 2");\n      DAT_0002c2a4 = 2;\n      return;\n    }" ({ "{") (if_statement "if (param_1 != 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0001b830("negative ibase, set to 2");" (call_expression "FUN_0001b830("negative ibase, set to 2")" (identifier "FUN_0001b830") (argument_list "("negative ibase, set to 2")" (( "(") (string_literal ""negative ibase, set to 2"" (" """) (string_content "negative ibase, set to 2") (" """)) () ")"))) (; ";")) (expression_statement "DAT_0002c2a4 = 2;" (assignment_expression "DAT_0002c2a4 = 2" (identifier "DAT_0002c2a4") (= "=") (number_literal "2")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 == 2) {\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }" (if "if") (parenthesized_expression "(param_1 == 2)" (( "(") (binary_expression "param_1 == 2" (identifier "param_1") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      FUN_0001b830("negative scale, set to 0");\n      DAT_0002c298 = 0;\n      return;\n    }" ({ "{") (expression_statement "FUN_0001b830("negative scale, set to 0");" (call_expression "FUN_0001b830("negative scale, set to 0")" (identifier "FUN_0001b830") (argument_list "("negative scale, set to 0")" (( "(") (string_literal ""negative scale, set to 0"" (" """) (string_content "negative scale, set to 0") (" """)) () ")"))) (; ";")) (expression_statement "DAT_0002c298 = 0;" (assignment_expression "DAT_0002c298 = 0" (identifier "DAT_0002c298") (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1 != 3) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_1 != 3)" (( "(") (binary_expression "param_1 != 3" (identifier "param_1") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "DAT_0002c264 = -1;" (assignment_expression "DAT_0002c264 = -1" (identifier "DAT_0002c264") (= "=") (number_literal "-1")) (; ";")) (labeled_statement "LAB_000194ce:\n    unstifle_history();" (statement_identifier "LAB_000194ce") (: ":") (expression_statement "unstifle_history();" (call_expression "unstifle_history()" (identifier "unstifle_history") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

void function_1(int var_1)

{
  type_1 **ppbVar1;
  char var_9;
  type_2 pbVar3;
  type_1 *var_3;
  long var_12;
  
  if (3 < var_1) {
    ppbVar1 = var_2 + var_1;
    var_3 = *ppbVar1;
    if (var_3 == (type_1 *)0x0) {
      var_3 = (type_1 *)var_4(8);
      *ppbVar1 = var_3;
      var_5((type_2 *)var_3);
      if (var_3 == (type_1 *)0x0) {
        return;
      }
    }
    var_6(&var_3->v_value);
    pbVar3 = var_7(ex_stack->s_num);
    var_3->v_value = pbVar3;
    return;
  }
  var_9 = var_8(ex_stack->s_num);
  if (var_9 == '\0') {
    var_12 = var_10(ex_stack->s_num);
    var_9 = var_11(ex_stack->s_num);
    if ((var_12 == 0) && (var_9 == '\0')) {
      if (var_1 == 1) {
        o_base = 0x7fffffff;
        var_13("obase too large, set to %d",0x7fffffff);
        return;
      }
      if (1 < var_1) {
        if (var_1 == 2) {
          scale = 0x7fffffff;
          var_13("scale too large, set to %d",0x7fffffff);
          return;
        }
        if (var_1 != 3) {
          return;
        }
        var_13("history too large, set to unlimited");
        var_14();
        return;
      }
      if (var_1 != 0) {
        return;
      }
      if (var_15 != 0) {
LAB_0001964b:
        i_base = 0x10;
        var_13("ibase too large, set to 16");
        return;
      }
    }
    else {
      if (var_1 == 1) {
        if (1 < var_12) {
          o_base = var_12;
          return;
        }
        o_base = 2;
        var_13("obase too small, set to 2");
        return;
      }
      if (1 < var_1) {
        if (var_1 == 2) {
          scale = var_12;
          return;
        }
        if (var_1 != 3) {
          return;
        }
        n_history = var_12;
        if (-1 < var_12) {
          var_16(var_12);
          return;
        }
        goto LAB_000194ce;
      }
      if (var_1 != 0) {
        return;
      }
      if (var_12 < 2) {
        i_base = 2;
        var_13("ibase too small, set to 2");
        return;
      }
      if (var_12 < 0x11) {
        i_base = var_12;
        return;
      }
      if (var_15 != 0) goto LAB_0001964b;
      if (var_12 < 0x25) {
        if (var_12 < 0x10) {
          i_base = var_12;
          return;
        }
        if (var_17 == 0) {
          i_base = var_12;
          return;
        }
        var_13("ibase larger than 16 is non-standard");
        i_base = var_12;
        return;
      }
    }
    i_base = 0x24;
    var_13("ibase too large, set to 36");
  }
  else {
    if (var_1 == 1) {
      var_13("negative obase, set to 2");
      o_base = 2;
      return;
    }
    if (var_1 < 2) {
      if (var_1 != 0) {
        return;
      }
      var_13("negative ibase, set to 2");
      i_base = 2;
      return;
    }
    if (var_1 == 2) {
      var_13("negative scale, set to 0");
      scale = 0;
      return;
    }
    if (var_1 != 3) {
      return;
    }
    n_history = -1;
LAB_000194ce:
    var_14();
  }
  return;
}


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

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

void MASKED(int param_1)

{
  int *piVar1;
  char cVar2;
  undefined4 uVar3;
  undefined4 *puVar4;
  int iVar5;
  
  if (3 < param_1) {
    piVar1 = (int *)(DAT_0002c2b4 + param_1 * 4);
    puVar4 = (undefined4 *)*piVar1;
    if (puVar4 == (undefined4 *)0x0) {
      puVar4 = (undefined4 *)FUN_0001ab90(8);
      *piVar1 = (int)puVar4;
      FUN_0001c550(puVar4);
      if (puVar4 == (undefined4 *)0x0) {
        return;
      }
    }
    FUN_0001c2e0(puVar4);
    uVar3 = FUN_0001c540(*DAT_0002c2bc);
    *puVar4 = uVar3;
    return;
  }
  cVar2 = FUN_0001c6c0(*DAT_0002c2bc);
  if (cVar2 == '\0') {
    iVar5 = FUN_0001f020(*DAT_0002c2bc);
    cVar2 = FUN_0001c6d0(*DAT_0002c2bc);
    if ((iVar5 == 0) && (cVar2 == '\0')) {
      if (param_1 == 1) {
        DAT_0002c280 = 0x7fffffff;
        FUN_0001b830("obase too large, set to %d",0x7fffffff);
        return;
      }
      if (1 < param_1) {
        if (param_1 == 2) {
          DAT_0002c298 = 0x7fffffff;
          FUN_0001b830("scale too large, set to %d",0x7fffffff);
          return;
        }
        if (param_1 != 3) {
          return;
        }
        FUN_0001b830("history too large, set to unlimited");
        unstifle_history();
        return;
      }
      if (param_1 != 0) {
        return;
      }
      if (DAT_0002c1ec != 0) {
LAB_0001964b:
        DAT_0002c2a4 = 0x10;
        FUN_0001b830("ibase too large, set to 16");
        return;
      }
    }
    else {
      if (param_1 == 1) {
        if (1 < iVar5) {
          DAT_0002c280 = iVar5;
          return;
        }
        DAT_0002c280 = 2;
        FUN_0001b830("obase too small, set to 2");
        return;
      }
      if (1 < param_1) {
        if (param_1 == 2) {
          DAT_0002c298 = iVar5;
          return;
        }
        if (param_1 != 3) {
          return;
        }
        DAT_0002c264 = iVar5;
        if (-1 < iVar5) {
          stifle_history(iVar5);
          return;
        }
        goto LAB_000194ce;
      }
      if (param_1 != 0) {
        return;
      }
      if (iVar5 < 2) {
        DAT_0002c2a4 = 2;
        FUN_0001b830("ibase too small, set to 2");
        return;
      }
      if (iVar5 < 0x11) {
        DAT_0002c2a4 = iVar5;
        return;
      }
      if (DAT_0002c1ec != 0) goto LAB_0001964b;
      if (iVar5 < 0x25) {
        if (iVar5 < 0x10) {
          DAT_0002c2a4 = iVar5;
          return;
        }
        if (DAT_0002c1f0 == 0) {
          DAT_0002c2a4 = iVar5;
          return;
        }
        FUN_0001b830("ibase larger than 16 is non-standard");
        DAT_0002c2a4 = iVar5;
        return;
      }
    }
    DAT_0002c2a4 = 0x24;
    FUN_0001b830("ibase too large, set to 36");
  }
  else {
    if (param_1 == 1) {
      FUN_0001b830("negative obase, set to 2");
      DAT_0002c280 = 2;
      return;
    }
    if (param_1 < 2) {
      if (param_1 != 0) {
        return;
      }
      FUN_0001b830("negative ibase, set to 2");
      DAT_0002c2a4 = 2;
      return;
    }
    if (param_1 == 2) {
      FUN_0001b830("negative scale, set to 0");
      DAT_0002c298 = 0;
      return;
    }
    if (param_1 != 3) {
      return;
    }
    DAT_0002c264 = -1;
LAB_000194ce:
    unstifle_history();
  }
  return;
}

