
/* std::__detail::_Map_base<(anonymous namespace)::Reloc_stub::Key, std::pair<(anonymous
   namespace)::Reloc_stub::Key const, (anonymous namespace)::Reloc_stub*>,
   std::allocator<std::pair<(anonymous namespace)::Reloc_stub::Key const, (anonymous
   namespace)::Reloc_stub*> >, std::__detail::_Select1st, (anonymous
   namespace)::Reloc_stub::Key::equal_to, (anonymous namespace)::Reloc_stub::Key::hash,
   std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
   std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>,
   true>::operator[]((anonymous namespace)::Reloc_stub::Key const&) [clone .cold.1834] */

void __regparm3
std::__detail::
_Map_base<(anonymous_namespace)::Reloc_stub::Key,std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>
::operator[](Key *param_1)

{
  int unaff_ESI;
  undefined4 unaff_EDI;
  
  __cxa_begin_catch(param_1);
  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */
  __cxa_rethrow();
}



void __regparm3 FUN_0003c5e6(undefined4 param_1)

{
  int unaff_ESI;
  undefined4 unaff_EDI;
  
  FUN_003ad790(param_1);
  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */
  FUN_003ac950();
}


SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x18]
CALL 0x003ad790
ADD ESP,0x10
MOV dword ptr [ESI + 0x14],EDI
MOV EBX,dword ptr [ESP + 0x8]
CALL 0x003ac950
(translation_unit "void __regparm3 FUN_0003c5e6(undefined4 param_1)\n\n{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */\n  FUN_003ac950();\n}\n\n" (function_definition "void __regparm3 FUN_0003c5e6(undefined4 param_1)\n\n{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */\n  FUN_003ac950();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0003c5e6(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */\n  FUN_003ac950();\n}" { (declaration "int unaff_ESI;" primitive_type identifier ;) (declaration "undefined4 unaff_EDI;" type_identifier identifier ;) (expression_statement "FUN_003ad790(param_1);" (call_expression "FUN_003ad790(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;" (assignment_expression "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI" (pointer_expression "*(undefined4 *)(unaff_ESI + 0x14)" * (cast_expression "(undefined4 *)(unaff_ESI + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x14)" ( (binary_expression "unaff_ESI + 0x14" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "FUN_003ac950();" (call_expression "FUN_003ac950()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* std::__detail::_Map_base<(anonymous namespace)::Reloc_stub::Key, std::pair<(anonymous\n   namespace)::Reloc_stub::Key const, (anonymous namespace)::Reloc_stub*>,\n   std::allocator<std::pair<(anonymous namespace)::Reloc_stub::Key const, (anonymous\n   namespace)::Reloc_stub*> >, std::__detail::_Select1st, (anonymous\n   namespace)::Reloc_stub::Key::equal_to, (anonymous namespace)::Reloc_stub::Key::hash,\n   std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,\n   std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>,\n   true>::operator[]((anonymous namespace)::Reloc_stub::Key const&) [clone .cold.1834] */\n\nvoid __regparm3\nstd::__detail::\n_Map_base<(anonymous_namespace)::Reloc_stub::Key,std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  __cxa_begin_catch(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */\n  __cxa_rethrow();\n}\n\n" comment (declaration "void __regparm3" primitive_type identifier ;) (labeled_statement "std::__detail::\n_Map_base<(anonymous_namespace)::Reloc_stub::Key,std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier : (ERROR ":" :) (labeled_statement "__detail::\n_Map_base<(anonymous_namespace)::Reloc_stub::Key,std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::\n_Map_base<(anonymous_namespace):" : : (binary_expression "_Map_base<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (labeled_statement "Reloc_stub::Key,std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::Key,std::pair<(anonymous_namespace):" : : (comma_expression "Key,std" identifier , identifier) : : (binary_expression "pair<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (labeled_statement "Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace):" : : (comma_expression "Key_const,(anonymous_namespace)" identifier , (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Reloc_stub*>,std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (labeled_statement "Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::Key_const,(anonymous_namespace)::Reloc_stub*>>,std:" : : (comma_expression "Key_const,(anonymous_namespace)" identifier , (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (comma_expression "Reloc_stub*>>,std" identifier (ERROR "*>>" * >>) , identifier) :) : (labeled_statement "__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::_Select1st,(anonymous_namespace):" : : (comma_expression "_Select1st,(anonymous_namespace)" identifier , (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (labeled_statement "Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier : (ERROR ":" :) (labeled_statement "Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::equal_to,(anonymous_namespace):" : : (comma_expression "equal_to,(anonymous_namespace)" identifier , (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (labeled_statement "Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier : (ERROR ":" :) (labeled_statement "Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::hash,std:" : : (comma_expression "hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::_Mod_range_hashing,std:" : : (comma_expression "_Mod_range_hashing,std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::_Default_ranged_hash,std:" : : (comma_expression "_Default_ranged_hash,std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier (ERROR "::_Prime_rehash_policy,std:" : : (comma_expression "_Prime_rehash_policy,std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{\n  int unaff_ESI;" statement_identifier : (ERROR ":_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)\n\n{" : (comma_expression "_Hashtable_traits<true,false,true>,true>\n::operator[](Key *param_1)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "false,true>,true>\n::operator[](Key *param_1)" false , (binary_expression "true>,true>\n::operator[](Key *param_1)" (binary_expression "true>,true" true > (ERROR "," ,) true) > (ERROR "::" : :) (call_expression "operator[](Key *param_1)" (subscript_expression "operator[]" identifier [ identifier ]) (argument_list "(Key *param_1)" ( (binary_expression "Key *param_1" identifier * identifier) )))))) {) (declaration "int unaff_ESI;" primitive_type identifier ;))))))))))))))) (declaration "undefined4 unaff_EDI;" type_identifier identifier ;) (expression_statement "__cxa_begin_catch(param_1);" (call_expression "__cxa_begin_catch(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;" (assignment_expression "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI" (pointer_expression "*(undefined4 *)(unaff_ESI + 0x14)" * (cast_expression "(undefined4 *)(unaff_ESI + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x14)" ( (binary_expression "unaff_ESI + 0x14" identifier + number_literal) )))) = identifier) ;) comment comment (expression_statement "__cxa_rethrow();" (call_expression "__cxa_rethrow()" identifier (argument_list "()" ( ))) ;) (ERROR "}" }))
(translation_unit "void __regparm3 FUN_0003c5e6(undefined4 param_1)\n\n{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    \n                    \n  FUN_003ac950();\n}\n\n" (function_definition "void __regparm3 FUN_0003c5e6(undefined4 param_1)\n\n{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    \n                    \n  FUN_003ac950();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0003c5e6(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    \n                    \n  FUN_003ac950();\n}" { (declaration "int unaff_ESI;" primitive_type identifier ;) (declaration "undefined4 unaff_EDI;" type_identifier identifier ;) (expression_statement "FUN_003ad790(param_1);" (call_expression "FUN_003ad790(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;" (assignment_expression "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI" (pointer_expression "*(undefined4 *)(unaff_ESI + 0x14)" * (cast_expression "(undefined4 *)(unaff_ESI + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_ESI + 0x14)" ( (binary_expression "unaff_ESI + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_003ac950();" (call_expression "FUN_003ac950()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void __regparm3 FUN_0003c5e6(undefined4 param_1)\n\n{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    \n                    \n  FUN_003ac950();\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0003c5e6(undefined4 param_1)" (identifier "FUN_0003c5e6") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  int unaff_ESI;\n  undefined4 unaff_EDI;\n  \n  FUN_003ad790(param_1);\n  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;\n                    \n                    \n  FUN_003ac950();\n}" ({ "{") (declaration "int unaff_ESI;" (primitive_type "int") (identifier "unaff_ESI") (; ";")) (declaration "undefined4 unaff_EDI;" (type_identifier "undefined4") (identifier "unaff_EDI") (; ";")) (expression_statement "FUN_003ad790(param_1);" (call_expression "FUN_003ad790(param_1)" (identifier "FUN_003ad790") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;" (assignment_expression "*(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI" (pointer_expression "*(undefined4 *)(unaff_ESI + 0x14)" (* "*") (cast_expression "(undefined4 *)(unaff_ESI + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_ESI + 0x14)" (( "(") (binary_expression "unaff_ESI + 0x14" (identifier "unaff_ESI") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "unaff_EDI")) (; ";")) (expression_statement "FUN_003ac950();" (call_expression "FUN_003ac950()" (identifier "FUN_003ac950") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* std::__detail::_Map_base<(anonymous namespace)::Reloc_stub::Key, std::pair<(anonymous
   namespace)::Reloc_stub::Key const, (anonymous namespace)::Reloc_stub*>,
   std::allocator<std::pair<(anonymous namespace)::Reloc_stub::Key const, (anonymous
   namespace)::Reloc_stub*> >, std::__detail::_Select1st, (anonymous
   namespace)::Reloc_stub::Key::equal_to, (anonymous namespace)::Reloc_stub::Key::hash,
   std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
   std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>,
   true>::operator[]((anonymous namespace)::Reloc_stub::Key const&) [clone .cold.1834] */

void __regparm3
std::__detail::
_Map_base<(anonymous_namespace)::Reloc_stub::Key,std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>,std::allocator<std::pair<(anonymous_namespace)::Reloc_stub::Key_const,(anonymous_namespace)::Reloc_stub*>>,std::__detail::_Select1st,(anonymous_namespace)::Reloc_stub::Key::equal_to,(anonymous_namespace)::Reloc_stub::Key::hash,std::__detail::_Mod_range_hashing,std::__detail::_Default_ranged_hash,std::__detail::_Prime_rehash_policy,std::__detail::_Hashtable_traits<true,false,true>,true>
::operator[](Key *param_1)

{
  int var_2;
  type_1 unaff_EDI;
  
  var_1(param_1);
  *(type_1 *)(var_2 + 0x14) = unaff_EDI;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */
  var_3();
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

void __regparm3 MASKED(undefined4 param_1)

{
  int unaff_ESI;
  undefined4 unaff_EDI;
  
  FUN_003ad790(param_1);
  *(undefined4 *)(unaff_ESI + 0x14) = unaff_EDI;
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0003c5fd to 0003c601 has its CatchHandler @ 0003c602 */
  FUN_003ac950();
}

