
uchar * anon_unknown.dwarf_2cac9f::restfpr0_tail<false>(uchar *p,int r)

{
  p[0] = '\x10';
  p[1] = '\0';
  p[2] = '\x01';
  p[3] = 0xe8;
  p[8] = 0xa6;
  p[9] = '\x03';
  p[10] = '\b';
  p[0xb] = '|';
  *(int *)(p + 4) = r * 0x200008 + -0x37fe0100;
  if (r != 0x1d) {
    p[0xc] = ' ';
    p[0xd] = '\0';
    p[0xe] = 0x80;
    p[0xf] = 'N';
    return p + 0x10;
  }
  p[0xc] = 0xf0;
  p[0xd] = 0xff;
  p[0xe] = 0xc1;
  p[0xf] = 0xcb;
  p[0x10] = 0xf8;
  p[0x11] = 0xff;
  p[0x12] = 0xe1;
  p[0x13] = 0xcb;
  p[0x14] = ' ';
  p[0x15] = '\0';
  p[0x16] = 0x80;
  p[0x17] = 'N';
  return p + 0x18;
}



undefined4 * FUN_00169d90(undefined4 *param_1,int param_2)

{
  *param_1 = 0xe8010010;
  param_1[2] = 0x7c0803a6;
  param_1[1] = param_2 * 0x200008 + -0x37fe0100;
  if (param_2 != 0x1d) {
    param_1[3] = 0x4e800020;
    return param_1 + 4;
  }
  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;
  param_1[5] = 0x4e800020;
  return param_1 + 6;
}


