
/* std::__timepunct<wchar_t>::_M_months_abbreviated(wchar_t const**) const */

void __thiscall
std::__timepunct<wchar_t>::_M_months_abbreviated(__timepunct<wchar_t> *this,wchar_t **param_1)

{
  long lVar1;
  
  lVar1 = *(long *)(this + 0x10);
  *param_1 = *(wchar_t **)(lVar1 + 0x128);
  param_1[1] = *(wchar_t **)(lVar1 + 0x130);
  param_1[2] = *(wchar_t **)(lVar1 + 0x138);
  param_1[3] = *(wchar_t **)(lVar1 + 0x140);
  param_1[4] = *(wchar_t **)(lVar1 + 0x148);
  param_1[5] = *(wchar_t **)(lVar1 + 0x150);
  param_1[6] = *(wchar_t **)(lVar1 + 0x158);
  param_1[7] = *(wchar_t **)(lVar1 + 0x160);
  param_1[8] = *(wchar_t **)(lVar1 + 0x168);
  param_1[9] = *(wchar_t **)(lVar1 + 0x170);
  param_1[10] = *(wchar_t **)(lVar1 + 0x178);
  param_1[0xb] = *(wchar_t **)(lVar1 + 0x180);
  return;
}



void FUN_00326c00(long param_1,undefined8 *param_2)

{
  long lVar1;
  
  lVar1 = *(long *)(param_1 + 0x10);
  *param_2 = *(undefined8 *)(lVar1 + 0x128);
  param_2[1] = *(undefined8 *)(lVar1 + 0x130);
  param_2[2] = *(undefined8 *)(lVar1 + 0x138);
  param_2[3] = *(undefined8 *)(lVar1 + 0x140);
  param_2[4] = *(undefined8 *)(lVar1 + 0x148);
  param_2[5] = *(undefined8 *)(lVar1 + 0x150);
  param_2[6] = *(undefined8 *)(lVar1 + 0x158);
  param_2[7] = *(undefined8 *)(lVar1 + 0x160);
  param_2[8] = *(undefined8 *)(lVar1 + 0x168);
  param_2[9] = *(undefined8 *)(lVar1 + 0x170);
  param_2[10] = *(undefined8 *)(lVar1 + 0x178);
  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);
  return;
}


