
int zipfileSerializeEOCD(ZipfileEOCD *p,u8 *aBuf)

{
  u16 uVar1;
  u32 uVar2;
  u8 *a;
  
  *aBuf = 'P';
  aBuf[1] = 'K';
  aBuf[2] = '\x05';
  aBuf[3] = '\x06';
  uVar1 = p->iDisk;
  aBuf[4] = (u8)uVar1;
  aBuf[5] = (u8)(uVar1 >> 8);
  uVar1 = p->iFirstDisk;
  aBuf[6] = (u8)uVar1;
  aBuf[7] = (u8)(uVar1 >> 8);
  uVar1 = p->nEntry;
  aBuf[8] = (u8)uVar1;
  aBuf[9] = (u8)(uVar1 >> 8);
  uVar1 = p->nEntryTotal;
  aBuf[10] = (u8)uVar1;
  aBuf[0xb] = (u8)(uVar1 >> 8);
  uVar2 = p->nSize;
  aBuf[0xc] = (u8)uVar2;
  aBuf[0xd] = (u8)(uVar2 >> 8);
  aBuf[0xe] = (u8)(uVar2 >> 0x10);
  aBuf[0xf] = (u8)(uVar2 >> 0x18);
  uVar2 = p->iOffset;
  aBuf[0x14] = '\0';
  aBuf[0x15] = '\0';
  aBuf[0x10] = (u8)uVar2;
  aBuf[0x11] = (u8)(uVar2 >> 8);
  aBuf[0x12] = (u8)(uVar2 >> 0x10);
  aBuf[0x13] = (u8)(uVar2 >> 0x18);
  return 0x16;
}



undefined4 FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)

{
  undefined2 uVar1;
  undefined4 uVar2;
  
  *param_2 = 0x50;
  param_2[1] = 0x4b;
  param_2[2] = 5;
  param_2[3] = 6;
  uVar1 = *param_1;
  param_2[4] = (char)uVar1;
  param_2[5] = (char)((ushort)uVar1 >> 8);
  uVar1 = param_1[1];
  param_2[6] = (char)uVar1;
  param_2[7] = (char)((ushort)uVar1 >> 8);
  uVar1 = param_1[2];
  param_2[8] = (char)uVar1;
  param_2[9] = (char)((ushort)uVar1 >> 8);
  uVar1 = param_1[3];
  param_2[10] = (char)uVar1;
  param_2[0xb] = (char)((ushort)uVar1 >> 8);
  uVar2 = *(undefined4 *)(param_1 + 4);
  param_2[0xc] = (char)uVar2;
  param_2[0xd] = (char)((uint)uVar2 >> 8);
  param_2[0xe] = (char)((uint)uVar2 >> 0x10);
  param_2[0xf] = (char)((uint)uVar2 >> 0x18);
  uVar2 = *(undefined4 *)(param_1 + 6);
  param_2[0x14] = 0;
  param_2[0x15] = 0;
  param_2[0x10] = (char)uVar2;
  param_2[0x11] = (char)((uint)uVar2 >> 8);
  param_2[0x12] = (char)((uint)uVar2 >> 0x10);
  param_2[0x13] = (char)((uint)uVar2 >> 0x18);
  return 0x16;
}