MOV EAX,ESI
MOV EDX,0x20
MOV dword ptr [RDI],0xe8010010
SHL EAX,0x15
SUB EDX,ESI
MOV dword ptr [RDI + 0x8],0x7c0803a6
SUB EAX,0x37fe0000
SHL EDX,0x3
SUB EAX,EDX
MOV dword ptr [RDI + 0x4],EAX
CMP ESI,0x1d
JZ 0x00169dd0
ADD RDI,0xc
MOV dword ptr [RDI],0x4e800020
LEA RAX,[RDI + 0x4]
RET
MOV RAX,-0x341e0007343e0010
ADD RDI,0x14
MOV qword ptr [RDI + -0x8],RAX
LEA RAX,[RDI + 0x4]
MOV dword ptr [RDI],0x4e800020
RET
(translation_unit "undefined4 * FUN_00169d90(undefined4 *param_1,int param_2)\n\n{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}\n\n" (function_definition "undefined4 * FUN_00169d90(undefined4 *param_1,int param_2)\n\n{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}" type_identifier (pointer_declarator "* FUN_00169d90(undefined4 *param_1,int param_2)" * (function_declarator "FUN_00169d90(undefined4 *param_1,int param_2)" identifier (parameter_list "(undefined4 *param_1,int param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}" { (expression_statement "*param_1 = 0xe8010010;" (assignment_expression "*param_1 = 0xe8010010" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[2] = 0x7c0803a6;" (assignment_expression "param_1[2] = 0x7c0803a6" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = param_2 * 0x200008 + -0x37fe0100;" (assignment_expression "param_1[1] = param_2 * 0x200008 + -0x37fe0100" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "param_2 * 0x200008 + -0x37fe0100" (binary_expression "param_2 * 0x200008" identifier * number_literal) + number_literal)) ;) (if_statement "if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }" if (parenthesized_expression "(param_2 != 0x1d)" ( (binary_expression "param_2 != 0x1d" identifier != number_literal) )) (compound_statement "{\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }" { (expression_statement "param_1[3] = 0x4e800020;" (assignment_expression "param_1[3] = 0x4e800020" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return param_1 + 4;" return (binary_expression "param_1 + 4" identifier + number_literal) ;) })) (expression_statement "*(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;" (assignment_expression "*(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0" (pointer_expression "*(undefined8 *)(param_1 + 3)" * (cast_expression "(undefined8 *)(param_1 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[5] = 0x4e800020;" (assignment_expression "param_1[5] = 0x4e800020" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return param_1 + 6;" return (binary_expression "param_1 + 6" identifier + number_literal) ;) })))
(translation_unit "uchar * anon_unknown.dwarf_2cac9f::restfpr0_tail<false>(uchar *p,int r)\n\n{\n  p[0] = '\x10';\n  p[1] = '\0';\n  p[2] = '\x01';\n  p[3] = 0xe8;\n  p[8] = 0xa6;\n  p[9] = '\x03';\n  p[10] = '\b';\n  p[0xb] = '|';\n  *(int *)(p + 4) = r * 0x200008 + -0x37fe0100;\n  if (r != 0x1d) {\n    p[0xc] = ' ';\n    p[0xd] = '\0';\n    p[0xe] = 0x80;\n    p[0xf] = 'N';\n    return p + 0x10;\n  }\n  p[0xc] = 0xf0;\n  p[0xd] = 0xff;\n  p[0xe] = 0xc1;\n  p[0xf] = 0xcb;\n  p[0x10] = 0xf8;\n  p[0x11] = 0xff;\n  p[0x12] = 0xe1;\n  p[0x13] = 0xcb;\n  p[0x14] = ' ';\n  p[0x15] = '\0';\n  p[0x16] = 0x80;\n  p[0x17] = 'N';\n  return p + 0x18;\n}\n\n" (ERROR "uchar * anon_unknown.dwarf_2cac9f::restfpr0_tail<false>(uchar *p,int r)" (binary_expression "uchar * anon_unknown.dwarf_2cac9f::restfpr0_tail<false>(uchar *p,int r)" (binary_expression "uchar * anon_unknown.dwarf_2cac9f::restfpr0_tail<false" (binary_expression "uchar * anon_unknown.dwarf_2cac9f" identifier * (field_expression "anon_unknown.dwarf_2cac9f" identifier . field_identifier)) (ERROR "::restfpr0_tail" : : identifier) < false) > (parenthesized_expression "(uchar *p,int r)" ( (comma_expression "uchar *p,int" (binary_expression "uchar *p" identifier * identifier) , identifier) (ERROR "r" identifier) )))) (compound_statement "{\n  p[0] = '\x10';\n  p[1] = '\0';\n  p[2] = '\x01';\n  p[3] = 0xe8;\n  p[8] = 0xa6;\n  p[9] = '\x03';\n  p[10] = '\b';\n  p[0xb] = '|';\n  *(int *)(p + 4) = r * 0x200008 + -0x37fe0100;\n  if (r != 0x1d) {\n    p[0xc] = ' ';\n    p[0xd] = '\0';\n    p[0xe] = 0x80;\n    p[0xf] = 'N';\n    return p + 0x10;\n  }\n  p[0xc] = 0xf0;\n  p[0xd] = 0xff;\n  p[0xe] = 0xc1;\n  p[0xf] = 0xcb;\n  p[0x10] = 0xf8;\n  p[0x11] = 0xff;\n  p[0x12] = 0xe1;\n  p[0x13] = 0xcb;\n  p[0x14] = ' ';\n  p[0x15] = '\0';\n  p[0x16] = 0x80;\n  p[0x17] = 'N';\n  return p + 0x18;\n}" { (expression_statement "p[0] = '\x10';" (assignment_expression "p[0] = '\x10'" (subscript_expression "p[0]" identifier [ number_literal ]) = (char_literal "'\x10'" ' escape_sequence ')) ;) (expression_statement "p[1] = '\0';" (assignment_expression "p[1] = '\0'" (subscript_expression "p[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[2] = '\x01';" (assignment_expression "p[2] = '\x01'" (subscript_expression "p[2]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "p[3] = 0xe8;" (assignment_expression "p[3] = 0xe8" (subscript_expression "p[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[8] = 0xa6;" (assignment_expression "p[8] = 0xa6" (subscript_expression "p[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[9] = '\x03';" (assignment_expression "p[9] = '\x03'" (subscript_expression "p[9]" identifier [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "p[10] = '\b';" (assignment_expression "p[10] = '\b'" (subscript_expression "p[10]" identifier [ number_literal ]) = (char_literal "'\b'" ' escape_sequence ')) ;) (expression_statement "p[0xb] = '|';" (assignment_expression "p[0xb] = '|'" (subscript_expression "p[0xb]" identifier [ number_literal ]) = (char_literal "'|'" ' character ')) ;) (expression_statement "*(int *)(p + 4) = r * 0x200008 + -0x37fe0100;" (assignment_expression "*(int *)(p + 4) = r * 0x200008 + -0x37fe0100" (pointer_expression "*(int *)(p + 4)" * (cast_expression "(int *)(p + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p + 4)" ( (binary_expression "p + 4" identifier + number_literal) )))) = (binary_expression "r * 0x200008 + -0x37fe0100" (binary_expression "r * 0x200008" identifier * number_literal) + number_literal)) ;) (if_statement "if (r != 0x1d) {\n    p[0xc] = ' ';\n    p[0xd] = '\0';\n    p[0xe] = 0x80;\n    p[0xf] = 'N';\n    return p + 0x10;\n  }" if (parenthesized_expression "(r != 0x1d)" ( (binary_expression "r != 0x1d" identifier != number_literal) )) (compound_statement "{\n    p[0xc] = ' ';\n    p[0xd] = '\0';\n    p[0xe] = 0x80;\n    p[0xf] = 'N';\n    return p + 0x10;\n  }" { (expression_statement "p[0xc] = ' ';" (assignment_expression "p[0xc] = ' '" (subscript_expression "p[0xc]" identifier [ number_literal ]) = (char_literal "' '" ' character ')) ;) (expression_statement "p[0xd] = '\0';" (assignment_expression "p[0xd] = '\0'" (subscript_expression "p[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0xe] = 0x80;" (assignment_expression "p[0xe] = 0x80" (subscript_expression "p[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0xf] = 'N';" (assignment_expression "p[0xf] = 'N'" (subscript_expression "p[0xf]" identifier [ number_literal ]) = (char_literal "'N'" ' character ')) ;) (return_statement "return p + 0x10;" return (binary_expression "p + 0x10" identifier + number_literal) ;) })) (expression_statement "p[0xc] = 0xf0;" (assignment_expression "p[0xc] = 0xf0" (subscript_expression "p[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0xd] = 0xff;" (assignment_expression "p[0xd] = 0xff" (subscript_expression "p[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0xe] = 0xc1;" (assignment_expression "p[0xe] = 0xc1" (subscript_expression "p[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0xf] = 0xcb;" (assignment_expression "p[0xf] = 0xcb" (subscript_expression "p[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0x10] = 0xf8;" (assignment_expression "p[0x10] = 0xf8" (subscript_expression "p[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0x11] = 0xff;" (assignment_expression "p[0x11] = 0xff" (subscript_expression "p[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0x12] = 0xe1;" (assignment_expression "p[0x12] = 0xe1" (subscript_expression "p[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0x13] = 0xcb;" (assignment_expression "p[0x13] = 0xcb" (subscript_expression "p[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0x14] = ' ';" (assignment_expression "p[0x14] = ' '" (subscript_expression "p[0x14]" identifier [ number_literal ]) = (char_literal "' '" ' character ')) ;) (expression_statement "p[0x15] = '\0';" (assignment_expression "p[0x15] = '\0'" (subscript_expression "p[0x15]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x16] = 0x80;" (assignment_expression "p[0x16] = 0x80" (subscript_expression "p[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p[0x17] = 'N';" (assignment_expression "p[0x17] = 'N'" (subscript_expression "p[0x17]" identifier [ number_literal ]) = (char_literal "'N'" ' character ')) ;) (return_statement "return p + 0x18;" return (binary_expression "p + 0x18" identifier + number_literal) ;) }))
(translation_unit "undefined4 * FUN_00169d90(undefined4 *param_1,int param_2)\n\n{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}\n\n" (function_definition "undefined4 * FUN_00169d90(undefined4 *param_1,int param_2)\n\n{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}" type_identifier (pointer_declarator "* FUN_00169d90(undefined4 *param_1,int param_2)" * (function_declarator "FUN_00169d90(undefined4 *param_1,int param_2)" identifier (parameter_list "(undefined4 *param_1,int param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) )))) (compound_statement "{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}" { (expression_statement "*param_1 = 0xe8010010;" (assignment_expression "*param_1 = 0xe8010010" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[2] = 0x7c0803a6;" (assignment_expression "param_1[2] = 0x7c0803a6" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[1] = param_2 * 0x200008 + -0x37fe0100;" (assignment_expression "param_1[1] = param_2 * 0x200008 + -0x37fe0100" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "param_2 * 0x200008 + -0x37fe0100" (binary_expression "param_2 * 0x200008" identifier * number_literal) + number_literal)) ;) (if_statement "if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }" if (parenthesized_expression "(param_2 != 0x1d)" ( (binary_expression "param_2 != 0x1d" identifier != number_literal) )) (compound_statement "{\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }" { (expression_statement "param_1[3] = 0x4e800020;" (assignment_expression "param_1[3] = 0x4e800020" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return param_1 + 4;" return (binary_expression "param_1 + 4" identifier + number_literal) ;) })) (expression_statement "*(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;" (assignment_expression "*(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0" (pointer_expression "*(undefined8 *)(param_1 + 3)" * (cast_expression "(undefined8 *)(param_1 + 3)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "param_1[5] = 0x4e800020;" (assignment_expression "param_1[5] = 0x4e800020" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return param_1 + 6;" return (binary_expression "param_1 + 6" identifier + number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT * LIT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return (binary_expression IDENT + LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return (binary_expression IDENT + LIT) ;) })))
(function_definition "undefined4 * FUN_00169d90(undefined4 *param_1,int param_2)\n\n{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}" (type_identifier "undefined4") (pointer_declarator "* FUN_00169d90(undefined4 *param_1,int param_2)" (* "*") (function_declarator "FUN_00169d90(undefined4 *param_1,int param_2)" (identifier "FUN_00169d90") (parameter_list "(undefined4 *param_1,int param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")")))) (compound_statement "{\n  *param_1 = 0xe8010010;\n  param_1[2] = 0x7c0803a6;\n  param_1[1] = param_2 * 0x200008 + -0x37fe0100;\n  if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }\n  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;\n  param_1[5] = 0x4e800020;\n  return param_1 + 6;\n}" ({ "{") (expression_statement "*param_1 = 0xe8010010;" (assignment_expression "*param_1 = 0xe8010010" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0xe8010010")) (; ";")) (expression_statement "param_1[2] = 0x7c0803a6;" (assignment_expression "param_1[2] = 0x7c0803a6" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x7c0803a6")) (; ";")) (expression_statement "param_1[1] = param_2 * 0x200008 + -0x37fe0100;" (assignment_expression "param_1[1] = param_2 * 0x200008 + -0x37fe0100" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_2 * 0x200008 + -0x37fe0100" (binary_expression "param_2 * 0x200008" (identifier "param_2") (* "*") (number_literal "0x200008")) (+ "+") (number_literal "-0x37fe0100"))) (; ";")) (if_statement "if (param_2 != 0x1d) {\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }" (if "if") (parenthesized_expression "(param_2 != 0x1d)" (( "(") (binary_expression "param_2 != 0x1d" (identifier "param_2") (!= "!=") (number_literal "0x1d")) () ")")) (compound_statement "{\n    param_1[3] = 0x4e800020;\n    return param_1 + 4;\n  }" ({ "{") (expression_statement "param_1[3] = 0x4e800020;" (assignment_expression "param_1[3] = 0x4e800020" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x4e800020")) (; ";")) (return_statement "return param_1 + 4;" (return "return") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) (; ";")) (} "}"))) (expression_statement "*(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;" (assignment_expression "*(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0" (pointer_expression "*(undefined8 *)(param_1 + 3)" (* "*") (cast_expression "(undefined8 *)(param_1 + 3)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0xcbe1fff8cbc1fff0")) (; ";")) (expression_statement "param_1[5] = 0x4e800020;" (assignment_expression "param_1[5] = 0x4e800020" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x4e800020")) (; ";")) (return_statement "return param_1 + 6;" (return "return") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) (; ";")) (} "}")))

uchar * anon_unknown.dwarf_2cac9f::restfpr0_tail<false>(uchar *var_1,int var_2)

{
  var_1[0] = '\x10';
  var_1[1] = '\0';
  var_1[2] = '\x01';
  var_1[3] = 0xe8;
  var_1[8] = 0xa6;
  var_1[9] = '\x03';
  var_1[10] = '\b';
  var_1[0xb] = '|';
  *(int *)(var_1 + 4) = var_2 * 0x200008 + -0x37fe0100;
  if (var_2 != 0x1d) {
    var_1[0xc] = ' ';
    var_1[0xd] = '\0';
    var_1[0xe] = 0x80;
    var_1[0xf] = 'N';
    return var_1 + 0x10;
  }
  var_1[0xc] = 0xf0;
  var_1[0xd] = 0xff;
  var_1[0xe] = 0xc1;
  var_1[0xf] = 0xcb;
  var_1[0x10] = 0xf8;
  var_1[0x11] = 0xff;
  var_1[0x12] = 0xe1;
  var_1[0x13] = 0xcb;
  var_1[0x14] = ' ';
  var_1[0x15] = '\0';
  var_1[0x16] = 0x80;
  var_1[0x17] = 'N';
  return var_1 + 0x18;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement (binary_expression left: (identifier) right: (number_literal))))))

undefined4 * MASKED(undefined4 *param_1,int param_2)

{
  *param_1 = 0xe8010010;
  param_1[2] = 0x7c0803a6;
  param_1[1] = param_2 * 0x200008 + -0x37fe0100;
  if (param_2 != 0x1d) {
    param_1[3] = 0x4e800020;
    return param_1 + 4;
  }
  *(undefined8 *)(param_1 + 3) = 0xcbe1fff8cbc1fff0;
  param_1[5] = 0x4e800020;
  return param_1 + 6;
}

