
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* std::__throw_ios_failure(char const*) */

void std::__throw_ios_failure(char *param_1)

{
  failure_abi_cxx11_ *this;
  char *pcVar1;
  undefined4 local_28 [2];
  undefined8 local_20;
  
  this = (failure_abi_cxx11_ *)__cxa_allocate_exception(0x30);
  pcVar1 = (char *)gettext(param_1);
  local_20 = iostream_category();
  local_28[0] = 1;
                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */
  ios_base::failure[abi:cxx11]::failure(this,pcVar1,(error_code *)local_28);
  *(undefined ***)this = &PTR____ios_failure_003ba7c8;
  pcVar1 = (char *)runtime_error::what((runtime_error *)this);
                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */
  __construct_ios_failure(this + 0x20,pcVar1);
                    /* WARNING: Subroutine does not return */
  __cxa_throw(this,&__ios_failure::typeinfo,__ios_failure::~__ios_failure);
}



void FUN_002b0560(undefined8 param_1)

{
  undefined8 *puVar1;
  undefined8 uVar2;
  undefined4 local_28 [2];
  undefined8 local_20;
  
  puVar1 = (undefined8 *)FUN_00276bb0(0x30);
  uVar2 = gettext(param_1);
  local_20 = FUN_002afe10();
  local_28[0] = 1;
                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */
  FUN_002b0350(puVar1,uVar2,local_28);
  *puVar1 = &PTR_FUN_003ba7c8;
  uVar2 = FUN_002bed80(puVar1);
                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */
  FUN_002c08a0(puVar1 + 4,uVar2);
                    /* WARNING: Subroutine does not return */
  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);
}