li v0,0x50
sb v0,0x0(a1)
li v0,0x4b
sb v0,0x1(a1)
li v0,0x5
sb v0,0x2(a1)
li v0,0x6
sb v0,0x3(a1)
li v0,0x16
lhu v1,0x0(a0)
srl a2,v1,0x8
sb v1,0x4(a1)
sb a2,0x5(a1)
lhu v1,0x2(a0)
srl a2,v1,0x8
sb v1,0x6(a1)
sb a2,0x7(a1)
lhu v1,0x4(a0)
srl a2,v1,0x8
sb v1,0x8(a1)
sb a2,0x9(a1)
lhu v1,0x6(a0)
srl a2,v1,0x8
sb v1,0xa(a1)
sb a2,0xb(a1)
lw v1,0x8(a0)
srl a3,v1,0x8
sb v1,0xc(a1)
srl a2,v1,0x10
srl v1,v1,0x18
sb a3,0xd(a1)
sb a2,0xe(a1)
sb v1,0xf(a1)
lw v1,0xc(a0)
sb zero,0x14(a1)
sb zero,0x15(a1)
srl a2,v1,0x8
sb v1,0x10(a1)
srl a0,v1,0x10
srl v1,v1,0x18
sb a2,0x11(a1)
sb a0,0x12(a1)
jr ra
_sb v1,0x13(a1)
(translation_unit "undefined4 FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)\n\n{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}\n\n" (function_definition "undefined4 FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)\n\n{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}" type_identifier (function_declarator "FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)" identifier (parameter_list "(undefined2 *param_1,undefined1 *param_2)" ( (parameter_declaration "undefined2 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}" { (declaration "undefined2 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (expression_statement "*param_2 = 0x50;" (assignment_expression "*param_2 = 0x50" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "param_2[1] = 0x4b;" (assignment_expression "param_2[1] = 0x4b" (subscript_expression "param_2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[2] = 5;" (assignment_expression "param_2[2] = 5" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[3] = 6;" (assignment_expression "param_2[3] = 6" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = *param_1;" (assignment_expression "uVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_2[4] = (char)uVar1;" (assignment_expression "param_2[4] = (char)uVar1" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[5] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[5] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar1 = param_1[1];" (assignment_expression "uVar1 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "param_2[6] = (char)uVar1;" (assignment_expression "param_2[6] = (char)uVar1" (subscript_expression "param_2[6]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[7] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[7] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar1 = param_1[2];" (assignment_expression "uVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_2[8] = (char)uVar1;" (assignment_expression "param_2[8] = (char)uVar1" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[9] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[9] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar1 = param_1[3];" (assignment_expression "uVar1 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[10] = (char)uVar1;" (assignment_expression "param_2[10] = (char)uVar1" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[0xb] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[0xb] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "param_2[0xc] = (char)uVar2;" (assignment_expression "param_2[0xc] = (char)uVar2" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[0xd] = (char)((uint)uVar2 >> 8);" (assignment_expression "param_2[0xd] = (char)((uint)uVar2 >> 8)" (subscript_expression "param_2[0xd]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 8)" ( (binary_expression "(uint)uVar2 >> 8" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0xe] = (char)((uint)uVar2 >> 0x10);" (assignment_expression "param_2[0xe] = (char)((uint)uVar2 >> 0x10)" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x10)" ( (binary_expression "(uint)uVar2 >> 0x10" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0xf] = (char)((uint)uVar2 >> 0x18);" (assignment_expression "param_2[0xf] = (char)((uint)uVar2 >> 0x18)" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x18)" ( (binary_expression "(uint)uVar2 >> 0x18" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 6);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 6)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 6)" * (cast_expression "(undefined4 *)(param_1 + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) ))))) ;) (expression_statement "param_2[0x14] = 0;" (assignment_expression "param_2[0x14] = 0" (subscript_expression "param_2[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x15] = 0;" (assignment_expression "param_2[0x15] = 0" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x10] = (char)uVar2;" (assignment_expression "param_2[0x10] = (char)uVar2" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[0x11] = (char)((uint)uVar2 >> 8);" (assignment_expression "param_2[0x11] = (char)((uint)uVar2 >> 8)" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 8)" ( (binary_expression "(uint)uVar2 >> 8" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0x12] = (char)((uint)uVar2 >> 0x10);" (assignment_expression "param_2[0x12] = (char)((uint)uVar2 >> 0x10)" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x10)" ( (binary_expression "(uint)uVar2 >> 0x10" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0x13] = (char)((uint)uVar2 >> 0x18);" (assignment_expression "param_2[0x13] = (char)((uint)uVar2 >> 0x18)" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x18)" ( (binary_expression "(uint)uVar2 >> 0x18" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (return_statement "return 0x16;" return number_literal ;) })))
(translation_unit "int zipfileSerializeEOCD(ZipfileEOCD *p,u8 *aBuf)\n\n{\n  u16 uVar1;\n  u32 uVar2;\n  u8 *a;\n  \n  *aBuf = 'P';\n  aBuf[1] = 'K';\n  aBuf[2] = '\x05';\n  aBuf[3] = '\x06';\n  uVar1 = p->iDisk;\n  aBuf[4] = (u8)uVar1;\n  aBuf[5] = (u8)(uVar1 >> 8);\n  uVar1 = p->iFirstDisk;\n  aBuf[6] = (u8)uVar1;\n  aBuf[7] = (u8)(uVar1 >> 8);\n  uVar1 = p->nEntry;\n  aBuf[8] = (u8)uVar1;\n  aBuf[9] = (u8)(uVar1 >> 8);\n  uVar1 = p->nEntryTotal;\n  aBuf[10] = (u8)uVar1;\n  aBuf[0xb] = (u8)(uVar1 >> 8);\n  uVar2 = p->nSize;\n  aBuf[0xc] = (u8)uVar2;\n  aBuf[0xd] = (u8)(uVar2 >> 8);\n  aBuf[0xe] = (u8)(uVar2 >> 0x10);\n  aBuf[0xf] = (u8)(uVar2 >> 0x18);\n  uVar2 = p->iOffset;\n  aBuf[0x14] = '\0';\n  aBuf[0x15] = '\0';\n  aBuf[0x10] = (u8)uVar2;\n  aBuf[0x11] = (u8)(uVar2 >> 8);\n  aBuf[0x12] = (u8)(uVar2 >> 0x10);\n  aBuf[0x13] = (u8)(uVar2 >> 0x18);\n  return 0x16;\n}\n\n" (function_definition "int zipfileSerializeEOCD(ZipfileEOCD *p,u8 *aBuf)\n\n{\n  u16 uVar1;\n  u32 uVar2;\n  u8 *a;\n  \n  *aBuf = 'P';\n  aBuf[1] = 'K';\n  aBuf[2] = '\x05';\n  aBuf[3] = '\x06';\n  uVar1 = p->iDisk;\n  aBuf[4] = (u8)uVar1;\n  aBuf[5] = (u8)(uVar1 >> 8);\n  uVar1 = p->iFirstDisk;\n  aBuf[6] = (u8)uVar1;\n  aBuf[7] = (u8)(uVar1 >> 8);\n  uVar1 = p->nEntry;\n  aBuf[8] = (u8)uVar1;\n  aBuf[9] = (u8)(uVar1 >> 8);\n  uVar1 = p->nEntryTotal;\n  aBuf[10] = (u8)uVar1;\n  aBuf[0xb] = (u8)(uVar1 >> 8);\n  uVar2 = p->nSize;\n  aBuf[0xc] = (u8)uVar2;\n  aBuf[0xd] = (u8)(uVar2 >> 8);\n  aBuf[0xe] = (u8)(uVar2 >> 0x10);\n  aBuf[0xf] = (u8)(uVar2 >> 0x18);\n  uVar2 = p->iOffset;\n  aBuf[0x14] = '\0';\n  aBuf[0x15] = '\0';\n  aBuf[0x10] = (u8)uVar2;\n  aBuf[0x11] = (u8)(uVar2 >> 8);\n  aBuf[0x12] = (u8)(uVar2 >> 0x10);\n  aBuf[0x13] = (u8)(uVar2 >> 0x18);\n  return 0x16;\n}" primitive_type (function_declarator "zipfileSerializeEOCD(ZipfileEOCD *p,u8 *aBuf)" identifier (parameter_list "(ZipfileEOCD *p,u8 *aBuf)" ( (parameter_declaration "ZipfileEOCD *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "u8 *aBuf" type_identifier (pointer_declarator "*aBuf" * identifier)) ))) (compound_statement "{\n  u16 uVar1;\n  u32 uVar2;\n  u8 *a;\n  \n  *aBuf = 'P';\n  aBuf[1] = 'K';\n  aBuf[2] = '\x05';\n  aBuf[3] = '\x06';\n  uVar1 = p->iDisk;\n  aBuf[4] = (u8)uVar1;\n  aBuf[5] = (u8)(uVar1 >> 8);\n  uVar1 = p->iFirstDisk;\n  aBuf[6] = (u8)uVar1;\n  aBuf[7] = (u8)(uVar1 >> 8);\n  uVar1 = p->nEntry;\n  aBuf[8] = (u8)uVar1;\n  aBuf[9] = (u8)(uVar1 >> 8);\n  uVar1 = p->nEntryTotal;\n  aBuf[10] = (u8)uVar1;\n  aBuf[0xb] = (u8)(uVar1 >> 8);\n  uVar2 = p->nSize;\n  aBuf[0xc] = (u8)uVar2;\n  aBuf[0xd] = (u8)(uVar2 >> 8);\n  aBuf[0xe] = (u8)(uVar2 >> 0x10);\n  aBuf[0xf] = (u8)(uVar2 >> 0x18);\n  uVar2 = p->iOffset;\n  aBuf[0x14] = '\0';\n  aBuf[0x15] = '\0';\n  aBuf[0x10] = (u8)uVar2;\n  aBuf[0x11] = (u8)(uVar2 >> 8);\n  aBuf[0x12] = (u8)(uVar2 >> 0x10);\n  aBuf[0x13] = (u8)(uVar2 >> 0x18);\n  return 0x16;\n}" { (declaration "u16 uVar1;" type_identifier identifier ;) (declaration "u32 uVar2;" type_identifier identifier ;) (declaration "u8 *a;" type_identifier (pointer_declarator "*a" * identifier) ;) (expression_statement "*aBuf = 'P';" (assignment_expression "*aBuf = 'P'" (pointer_expression "*aBuf" * identifier) = (char_literal "'P'" ' character ')) ;) (expression_statement "aBuf[1] = 'K';" (assignment_expression "aBuf[1] = 'K'" (subscript_expression "aBuf[1]" identifier [ number_literal ]) = (char_literal "'K'" ' character ')) ;) (expression_statement "aBuf[2] = '\x05';" (assignment_expression "aBuf[2] = '\x05'" (subscript_expression "aBuf[2]" identifier [ number_literal ]) = (char_literal "'\x05'" ' escape_sequence ')) ;) (expression_statement "aBuf[3] = '\x06';" (assignment_expression "aBuf[3] = '\x06'" (subscript_expression "aBuf[3]" identifier [ number_literal ]) = (char_literal "'\x06'" ' escape_sequence ')) ;) (expression_statement "uVar1 = p->iDisk;" (assignment_expression "uVar1 = p->iDisk" identifier = (field_expression "p->iDisk" identifier -> field_identifier)) ;) (expression_statement "aBuf[4] = (u8)uVar1;" (assignment_expression "aBuf[4] = (u8)uVar1" (subscript_expression "aBuf[4]" identifier [ number_literal ]) = (cast_expression "(u8)uVar1" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "aBuf[5] = (u8)(uVar1 >> 8);" (assignment_expression "aBuf[5] = (u8)(uVar1 >> 8)" (subscript_expression "aBuf[5]" identifier [ number_literal ]) = (call_expression "(u8)(uVar1 >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar1 >> 8)" ( (binary_expression "uVar1 >> 8" identifier >> number_literal) )))) ;) (expression_statement "uVar1 = p->iFirstDisk;" (assignment_expression "uVar1 = p->iFirstDisk" identifier = (field_expression "p->iFirstDisk" identifier -> field_identifier)) ;) (expression_statement "aBuf[6] = (u8)uVar1;" (assignment_expression "aBuf[6] = (u8)uVar1" (subscript_expression "aBuf[6]" identifier [ number_literal ]) = (cast_expression "(u8)uVar1" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "aBuf[7] = (u8)(uVar1 >> 8);" (assignment_expression "aBuf[7] = (u8)(uVar1 >> 8)" (subscript_expression "aBuf[7]" identifier [ number_literal ]) = (call_expression "(u8)(uVar1 >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar1 >> 8)" ( (binary_expression "uVar1 >> 8" identifier >> number_literal) )))) ;) (expression_statement "uVar1 = p->nEntry;" (assignment_expression "uVar1 = p->nEntry" identifier = (field_expression "p->nEntry" identifier -> field_identifier)) ;) (expression_statement "aBuf[8] = (u8)uVar1;" (assignment_expression "aBuf[8] = (u8)uVar1" (subscript_expression "aBuf[8]" identifier [ number_literal ]) = (cast_expression "(u8)uVar1" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "aBuf[9] = (u8)(uVar1 >> 8);" (assignment_expression "aBuf[9] = (u8)(uVar1 >> 8)" (subscript_expression "aBuf[9]" identifier [ number_literal ]) = (call_expression "(u8)(uVar1 >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar1 >> 8)" ( (binary_expression "uVar1 >> 8" identifier >> number_literal) )))) ;) (expression_statement "uVar1 = p->nEntryTotal;" (assignment_expression "uVar1 = p->nEntryTotal" identifier = (field_expression "p->nEntryTotal" identifier -> field_identifier)) ;) (expression_statement "aBuf[10] = (u8)uVar1;" (assignment_expression "aBuf[10] = (u8)uVar1" (subscript_expression "aBuf[10]" identifier [ number_literal ]) = (cast_expression "(u8)uVar1" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "aBuf[0xb] = (u8)(uVar1 >> 8);" (assignment_expression "aBuf[0xb] = (u8)(uVar1 >> 8)" (subscript_expression "aBuf[0xb]" identifier [ number_literal ]) = (call_expression "(u8)(uVar1 >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar1 >> 8)" ( (binary_expression "uVar1 >> 8" identifier >> number_literal) )))) ;) (expression_statement "uVar2 = p->nSize;" (assignment_expression "uVar2 = p->nSize" identifier = (field_expression "p->nSize" identifier -> field_identifier)) ;) (expression_statement "aBuf[0xc] = (u8)uVar2;" (assignment_expression "aBuf[0xc] = (u8)uVar2" (subscript_expression "aBuf[0xc]" identifier [ number_literal ]) = (cast_expression "(u8)uVar2" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "aBuf[0xd] = (u8)(uVar2 >> 8);" (assignment_expression "aBuf[0xd] = (u8)(uVar2 >> 8)" (subscript_expression "aBuf[0xd]" identifier [ number_literal ]) = (call_expression "(u8)(uVar2 >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "aBuf[0xe] = (u8)(uVar2 >> 0x10);" (assignment_expression "aBuf[0xe] = (u8)(uVar2 >> 0x10)" (subscript_expression "aBuf[0xe]" identifier [ number_literal ]) = (call_expression "(u8)(uVar2 >> 0x10)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "aBuf[0xf] = (u8)(uVar2 >> 0x18);" (assignment_expression "aBuf[0xf] = (u8)(uVar2 >> 0x18)" (subscript_expression "aBuf[0xf]" identifier [ number_literal ]) = (call_expression "(u8)(uVar2 >> 0x18)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "uVar2 = p->iOffset;" (assignment_expression "uVar2 = p->iOffset" identifier = (field_expression "p->iOffset" identifier -> field_identifier)) ;) (expression_statement "aBuf[0x14] = '\0';" (assignment_expression "aBuf[0x14] = '\0'" (subscript_expression "aBuf[0x14]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "aBuf[0x15] = '\0';" (assignment_expression "aBuf[0x15] = '\0'" (subscript_expression "aBuf[0x15]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "aBuf[0x10] = (u8)uVar2;" (assignment_expression "aBuf[0x10] = (u8)uVar2" (subscript_expression "aBuf[0x10]" identifier [ number_literal ]) = (cast_expression "(u8)uVar2" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "aBuf[0x11] = (u8)(uVar2 >> 8);" (assignment_expression "aBuf[0x11] = (u8)(uVar2 >> 8)" (subscript_expression "aBuf[0x11]" identifier [ number_literal ]) = (call_expression "(u8)(uVar2 >> 8)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "aBuf[0x12] = (u8)(uVar2 >> 0x10);" (assignment_expression "aBuf[0x12] = (u8)(uVar2 >> 0x10)" (subscript_expression "aBuf[0x12]" identifier [ number_literal ]) = (call_expression "(u8)(uVar2 >> 0x10)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "aBuf[0x13] = (u8)(uVar2 >> 0x18);" (assignment_expression "aBuf[0x13] = (u8)(uVar2 >> 0x18)" (subscript_expression "aBuf[0x13]" identifier [ number_literal ]) = (call_expression "(u8)(uVar2 >> 0x18)" (parenthesized_expression "(u8)" ( identifier )) (argument_list "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )))) ;) (return_statement "return 0x16;" return number_literal ;) })))
(translation_unit "undefined4 FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)\n\n{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}\n\n" (function_definition "undefined4 FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)\n\n{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}" type_identifier (function_declarator "FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)" identifier (parameter_list "(undefined2 *param_1,undefined1 *param_2)" ( (parameter_declaration "undefined2 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}" { (declaration "undefined2 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (expression_statement "*param_2 = 0x50;" (assignment_expression "*param_2 = 0x50" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "param_2[1] = 0x4b;" (assignment_expression "param_2[1] = 0x4b" (subscript_expression "param_2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[2] = 5;" (assignment_expression "param_2[2] = 5" (subscript_expression "param_2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[3] = 6;" (assignment_expression "param_2[3] = 6" (subscript_expression "param_2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = *param_1;" (assignment_expression "uVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "param_2[4] = (char)uVar1;" (assignment_expression "param_2[4] = (char)uVar1" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[5] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[5] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar1 = param_1[1];" (assignment_expression "uVar1 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "param_2[6] = (char)uVar1;" (assignment_expression "param_2[6] = (char)uVar1" (subscript_expression "param_2[6]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[7] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[7] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar1 = param_1[2];" (assignment_expression "uVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_2[8] = (char)uVar1;" (assignment_expression "param_2[8] = (char)uVar1" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[9] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[9] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar1 = param_1[3];" (assignment_expression "uVar1 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "param_2[10] = (char)uVar1;" (assignment_expression "param_2[10] = (char)uVar1" (subscript_expression "param_2[10]" identifier [ number_literal ]) = (cast_expression "(char)uVar1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[0xb] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[0xb] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = (cast_expression "(char)((ushort)uVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((ushort)uVar1 >> 8)" ( (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "param_2[0xc] = (char)uVar2;" (assignment_expression "param_2[0xc] = (char)uVar2" (subscript_expression "param_2[0xc]" identifier [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[0xd] = (char)((uint)uVar2 >> 8);" (assignment_expression "param_2[0xd] = (char)((uint)uVar2 >> 8)" (subscript_expression "param_2[0xd]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 8)" ( (binary_expression "(uint)uVar2 >> 8" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0xe] = (char)((uint)uVar2 >> 0x10);" (assignment_expression "param_2[0xe] = (char)((uint)uVar2 >> 0x10)" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x10)" ( (binary_expression "(uint)uVar2 >> 0x10" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0xf] = (char)((uint)uVar2 >> 0x18);" (assignment_expression "param_2[0xf] = (char)((uint)uVar2 >> 0x18)" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x18)" ( (binary_expression "(uint)uVar2 >> 0x18" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 6);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 6)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 6)" * (cast_expression "(undefined4 *)(param_1 + 6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) ))))) ;) (expression_statement "param_2[0x14] = 0;" (assignment_expression "param_2[0x14] = 0" (subscript_expression "param_2[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x15] = 0;" (assignment_expression "param_2[0x15] = 0" (subscript_expression "param_2[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_2[0x10] = (char)uVar2;" (assignment_expression "param_2[0x10] = (char)uVar2" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[0x11] = (char)((uint)uVar2 >> 8);" (assignment_expression "param_2[0x11] = (char)((uint)uVar2 >> 8)" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 8)" ( (binary_expression "(uint)uVar2 >> 8" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0x12] = (char)((uint)uVar2 >> 0x10);" (assignment_expression "param_2[0x12] = (char)((uint)uVar2 >> 0x10)" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x10)" ( (binary_expression "(uint)uVar2 >> 0x10" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_2[0x13] = (char)((uint)uVar2 >> 0x18);" (assignment_expression "param_2[0x13] = (char)((uint)uVar2 >> 0x18)" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = (cast_expression "(char)((uint)uVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar2 >> 0x18)" ( (binary_expression "(uint)uVar2 >> 0x18" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (return_statement "return 0x16;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_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 ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)\n\n{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}" (type_identifier "undefined4") (function_declarator "FUN_0001da9c(undefined2 *param_1,undefined1 *param_2)" (identifier "FUN_0001da9c") (parameter_list "(undefined2 *param_1,undefined1 *param_2)" (( "(") (parameter_declaration "undefined2 *param_1" (type_identifier "undefined2") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  undefined2 uVar1;\n  undefined4 uVar2;\n  \n  *param_2 = 0x50;\n  param_2[1] = 0x4b;\n  param_2[2] = 5;\n  param_2[3] = 6;\n  uVar1 = *param_1;\n  param_2[4] = (char)uVar1;\n  param_2[5] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[1];\n  param_2[6] = (char)uVar1;\n  param_2[7] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[2];\n  param_2[8] = (char)uVar1;\n  param_2[9] = (char)((ushort)uVar1 >> 8);\n  uVar1 = param_1[3];\n  param_2[10] = (char)uVar1;\n  param_2[0xb] = (char)((ushort)uVar1 >> 8);\n  uVar2 = *(undefined4 *)(param_1 + 4);\n  param_2[0xc] = (char)uVar2;\n  param_2[0xd] = (char)((uint)uVar2 >> 8);\n  param_2[0xe] = (char)((uint)uVar2 >> 0x10);\n  param_2[0xf] = (char)((uint)uVar2 >> 0x18);\n  uVar2 = *(undefined4 *)(param_1 + 6);\n  param_2[0x14] = 0;\n  param_2[0x15] = 0;\n  param_2[0x10] = (char)uVar2;\n  param_2[0x11] = (char)((uint)uVar2 >> 8);\n  param_2[0x12] = (char)((uint)uVar2 >> 0x10);\n  param_2[0x13] = (char)((uint)uVar2 >> 0x18);\n  return 0x16;\n}" ({ "{") (declaration "undefined2 uVar1;" (type_identifier "undefined2") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (expression_statement "*param_2 = 0x50;" (assignment_expression "*param_2 = 0x50" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "0x50")) (; ";")) (expression_statement "param_2[1] = 0x4b;" (assignment_expression "param_2[1] = 0x4b" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x4b")) (; ";")) (expression_statement "param_2[2] = 5;" (assignment_expression "param_2[2] = 5" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "param_2[3] = 6;" (assignment_expression "param_2[3] = 6" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "6")) (; ";")) (expression_statement "uVar1 = *param_1;" (assignment_expression "uVar1 = *param_1" (identifier "uVar1") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "param_2[4] = (char)uVar1;" (assignment_expression "param_2[4] = (char)uVar1" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(char)uVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar1"))) (; ";")) (expression_statement "param_2[5] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[5] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(char)((ushort)uVar1 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((ushort)uVar1 >> 8)" (( "(") (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar1")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar1 = param_1[1];" (assignment_expression "uVar1 = param_1[1]" (identifier "uVar1") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_2[6] = (char)uVar1;" (assignment_expression "param_2[6] = (char)uVar1" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(char)uVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar1"))) (; ";")) (expression_statement "param_2[7] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[7] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(char)((ushort)uVar1 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((ushort)uVar1 >> 8)" (( "(") (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar1")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar1 = param_1[2];" (assignment_expression "uVar1 = param_1[2]" (identifier "uVar1") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_2[8] = (char)uVar1;" (assignment_expression "param_2[8] = (char)uVar1" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(char)uVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar1"))) (; ";")) (expression_statement "param_2[9] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[9] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(char)((ushort)uVar1 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((ushort)uVar1 >> 8)" (( "(") (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar1")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar1 = param_1[3];" (assignment_expression "uVar1 = param_1[3]" (identifier "uVar1") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_2[10] = (char)uVar1;" (assignment_expression "param_2[10] = (char)uVar1" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(char)uVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar1"))) (; ";")) (expression_statement "param_2[0xb] = (char)((ushort)uVar1 >> 8);" (assignment_expression "param_2[0xb] = (char)((ushort)uVar1 >> 8)" (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(char)((ushort)uVar1 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((ushort)uVar1 >> 8)" (( "(") (binary_expression "(ushort)uVar1 >> 8" (cast_expression "(ushort)uVar1" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar1")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 4)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "param_2[0xc] = (char)uVar2;" (assignment_expression "param_2[0xc] = (char)uVar2" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (cast_expression "(char)uVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "param_2[0xd] = (char)((uint)uVar2 >> 8);" (assignment_expression "param_2[0xd] = (char)((uint)uVar2 >> 8)" (subscript_expression "param_2[0xd]" (identifier "param_2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (cast_expression "(char)((uint)uVar2 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar2 >> 8)" (( "(") (binary_expression "(uint)uVar2 >> 8" (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_2[0xe] = (char)((uint)uVar2 >> 0x10);" (assignment_expression "param_2[0xe] = (char)((uint)uVar2 >> 0x10)" (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (cast_expression "(char)((uint)uVar2 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar2 >> 0x10)" (( "(") (binary_expression "(uint)uVar2 >> 0x10" (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "param_2[0xf] = (char)((uint)uVar2 >> 0x18);" (assignment_expression "param_2[0xf] = (char)((uint)uVar2 >> 0x18)" (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(char)((uint)uVar2 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar2 >> 0x18)" (( "(") (binary_expression "(uint)uVar2 >> 0x18" (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 6);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 6)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 6)" (* "*") (cast_expression "(undefined4 *)(param_1 + 6)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 6)" (( "(") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "param_2[0x14] = 0;" (assignment_expression "param_2[0x14] = 0" (subscript_expression "param_2[0x14]" (identifier "param_2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0x15] = 0;" (assignment_expression "param_2[0x15] = 0" (subscript_expression "param_2[0x15]" (identifier "param_2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0x10] = (char)uVar2;" (assignment_expression "param_2[0x10] = (char)uVar2" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (cast_expression "(char)uVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "param_2[0x11] = (char)((uint)uVar2 >> 8);" (assignment_expression "param_2[0x11] = (char)((uint)uVar2 >> 8)" (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (cast_expression "(char)((uint)uVar2 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar2 >> 8)" (( "(") (binary_expression "(uint)uVar2 >> 8" (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_2[0x12] = (char)((uint)uVar2 >> 0x10);" (assignment_expression "param_2[0x12] = (char)((uint)uVar2 >> 0x10)" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (cast_expression "(char)((uint)uVar2 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar2 >> 0x10)" (( "(") (binary_expression "(uint)uVar2 >> 0x10" (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "param_2[0x13] = (char)((uint)uVar2 >> 0x18);" (assignment_expression "param_2[0x13] = (char)((uint)uVar2 >> 0x18)" (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (cast_expression "(char)((uint)uVar2 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar2 >> 0x18)" (( "(") (binary_expression "(uint)uVar2 >> 0x18" (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (return_statement "return 0x16;" (return "return") (number_literal "0x16") (; ";")) (} "}")))

int function_1(type_1 *p,type_2 *aBuf)

{
  type_3 var_1;
  type_4 var_2;
  type_2 *a;
  
  *aBuf = 'P';
  aBuf[1] = 'K';
  aBuf[2] = '\x05';
  aBuf[3] = '\x06';
  var_1 = p->iDisk;
  aBuf[4] = (type_2)var_1;
  aBuf[5] = (type_2)(var_1 >> 8);
  var_1 = p->iFirstDisk;
  aBuf[6] = (type_2)var_1;
  aBuf[7] = (type_2)(var_1 >> 8);
  var_1 = p->nEntry;
  aBuf[8] = (type_2)var_1;
  aBuf[9] = (type_2)(var_1 >> 8);
  var_1 = p->nEntryTotal;
  aBuf[10] = (type_2)var_1;
  aBuf[0xb] = (type_2)(var_1 >> 8);
  var_2 = p->nSize;
  aBuf[0xc] = (type_2)var_2;
  aBuf[0xd] = (type_2)(var_2 >> 8);
  aBuf[0xe] = (type_2)(var_2 >> 0x10);
  aBuf[0xf] = (type_2)(var_2 >> 0x18);
  var_2 = p->iOffset;
  aBuf[0x14] = '\0';
  aBuf[0x15] = '\0';
  aBuf[0x10] = (type_2)var_2;
  aBuf[0x11] = (type_2)(var_2 >> 8);
  aBuf[0x12] = (type_2)(var_2 >> 0x10);
  aBuf[0x13] = (type_2)(var_2 >> 0x18);
  return 0x16;
}


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

undefined4 MASKED(undefined2 *param_1,undefined1 *param_2)

{
  undefined2 uVar1;
  undefined4 uVar2;
  
  *param_2 = 0x50;
  param_2[1] = 0x4b;
  param_2[2] = 5;
  param_2[3] = 6;
  uVar1 = *param_1;
  param_2[4] = (char)uVar1;
  param_2[5] = (char)((ushort)uVar1 >> 8);
  uVar1 = param_1[1];
  param_2[6] = (char)uVar1;
  param_2[7] = (char)((ushort)uVar1 >> 8);
  uVar1 = param_1[2];
  param_2[8] = (char)uVar1;
  param_2[9] = (char)((ushort)uVar1 >> 8);
  uVar1 = param_1[3];
  param_2[10] = (char)uVar1;
  param_2[0xb] = (char)((ushort)uVar1 >> 8);
  uVar2 = *(undefined4 *)(param_1 + 4);
  param_2[0xc] = (char)uVar2;
  param_2[0xd] = (char)((uint)uVar2 >> 8);
  param_2[0xe] = (char)((uint)uVar2 >> 0x10);
  param_2[0xf] = (char)((uint)uVar2 >> 0x18);
  uVar2 = *(undefined4 *)(param_1 + 6);
  param_2[0x14] = 0;
  param_2[0x15] = 0;
  param_2[0x10] = (char)uVar2;
  param_2[0x11] = (char)((uint)uVar2 >> 8);
  param_2[0x12] = (char)((uint)uVar2 >> 0x10);
  param_2[0x13] = (char)((uint)uVar2 >> 0x18);
  return 0x16;
}