MOV RAX,qword ptr [RDI + 0x10]
MOV RDX,qword ptr [RAX + 0x128]
MOV qword ptr [RSI],RDX
MOV RDX,qword ptr [RAX + 0x130]
MOV qword ptr [RSI + 0x8],RDX
MOV RDX,qword ptr [RAX + 0x138]
MOV qword ptr [RSI + 0x10],RDX
MOV RDX,qword ptr [RAX + 0x140]
MOV qword ptr [RSI + 0x18],RDX
MOV RDX,qword ptr [RAX + 0x148]
MOV qword ptr [RSI + 0x20],RDX
MOV RDX,qword ptr [RAX + 0x150]
MOV qword ptr [RSI + 0x28],RDX
MOV RDX,qword ptr [RAX + 0x158]
MOV qword ptr [RSI + 0x30],RDX
MOV RDX,qword ptr [RAX + 0x160]
MOV qword ptr [RSI + 0x38],RDX
MOV RDX,qword ptr [RAX + 0x168]
MOV qword ptr [RSI + 0x40],RDX
MOV RDX,qword ptr [RAX + 0x170]
MOV qword ptr [RSI + 0x48],RDX
MOV RDX,qword ptr [RAX + 0x178]
MOV qword ptr [RSI + 0x50],RDX
MOV RAX,qword ptr [RAX + 0x180]
MOV qword ptr [RSI + 0x58],RAX
RET
(translation_unit "void FUN_00326c00(long param_1,undefined8 *param_2)\n\n{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}\n\n" (function_definition "void FUN_00326c00(long param_1,undefined8 *param_2)\n\n{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}" primitive_type (function_declarator "FUN_00326c00(long param_1,undefined8 *param_2)" identifier (parameter_list "(long param_1,undefined8 *param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (expression_statement "lVar1 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar1 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = *(undefined8 *)(lVar1 + 0x128);" (assignment_expression "*param_2 = *(undefined8 *)(lVar1 + 0x128)" (pointer_expression "*param_2" * identifier) = (pointer_expression "*(undefined8 *)(lVar1 + 0x128)" * (cast_expression "(undefined8 *)(lVar1 + 0x128)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x128)" ( (binary_expression "lVar1 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "param_2[1] = *(undefined8 *)(lVar1 + 0x130);" (assignment_expression "param_2[1] = *(undefined8 *)(lVar1 + 0x130)" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x130)" * (cast_expression "(undefined8 *)(lVar1 + 0x130)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x130)" ( (binary_expression "lVar1 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "param_2[2] = *(undefined8 *)(lVar1 + 0x138);" (assignment_expression "param_2[2] = *(undefined8 *)(lVar1 + 0x138)" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x138)" * (cast_expression "(undefined8 *)(lVar1 + 0x138)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x138)" ( (binary_expression "lVar1 + 0x138" identifier + number_literal) ))))) ;) (expression_statement "param_2[3] = *(undefined8 *)(lVar1 + 0x140);" (assignment_expression "param_2[3] = *(undefined8 *)(lVar1 + 0x140)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x140)" * (cast_expression "(undefined8 *)(lVar1 + 0x140)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x140)" ( (binary_expression "lVar1 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "param_2[4] = *(undefined8 *)(lVar1 + 0x148);" (assignment_expression "param_2[4] = *(undefined8 *)(lVar1 + 0x148)" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x148)" * (cast_expression "(undefined8 *)(lVar1 + 0x148)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x148)" ( (binary_expression "lVar1 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "param_2[5] = *(undefined8 *)(lVar1 + 0x150);" (assignment_expression "param_2[5] = *(undefined8 *)(lVar1 + 0x150)" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x150)" * (cast_expression "(undefined8 *)(lVar1 + 0x150)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x150)" ( (binary_expression "lVar1 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "param_2[6] = *(undefined8 *)(lVar1 + 0x158);" (assignment_expression "param_2[6] = *(undefined8 *)(lVar1 + 0x158)" (subscript_expression "param_2[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x158)" * (cast_expression "(undefined8 *)(lVar1 + 0x158)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x158)" ( (binary_expression "lVar1 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "param_2[7] = *(undefined8 *)(lVar1 + 0x160);" (assignment_expression "param_2[7] = *(undefined8 *)(lVar1 + 0x160)" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x160)" * (cast_expression "(undefined8 *)(lVar1 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x160)" ( (binary_expression "lVar1 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "param_2[8] = *(undefined8 *)(lVar1 + 0x168);" (assignment_expression "param_2[8] = *(undefined8 *)(lVar1 + 0x168)" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x168)" * (cast_expression "(undefined8 *)(lVar1 + 0x168)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x168)" ( (binary_expression "lVar1 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "param_2[9] = *(undefined8 *)(lVar1 + 0x170);" (assignment_expression "param_2[9] = *(undefined8 *)(lVar1 + 0x170)" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x170)" * (cast_expression "(undefined8 *)(lVar1 + 0x170)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x170)" ( (binary_expression "lVar1 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "param_2[10] = *(undefined8 *)(lVar1 + 0x178);" (assignment_expression "param_2[10] = *(undefined8 *)(lVar1 + 0x178)" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x178)" * (cast_expression "(undefined8 *)(lVar1 + 0x178)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x178)" ( (binary_expression "lVar1 + 0x178" identifier + number_literal) ))))) ;) (expression_statement "param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);" (assignment_expression "param_2[0xb] = *(undefined8 *)(lVar1 + 0x180)" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x180)" * (cast_expression "(undefined8 *)(lVar1 + 0x180)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x180)" ( (binary_expression "lVar1 + 0x180" identifier + number_literal) ))))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* std::__timepunct<wchar_t>::_M_months_abbreviated(wchar_t const**) const */\n\nvoid __thiscall\nstd::__timepunct<wchar_t>::_M_months_abbreviated(__timepunct<wchar_t> *this,wchar_t **param_1)\n\n{\n  long lVar1;\n  \n  lVar1 = *(long *)(this + 0x10);\n  *param_1 = *(wchar_t **)(lVar1 + 0x128);\n  param_1[1] = *(wchar_t **)(lVar1 + 0x130);\n  param_1[2] = *(wchar_t **)(lVar1 + 0x138);\n  param_1[3] = *(wchar_t **)(lVar1 + 0x140);\n  param_1[4] = *(wchar_t **)(lVar1 + 0x148);\n  param_1[5] = *(wchar_t **)(lVar1 + 0x150);\n  param_1[6] = *(wchar_t **)(lVar1 + 0x158);\n  param_1[7] = *(wchar_t **)(lVar1 + 0x160);\n  param_1[8] = *(wchar_t **)(lVar1 + 0x168);\n  param_1[9] = *(wchar_t **)(lVar1 + 0x170);\n  param_1[10] = *(wchar_t **)(lVar1 + 0x178);\n  param_1[0xb] = *(wchar_t **)(lVar1 + 0x180);\n  return;\n}\n\n" comment (function_definition "void __thiscall\nstd::__timepunct<wchar_t>::_M_months_abbreviated(__timepunct<wchar_t> *this,wchar_t **param_1)\n\n{\n  long lVar1;\n  \n  lVar1 = *(long *)(this + 0x10);\n  *param_1 = *(wchar_t **)(lVar1 + 0x128);\n  param_1[1] = *(wchar_t **)(lVar1 + 0x130);\n  param_1[2] = *(wchar_t **)(lVar1 + 0x138);\n  param_1[3] = *(wchar_t **)(lVar1 + 0x140);\n  param_1[4] = *(wchar_t **)(lVar1 + 0x148);\n  param_1[5] = *(wchar_t **)(lVar1 + 0x150);\n  param_1[6] = *(wchar_t **)(lVar1 + 0x158);\n  param_1[7] = *(wchar_t **)(lVar1 + 0x160);\n  param_1[8] = *(wchar_t **)(lVar1 + 0x168);\n  param_1[9] = *(wchar_t **)(lVar1 + 0x170);\n  param_1[10] = *(wchar_t **)(lVar1 + 0x178);\n  param_1[0xb] = *(wchar_t **)(lVar1 + 0x180);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::__timepunct<wchar_t>::" identifier : : identifier < identifier > : :) (function_declarator "_M_months_abbreviated(__timepunct<wchar_t> *this,wchar_t **param_1)" identifier (parameter_list "(__timepunct<wchar_t> *this,wchar_t **param_1)" ( (parameter_declaration "__timepunct<wchar_t> *this" type_identifier (ERROR "<wchar_t>" < identifier >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "wchar_t **param_1" type_identifier (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) ))) (compound_statement "{\n  long lVar1;\n  \n  lVar1 = *(long *)(this + 0x10);\n  *param_1 = *(wchar_t **)(lVar1 + 0x128);\n  param_1[1] = *(wchar_t **)(lVar1 + 0x130);\n  param_1[2] = *(wchar_t **)(lVar1 + 0x138);\n  param_1[3] = *(wchar_t **)(lVar1 + 0x140);\n  param_1[4] = *(wchar_t **)(lVar1 + 0x148);\n  param_1[5] = *(wchar_t **)(lVar1 + 0x150);\n  param_1[6] = *(wchar_t **)(lVar1 + 0x158);\n  param_1[7] = *(wchar_t **)(lVar1 + 0x160);\n  param_1[8] = *(wchar_t **)(lVar1 + 0x168);\n  param_1[9] = *(wchar_t **)(lVar1 + 0x170);\n  param_1[10] = *(wchar_t **)(lVar1 + 0x178);\n  param_1[0xb] = *(wchar_t **)(lVar1 + 0x180);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (expression_statement "lVar1 = *(long *)(this + 0x10);" (assignment_expression "lVar1 = *(long *)(this + 0x10)" identifier = (pointer_expression "*(long *)(this + 0x10)" * (cast_expression "(long *)(this + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*param_1 = *(wchar_t **)(lVar1 + 0x128);" (assignment_expression "*param_1 = *(wchar_t **)(lVar1 + 0x128)" (pointer_expression "*param_1" * identifier) = (pointer_expression "*(wchar_t **)(lVar1 + 0x128)" * (cast_expression "(wchar_t **)(lVar1 + 0x128)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x128)" ( (binary_expression "lVar1 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "param_1[1] = *(wchar_t **)(lVar1 + 0x130);" (assignment_expression "param_1[1] = *(wchar_t **)(lVar1 + 0x130)" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x130)" * (cast_expression "(wchar_t **)(lVar1 + 0x130)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x130)" ( (binary_expression "lVar1 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "param_1[2] = *(wchar_t **)(lVar1 + 0x138);" (assignment_expression "param_1[2] = *(wchar_t **)(lVar1 + 0x138)" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x138)" * (cast_expression "(wchar_t **)(lVar1 + 0x138)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x138)" ( (binary_expression "lVar1 + 0x138" identifier + number_literal) ))))) ;) (expression_statement "param_1[3] = *(wchar_t **)(lVar1 + 0x140);" (assignment_expression "param_1[3] = *(wchar_t **)(lVar1 + 0x140)" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x140)" * (cast_expression "(wchar_t **)(lVar1 + 0x140)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x140)" ( (binary_expression "lVar1 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "param_1[4] = *(wchar_t **)(lVar1 + 0x148);" (assignment_expression "param_1[4] = *(wchar_t **)(lVar1 + 0x148)" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x148)" * (cast_expression "(wchar_t **)(lVar1 + 0x148)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x148)" ( (binary_expression "lVar1 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "param_1[5] = *(wchar_t **)(lVar1 + 0x150);" (assignment_expression "param_1[5] = *(wchar_t **)(lVar1 + 0x150)" (subscript_expression "param_1[5]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x150)" * (cast_expression "(wchar_t **)(lVar1 + 0x150)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x150)" ( (binary_expression "lVar1 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "param_1[6] = *(wchar_t **)(lVar1 + 0x158);" (assignment_expression "param_1[6] = *(wchar_t **)(lVar1 + 0x158)" (subscript_expression "param_1[6]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x158)" * (cast_expression "(wchar_t **)(lVar1 + 0x158)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x158)" ( (binary_expression "lVar1 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "param_1[7] = *(wchar_t **)(lVar1 + 0x160);" (assignment_expression "param_1[7] = *(wchar_t **)(lVar1 + 0x160)" (subscript_expression "param_1[7]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x160)" * (cast_expression "(wchar_t **)(lVar1 + 0x160)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x160)" ( (binary_expression "lVar1 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "param_1[8] = *(wchar_t **)(lVar1 + 0x168);" (assignment_expression "param_1[8] = *(wchar_t **)(lVar1 + 0x168)" (subscript_expression "param_1[8]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x168)" * (cast_expression "(wchar_t **)(lVar1 + 0x168)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x168)" ( (binary_expression "lVar1 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "param_1[9] = *(wchar_t **)(lVar1 + 0x170);" (assignment_expression "param_1[9] = *(wchar_t **)(lVar1 + 0x170)" (subscript_expression "param_1[9]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x170)" * (cast_expression "(wchar_t **)(lVar1 + 0x170)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x170)" ( (binary_expression "lVar1 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "param_1[10] = *(wchar_t **)(lVar1 + 0x178);" (assignment_expression "param_1[10] = *(wchar_t **)(lVar1 + 0x178)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x178)" * (cast_expression "(wchar_t **)(lVar1 + 0x178)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x178)" ( (binary_expression "lVar1 + 0x178" identifier + number_literal) ))))) ;) (expression_statement "param_1[0xb] = *(wchar_t **)(lVar1 + 0x180);" (assignment_expression "param_1[0xb] = *(wchar_t **)(lVar1 + 0x180)" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (pointer_expression "*(wchar_t **)(lVar1 + 0x180)" * (cast_expression "(wchar_t **)(lVar1 + 0x180)" ( (type_descriptor "wchar_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x180)" ( (binary_expression "lVar1 + 0x180" identifier + number_literal) ))))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00326c00(long param_1,undefined8 *param_2)\n\n{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}\n\n" (function_definition "void FUN_00326c00(long param_1,undefined8 *param_2)\n\n{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}" primitive_type (function_declarator "FUN_00326c00(long param_1,undefined8 *param_2)" identifier (parameter_list "(long param_1,undefined8 *param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (expression_statement "lVar1 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar1 = *(long *)(param_1 + 0x10)" identifier = (pointer_expression "*(long *)(param_1 + 0x10)" * (cast_expression "(long *)(param_1 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = *(undefined8 *)(lVar1 + 0x128);" (assignment_expression "*param_2 = *(undefined8 *)(lVar1 + 0x128)" (pointer_expression "*param_2" * identifier) = (pointer_expression "*(undefined8 *)(lVar1 + 0x128)" * (cast_expression "(undefined8 *)(lVar1 + 0x128)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x128)" ( (binary_expression "lVar1 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "param_2[1] = *(undefined8 *)(lVar1 + 0x130);" (assignment_expression "param_2[1] = *(undefined8 *)(lVar1 + 0x130)" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x130)" * (cast_expression "(undefined8 *)(lVar1 + 0x130)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x130)" ( (binary_expression "lVar1 + 0x130" identifier + number_literal) ))))) ;) (expression_statement "param_2[2] = *(undefined8 *)(lVar1 + 0x138);" (assignment_expression "param_2[2] = *(undefined8 *)(lVar1 + 0x138)" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x138)" * (cast_expression "(undefined8 *)(lVar1 + 0x138)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x138)" ( (binary_expression "lVar1 + 0x138" identifier + number_literal) ))))) ;) (expression_statement "param_2[3] = *(undefined8 *)(lVar1 + 0x140);" (assignment_expression "param_2[3] = *(undefined8 *)(lVar1 + 0x140)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x140)" * (cast_expression "(undefined8 *)(lVar1 + 0x140)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x140)" ( (binary_expression "lVar1 + 0x140" identifier + number_literal) ))))) ;) (expression_statement "param_2[4] = *(undefined8 *)(lVar1 + 0x148);" (assignment_expression "param_2[4] = *(undefined8 *)(lVar1 + 0x148)" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x148)" * (cast_expression "(undefined8 *)(lVar1 + 0x148)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x148)" ( (binary_expression "lVar1 + 0x148" identifier + number_literal) ))))) ;) (expression_statement "param_2[5] = *(undefined8 *)(lVar1 + 0x150);" (assignment_expression "param_2[5] = *(undefined8 *)(lVar1 + 0x150)" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x150)" * (cast_expression "(undefined8 *)(lVar1 + 0x150)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x150)" ( (binary_expression "lVar1 + 0x150" identifier + number_literal) ))))) ;) (expression_statement "param_2[6] = *(undefined8 *)(lVar1 + 0x158);" (assignment_expression "param_2[6] = *(undefined8 *)(lVar1 + 0x158)" (subscript_expression "param_2[6]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x158)" * (cast_expression "(undefined8 *)(lVar1 + 0x158)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x158)" ( (binary_expression "lVar1 + 0x158" identifier + number_literal) ))))) ;) (expression_statement "param_2[7] = *(undefined8 *)(lVar1 + 0x160);" (assignment_expression "param_2[7] = *(undefined8 *)(lVar1 + 0x160)" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x160)" * (cast_expression "(undefined8 *)(lVar1 + 0x160)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x160)" ( (binary_expression "lVar1 + 0x160" identifier + number_literal) ))))) ;) (expression_statement "param_2[8] = *(undefined8 *)(lVar1 + 0x168);" (assignment_expression "param_2[8] = *(undefined8 *)(lVar1 + 0x168)" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x168)" * (cast_expression "(undefined8 *)(lVar1 + 0x168)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x168)" ( (binary_expression "lVar1 + 0x168" identifier + number_literal) ))))) ;) (expression_statement "param_2[9] = *(undefined8 *)(lVar1 + 0x170);" (assignment_expression "param_2[9] = *(undefined8 *)(lVar1 + 0x170)" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x170)" * (cast_expression "(undefined8 *)(lVar1 + 0x170)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x170)" ( (binary_expression "lVar1 + 0x170" identifier + number_literal) ))))) ;) (expression_statement "param_2[10] = *(undefined8 *)(lVar1 + 0x178);" (assignment_expression "param_2[10] = *(undefined8 *)(lVar1 + 0x178)" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x178)" * (cast_expression "(undefined8 *)(lVar1 + 0x178)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x178)" ( (binary_expression "lVar1 + 0x178" identifier + number_literal) ))))) ;) (expression_statement "param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);" (assignment_expression "param_2[0xb] = *(undefined8 *)(lVar1 + 0x180)" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(lVar1 + 0x180)" * (cast_expression "(undefined8 *)(lVar1 + 0x180)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x180)" ( (binary_expression "lVar1 + 0x180" identifier + number_literal) ))))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return ;) })))
(function_definition "void FUN_00326c00(long param_1,undefined8 *param_2)\n\n{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00326c00(long param_1,undefined8 *param_2)" (identifier "FUN_00326c00") (parameter_list "(long param_1,undefined8 *param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 *param_2" (type_identifier "undefined8") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  long lVar1;\n  \n  lVar1 = *(long *)(param_1 + 0x10);\n  *param_2 = *(undefined8 *)(lVar1 + 0x128);\n  param_2[1] = *(undefined8 *)(lVar1 + 0x130);\n  param_2[2] = *(undefined8 *)(lVar1 + 0x138);\n  param_2[3] = *(undefined8 *)(lVar1 + 0x140);\n  param_2[4] = *(undefined8 *)(lVar1 + 0x148);\n  param_2[5] = *(undefined8 *)(lVar1 + 0x150);\n  param_2[6] = *(undefined8 *)(lVar1 + 0x158);\n  param_2[7] = *(undefined8 *)(lVar1 + 0x160);\n  param_2[8] = *(undefined8 *)(lVar1 + 0x168);\n  param_2[9] = *(undefined8 *)(lVar1 + 0x170);\n  param_2[10] = *(undefined8 *)(lVar1 + 0x178);\n  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);\n  return;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (expression_statement "lVar1 = *(long *)(param_1 + 0x10);" (assignment_expression "lVar1 = *(long *)(param_1 + 0x10)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(param_1 + 0x10)" (* "*") (cast_expression "(long *)(param_1 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*param_2 = *(undefined8 *)(lVar1 + 0x128);" (assignment_expression "*param_2 = *(undefined8 *)(lVar1 + 0x128)" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x128)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x128)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x128)" (( "(") (binary_expression "lVar1 + 0x128" (identifier "lVar1") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "param_2[1] = *(undefined8 *)(lVar1 + 0x130);" (assignment_expression "param_2[1] = *(undefined8 *)(lVar1 + 0x130)" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x130)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x130)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x130)" (( "(") (binary_expression "lVar1 + 0x130" (identifier "lVar1") (+ "+") (number_literal "0x130")) () ")"))))) (; ";")) (expression_statement "param_2[2] = *(undefined8 *)(lVar1 + 0x138);" (assignment_expression "param_2[2] = *(undefined8 *)(lVar1 + 0x138)" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x138)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x138)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x138)" (( "(") (binary_expression "lVar1 + 0x138" (identifier "lVar1") (+ "+") (number_literal "0x138")) () ")"))))) (; ";")) (expression_statement "param_2[3] = *(undefined8 *)(lVar1 + 0x140);" (assignment_expression "param_2[3] = *(undefined8 *)(lVar1 + 0x140)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x140)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x140)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x140)" (( "(") (binary_expression "lVar1 + 0x140" (identifier "lVar1") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (expression_statement "param_2[4] = *(undefined8 *)(lVar1 + 0x148);" (assignment_expression "param_2[4] = *(undefined8 *)(lVar1 + 0x148)" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x148)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x148)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x148)" (( "(") (binary_expression "lVar1 + 0x148" (identifier "lVar1") (+ "+") (number_literal "0x148")) () ")"))))) (; ";")) (expression_statement "param_2[5] = *(undefined8 *)(lVar1 + 0x150);" (assignment_expression "param_2[5] = *(undefined8 *)(lVar1 + 0x150)" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x150)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x150)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x150)" (( "(") (binary_expression "lVar1 + 0x150" (identifier "lVar1") (+ "+") (number_literal "0x150")) () ")"))))) (; ";")) (expression_statement "param_2[6] = *(undefined8 *)(lVar1 + 0x158);" (assignment_expression "param_2[6] = *(undefined8 *)(lVar1 + 0x158)" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x158)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x158)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x158)" (( "(") (binary_expression "lVar1 + 0x158" (identifier "lVar1") (+ "+") (number_literal "0x158")) () ")"))))) (; ";")) (expression_statement "param_2[7] = *(undefined8 *)(lVar1 + 0x160);" (assignment_expression "param_2[7] = *(undefined8 *)(lVar1 + 0x160)" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x160)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x160)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x160)" (( "(") (binary_expression "lVar1 + 0x160" (identifier "lVar1") (+ "+") (number_literal "0x160")) () ")"))))) (; ";")) (expression_statement "param_2[8] = *(undefined8 *)(lVar1 + 0x168);" (assignment_expression "param_2[8] = *(undefined8 *)(lVar1 + 0x168)" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x168)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x168)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x168)" (( "(") (binary_expression "lVar1 + 0x168" (identifier "lVar1") (+ "+") (number_literal "0x168")) () ")"))))) (; ";")) (expression_statement "param_2[9] = *(undefined8 *)(lVar1 + 0x170);" (assignment_expression "param_2[9] = *(undefined8 *)(lVar1 + 0x170)" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x170)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x170)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x170)" (( "(") (binary_expression "lVar1 + 0x170" (identifier "lVar1") (+ "+") (number_literal "0x170")) () ")"))))) (; ";")) (expression_statement "param_2[10] = *(undefined8 *)(lVar1 + 0x178);" (assignment_expression "param_2[10] = *(undefined8 *)(lVar1 + 0x178)" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x178)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x178)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x178)" (( "(") (binary_expression "lVar1 + 0x178" (identifier "lVar1") (+ "+") (number_literal "0x178")) () ")"))))) (; ";")) (expression_statement "param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);" (assignment_expression "param_2[0xb] = *(undefined8 *)(lVar1 + 0x180)" (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(lVar1 + 0x180)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x180)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x180)" (( "(") (binary_expression "lVar1 + 0x180" (identifier "lVar1") (+ "+") (number_literal "0x180")) () ")"))))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* std::__timepunct<wchar_t>::_M_months_abbreviated(wchar_t const**) const */

void __thiscall
std::type_1<type_2>::function_1(type_1<type_2> *var_1,type_2 **param_1)

{
  long var_2;
  
  var_2 = *(long *)(var_1 + 0x10);
  *param_1 = *(type_2 **)(var_2 + 0x128);
  param_1[1] = *(type_2 **)(var_2 + 0x130);
  param_1[2] = *(type_2 **)(var_2 + 0x138);
  param_1[3] = *(type_2 **)(var_2 + 0x140);
  param_1[4] = *(type_2 **)(var_2 + 0x148);
  param_1[5] = *(type_2 **)(var_2 + 0x150);
  param_1[6] = *(type_2 **)(var_2 + 0x158);
  param_1[7] = *(type_2 **)(var_2 + 0x160);
  param_1[8] = *(type_2 **)(var_2 + 0x168);
  param_1[9] = *(type_2 **)(var_2 + 0x170);
  param_1[10] = *(type_2 **)(var_2 + 0x178);
  param_1[0xb] = *(type_2 **)(var_2 + 0x180);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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))))))) (return_statement))))

void MASKED(long param_1,undefined8 *param_2)

{
  long lVar1;
  
  lVar1 = *(long *)(param_1 + 0x10);
  *param_2 = *(undefined8 *)(lVar1 + 0x128);
  param_2[1] = *(undefined8 *)(lVar1 + 0x130);
  param_2[2] = *(undefined8 *)(lVar1 + 0x138);
  param_2[3] = *(undefined8 *)(lVar1 + 0x140);
  param_2[4] = *(undefined8 *)(lVar1 + 0x148);
  param_2[5] = *(undefined8 *)(lVar1 + 0x150);
  param_2[6] = *(undefined8 *)(lVar1 + 0x158);
  param_2[7] = *(undefined8 *)(lVar1 + 0x160);
  param_2[8] = *(undefined8 *)(lVar1 + 0x168);
  param_2[9] = *(undefined8 *)(lVar1 + 0x170);
  param_2[10] = *(undefined8 *)(lVar1 + 0x178);
  param_2[0xb] = *(undefined8 *)(lVar1 + 0x180);
  return;
}