PUSH RBP
MOV RBP,RDI
MOV EDI,0x30
PUSH RBX
SUB RSP,0x18
CALL 0x00276bb0
MOV RDI,RBP
MOV RBX,RAX
CALL 0x0013e320
MOV RBP,RAX
CALL 0x002afe10
MOV RDX,RSP
MOV RSI,RBP
MOV RDI,RBX
MOV dword ptr [RSP],0x1
MOV qword ptr [RSP + 0x8],RAX
CALL 0x002b0350
LEA RAX,[0x3ba7b8]
MOV RDI,RBX
ADD RAX,0x10
MOV qword ptr [RBX],RAX
CALL 0x002bed80
LEA RDI,[RBX + 0x20]
MOV RSI,RAX
CALL 0x002c08a0
LEA RDX,[0x2afd40]
LEA RSI,[0x3ba700]
MOV RDI,RBX
CALL 0x002758d0
(translation_unit "void FUN_002b0560(undefined8 param_1)\n\n{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */\n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */\n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    /* WARNING: Subroutine does not return */\n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}\n\n" (function_definition "void FUN_002b0560(undefined8 param_1)\n\n{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */\n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */\n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    /* WARNING: Subroutine does not return */\n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}" primitive_type (function_declarator "FUN_002b0560(undefined8 param_1)" identifier (parameter_list "(undefined8 param_1)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */\n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */\n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    /* WARNING: Subroutine does not return */\n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined4 local_28 [2];" type_identifier (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 local_20;" type_identifier identifier ;) (expression_statement "puVar1 = (undefined8 *)FUN_00276bb0(0x30);" (assignment_expression "puVar1 = (undefined8 *)FUN_00276bb0(0x30)" identifier = (cast_expression "(undefined8 *)FUN_00276bb0(0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00276bb0(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "uVar2 = gettext(param_1);" (assignment_expression "uVar2 = gettext(param_1)" identifier = (call_expression "gettext(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_20 = FUN_002afe10();" (assignment_expression "local_20 = FUN_002afe10()" identifier = (call_expression "FUN_002afe10()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_28[0] = 1;" (assignment_expression "local_28[0] = 1" (subscript_expression "local_28[0]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_002b0350(puVar1,uVar2,local_28);" (call_expression "FUN_002b0350(puVar1,uVar2,local_28)" identifier (argument_list "(puVar1,uVar2,local_28)" ( identifier , identifier , identifier ))) ;) (expression_statement "*puVar1 = &PTR_FUN_003ba7c8;" (assignment_expression "*puVar1 = &PTR_FUN_003ba7c8" (pointer_expression "*puVar1" * identifier) = (pointer_expression "&PTR_FUN_003ba7c8" & identifier)) ;) (expression_statement "uVar2 = FUN_002bed80(puVar1);" (assignment_expression "uVar2 = FUN_002bed80(puVar1)" identifier = (call_expression "FUN_002bed80(puVar1)" identifier (argument_list "(puVar1)" ( identifier )))) ;) comment (expression_statement "FUN_002c08a0(puVar1 + 4,uVar2);" (call_expression "FUN_002c08a0(puVar1 + 4,uVar2)" identifier (argument_list "(puVar1 + 4,uVar2)" ( (binary_expression "puVar1 + 4" identifier + number_literal) , identifier ))) ;) comment (expression_statement "FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);" (call_expression "FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40)" identifier (argument_list "(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40)" ( identifier , (pointer_expression "&PTR_PTR_FUN_003ba700" & identifier) , identifier ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* std::__throw_ios_failure(char const*) */\n\nvoid std::__throw_ios_failure(char *param_1)\n\n{\n  failure_abi_cxx11_ *this;\n  char *pcVar1;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  this = (failure_abi_cxx11_ *)__cxa_allocate_exception(0x30);\n  pcVar1 = (char *)gettext(param_1);\n  local_20 = iostream_category();\n  local_28[0] = 1;\n                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */\n  ios_base::failure[abi:cxx11]::failure(this,pcVar1,(error_code *)local_28);\n  *(undefined ***)this = &PTR____ios_failure_003ba7c8;\n  pcVar1 = (char *)runtime_error::what((runtime_error *)this);\n                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */\n  __construct_ios_failure(this + 0x20,pcVar1);\n                    /* WARNING: Subroutine does not return */\n  __cxa_throw(this,&__ios_failure::typeinfo,__ios_failure::~__ios_failure);\n}\n\n" comment comment (function_definition "void std::__throw_ios_failure(char *param_1)\n\n{\n  failure_abi_cxx11_ *this;\n  char *pcVar1;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  this = (failure_abi_cxx11_ *)__cxa_allocate_exception(0x30);\n  pcVar1 = (char *)gettext(param_1);\n  local_20 = iostream_category();\n  local_28[0] = 1;\n                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */\n  ios_base::failure[abi:cxx11]::failure(this,pcVar1,(error_code *)local_28);\n  *(undefined ***)this = &PTR____ios_failure_003ba7c8;\n  pcVar1 = (char *)runtime_error::what((runtime_error *)this);\n                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */\n  __construct_ios_failure(this + 0x20,pcVar1);\n                    /* WARNING: Subroutine does not return */\n  __cxa_throw(this,&__ios_failure::typeinfo,__ios_failure::~__ios_failure);\n}" primitive_type (ERROR "std::" identifier : :) (function_declarator "__throw_ios_failure(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  failure_abi_cxx11_ *this;\n  char *pcVar1;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  this = (failure_abi_cxx11_ *)__cxa_allocate_exception(0x30);\n  pcVar1 = (char *)gettext(param_1);\n  local_20 = iostream_category();\n  local_28[0] = 1;\n                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */\n  ios_base::failure[abi:cxx11]::failure(this,pcVar1,(error_code *)local_28);\n  *(undefined ***)this = &PTR____ios_failure_003ba7c8;\n  pcVar1 = (char *)runtime_error::what((runtime_error *)this);\n                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */\n  __construct_ios_failure(this + 0x20,pcVar1);\n                    /* WARNING: Subroutine does not return */\n  __cxa_throw(this,&__ios_failure::typeinfo,__ios_failure::~__ios_failure);\n}" { (declaration "failure_abi_cxx11_ *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined4 local_28 [2];" type_identifier (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 local_20;" type_identifier identifier ;) (expression_statement "this = (failure_abi_cxx11_ *)__cxa_allocate_exception(0x30);" (assignment_expression "this = (failure_abi_cxx11_ *)__cxa_allocate_exception(0x30)" identifier = (cast_expression "(failure_abi_cxx11_ *)__cxa_allocate_exception(0x30)" ( (type_descriptor "failure_abi_cxx11_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__cxa_allocate_exception(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "pcVar1 = (char *)gettext(param_1);" (assignment_expression "pcVar1 = (char *)gettext(param_1)" identifier = (cast_expression "(char *)gettext(param_1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "local_20 = iostream_category();" (assignment_expression "local_20 = iostream_category()" identifier = (call_expression "iostream_category()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_28[0] = 1;" (assignment_expression "local_28[0] = 1" (subscript_expression "local_28[0]" identifier [ number_literal ]) = number_literal) ;) comment (labeled_statement "ios_base::failure[abi:cxx11]::failure(this,pcVar1,(error_code *)local_28);" statement_identifier (ERROR "::failure[abi:cxx11]:" : : (subscript_expression "failure[abi:cxx11]" identifier [ (ERROR "abi:" identifier :) identifier ]) :) : (expression_statement "failure(this,pcVar1,(error_code *)local_28);" (call_expression "failure(this,pcVar1,(error_code *)local_28)" identifier (argument_list "(this,pcVar1,(error_code *)local_28)" ( identifier , identifier , (cast_expression "(error_code *)local_28" ( (type_descriptor "error_code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "*(undefined ***)this = &PTR____ios_failure_003ba7c8;" (assignment_expression "*(undefined ***)this = &PTR____ios_failure_003ba7c8" (pointer_expression "*(undefined ***)this" * (cast_expression "(undefined ***)this" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = (pointer_expression "&PTR____ios_failure_003ba7c8" & identifier)) ;) (ERROR "pcVar1 = (char *)runtime_error::" (assignment_expression "pcVar1 = (char *)runtime_error" identifier = (cast_expression "(char *)runtime_error" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "what((runtime_error *)this);" (call_expression "what((runtime_error *)this)" identifier (argument_list "((runtime_error *)this)" ( (cast_expression "(runtime_error *)this" ( (type_descriptor "runtime_error *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) comment (expression_statement "__construct_ios_failure(this + 0x20,pcVar1);" (call_expression "__construct_ios_failure(this + 0x20,pcVar1)" identifier (argument_list "(this + 0x20,pcVar1)" ( (binary_expression "this + 0x20" identifier + number_literal) , identifier ))) ;) comment (expression_statement "__cxa_throw(this,&__ios_failure::typeinfo,__ios_failure::~__ios_failure);" (call_expression "__cxa_throw(this,&__ios_failure::typeinfo,__ios_failure::~__ios_failure)" identifier (argument_list "(this,&__ios_failure::typeinfo,__ios_failure::~__ios_failure)" ( identifier , (pointer_expression "&__ios_failure" & identifier) (ERROR "::typeinfo" : : identifier) , (ERROR "__ios_failure::" identifier : :) (unary_expression "~__ios_failure" ~ identifier) ))) ;) })))
(translation_unit "void FUN_002b0560(undefined8 param_1)\n\n{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    \n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    \n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    \n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}\n\n" (function_definition "void FUN_002b0560(undefined8 param_1)\n\n{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    \n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    \n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    \n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}" primitive_type (function_declarator "FUN_002b0560(undefined8 param_1)" identifier (parameter_list "(undefined8 param_1)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    \n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    \n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    \n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined4 local_28 [2];" type_identifier (array_declarator "local_28 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 local_20;" type_identifier identifier ;) (expression_statement "puVar1 = (undefined8 *)FUN_00276bb0(0x30);" (assignment_expression "puVar1 = (undefined8 *)FUN_00276bb0(0x30)" identifier = (cast_expression "(undefined8 *)FUN_00276bb0(0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00276bb0(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "uVar2 = gettext(param_1);" (assignment_expression "uVar2 = gettext(param_1)" identifier = (call_expression "gettext(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_20 = FUN_002afe10();" (assignment_expression "local_20 = FUN_002afe10()" identifier = (call_expression "FUN_002afe10()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_28[0] = 1;" (assignment_expression "local_28[0] = 1" (subscript_expression "local_28[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_002b0350(puVar1,uVar2,local_28);" (call_expression "FUN_002b0350(puVar1,uVar2,local_28)" identifier (argument_list "(puVar1,uVar2,local_28)" ( identifier , identifier , identifier ))) ;) (expression_statement "*puVar1 = &PTR_FUN_003ba7c8;" (assignment_expression "*puVar1 = &PTR_FUN_003ba7c8" (pointer_expression "*puVar1" * identifier) = (pointer_expression "&PTR_FUN_003ba7c8" & identifier)) ;) (expression_statement "uVar2 = FUN_002bed80(puVar1);" (assignment_expression "uVar2 = FUN_002bed80(puVar1)" identifier = (call_expression "FUN_002bed80(puVar1)" identifier (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "FUN_002c08a0(puVar1 + 4,uVar2);" (call_expression "FUN_002c08a0(puVar1 + 4,uVar2)" identifier (argument_list "(puVar1 + 4,uVar2)" ( (binary_expression "puVar1 + 4" identifier + number_literal) , identifier ))) ;) (expression_statement "FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);" (call_expression "FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40)" identifier (argument_list "(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40)" ( identifier , (pointer_expression "&PTR_PTR_FUN_003ba700" & identifier) , identifier ))) ;) })))
(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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;) })))
(function_definition "void FUN_002b0560(undefined8 param_1)\n\n{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    \n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    \n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    \n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}" (primitive_type "void") (function_declarator "FUN_002b0560(undefined8 param_1)" (identifier "FUN_002b0560") (parameter_list "(undefined8 param_1)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined8 *puVar1;\n  undefined8 uVar2;\n  undefined4 local_28 [2];\n  undefined8 local_20;\n  \n  puVar1 = (undefined8 *)FUN_00276bb0(0x30);\n  uVar2 = gettext(param_1);\n  local_20 = FUN_002afe10();\n  local_28[0] = 1;\n                    \n  FUN_002b0350(puVar1,uVar2,local_28);\n  *puVar1 = &PTR_FUN_003ba7c8;\n  uVar2 = FUN_002bed80(puVar1);\n                    \n  FUN_002c08a0(puVar1 + 4,uVar2);\n                    \n  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "undefined4 local_28 [2];" (type_identifier "undefined4") (array_declarator "local_28 [2]" (identifier "local_28") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined8 local_20;" (type_identifier "undefined8") (identifier "local_20") (; ";")) (expression_statement "puVar1 = (undefined8 *)FUN_00276bb0(0x30);" (assignment_expression "puVar1 = (undefined8 *)FUN_00276bb0(0x30)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)FUN_00276bb0(0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00276bb0(0x30)" (identifier "FUN_00276bb0") (argument_list "(0x30)" (( "(") (number_literal "0x30") () ")"))))) (; ";")) (expression_statement "uVar2 = gettext(param_1);" (assignment_expression "uVar2 = gettext(param_1)" (identifier "uVar2") (= "=") (call_expression "gettext(param_1)" (identifier "gettext") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "local_20 = FUN_002afe10();" (assignment_expression "local_20 = FUN_002afe10()" (identifier "local_20") (= "=") (call_expression "FUN_002afe10()" (identifier "FUN_002afe10") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_28[0] = 1;" (assignment_expression "local_28[0] = 1" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_002b0350(puVar1,uVar2,local_28);" (call_expression "FUN_002b0350(puVar1,uVar2,local_28)" (identifier "FUN_002b0350") (argument_list "(puVar1,uVar2,local_28)" (( "(") (identifier "puVar1") (, ",") (identifier "uVar2") (, ",") (identifier "local_28") () ")"))) (; ";")) (expression_statement "*puVar1 = &PTR_FUN_003ba7c8;" (assignment_expression "*puVar1 = &PTR_FUN_003ba7c8" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (pointer_expression "&PTR_FUN_003ba7c8" (& "&") (identifier "PTR_FUN_003ba7c8"))) (; ";")) (expression_statement "uVar2 = FUN_002bed80(puVar1);" (assignment_expression "uVar2 = FUN_002bed80(puVar1)" (identifier "uVar2") (= "=") (call_expression "FUN_002bed80(puVar1)" (identifier "FUN_002bed80") (argument_list "(puVar1)" (( "(") (identifier "puVar1") () ")")))) (; ";")) (expression_statement "FUN_002c08a0(puVar1 + 4,uVar2);" (call_expression "FUN_002c08a0(puVar1 + 4,uVar2)" (identifier "FUN_002c08a0") (argument_list "(puVar1 + 4,uVar2)" (( "(") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);" (call_expression "FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40)" (identifier "FUN_002758d0") (argument_list "(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40)" (( "(") (identifier "puVar1") (, ",") (pointer_expression "&PTR_PTR_FUN_003ba700" (& "&") (identifier "PTR_PTR_FUN_003ba700")) (, ",") (identifier "FUN_002afd40") () ")"))) (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* std::__throw_ios_failure(char const*) */

void std::function_1(char *param_1)

{
  type_1 *var_7;
  char *pcVar1;
  type_2 local_28 [2];
  type_3 local_20;
  
  var_7 = (type_1 *)var_1(0x30);
  pcVar1 = (char *)var_2(param_1);
  local_20 = var_3();
  local_28[0] = 1;
                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */
  ios_base::var_4[abi:cxx11]::var_4(var_7,pcVar1,(type_4 *)local_28);
  *(type_5 ***)var_7 = &PTR____ios_failure_003ba7c8;
  pcVar1 = (char *)type_6::var_5((type_6 *)var_7);
                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */
  var_6(var_7 + 0x20,pcVar1);
                    /* WARNING: Subroutine does not return */
  var_8(var_7,&__ios_failure::typeinfo,__ios_failure::~__ios_failure);
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (identifier)))))))

void MASKED(undefined8 param_1)

{
  undefined8 *puVar1;
  undefined8 uVar2;
  undefined4 local_28 [2];
  undefined8 local_20;
  
  puVar1 = (undefined8 *)FUN_00276bb0(0x30);
  uVar2 = gettext(param_1);
  local_20 = FUN_002afe10();
  local_28[0] = 1;
                    /* try { // try from 002b059b to 002b059f has its CatchHandler @ 002b05d8 */
  FUN_002b0350(puVar1,uVar2,local_28);
  *puVar1 = &PTR_FUN_003ba7c8;
  uVar2 = FUN_002bed80(puVar1);
                    /* try { // try from 002b05bd to 002b05c1 has its CatchHandler @ 002b05e0 */
  FUN_002c08a0(puVar1 + 4,uVar2);
                    /* WARNING: Subroutine does not return */
  FUN_002758d0(puVar1,&PTR_PTR_FUN_003ba700,FUN_002afd40);
}

