
void dwarf2_where(dwarf2_line_info *line)

{
  uint uVar1;
  char *filename;
  
  line->filenum = 0;
  line->line = 0;
  line->column = 0;
  line->isa = 0;
  line->flags = 0;
  line->discriminator = 0;
  line->view = (symbolS *)0x0;
  filename = as_where(&line->line);
  uVar1 = get_filenum(filename,0);
  line->column = 0;
  line->filenum = uVar1;
  uVar1 = current.isa;
  line->flags = 1;
  line->isa = uVar1;
  uVar1 = current.discriminator;
  line->view = (symbolS *)0x0;
  line->discriminator = uVar1;
  return;
}



void FUN_0010fa00(undefined1 (*param_1) [16])

{
  undefined4 uVar1;
  undefined8 uVar2;
  
  *param_1 = (undefined1  [16])0x0;
  param_1[1] = (undefined1  [16])0x0;
  uVar2 = FUN_00116d00();
  uVar1 = FUN_0010ec70(uVar2,0);
  *(undefined4 *)(*param_1 + 8) = 0;
  *(undefined4 *)*param_1 = uVar1;
  uVar1 = DAT_0016440c;
  *(undefined4 *)param_1[1] = 1;
  *(undefined4 *)(*param_1 + 0xc) = uVar1;
  uVar1 = DAT_00164414;
  *(undefined8 *)(param_1[1] + 8) = 0;
  *(undefined4 *)(param_1[1] + 4) = uVar1;
  return;
}


PUSH RBX
PXOR XMM0,XMM0
MOV RBX,RDI
LEA RDI,[RDI + 0x4]
MOVUPS xmmword ptr [RDI + -0x4],XMM0
MOVUPS xmmword ptr [RDI + 0xc],XMM0
CALL 0x00116d00
XOR ESI,ESI
MOV RDI,RAX
CALL 0x0010ec70
MOV dword ptr [RBX + 0x8],0x0
MOV dword ptr [RBX],EAX
MOV EAX,dword ptr [0x0016440c]
MOV dword ptr [RBX + 0x10],0x1
MOV dword ptr [RBX + 0xc],EAX
MOV EAX,dword ptr [0x00164414]
MOV qword ptr [RBX + 0x18],0x0
MOV dword ptr [RBX + 0x14],EAX
POP RBX
RET
(translation_unit "void FUN_0010fa00(undefined1 (*param_1) [16])\n\n{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}\n\n" (function_definition "void FUN_0010fa00(undefined1 (*param_1) [16])\n\n{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}" primitive_type (function_declarator "FUN_0010fa00(undefined1 (*param_1) [16])" identifier (parameter_list "(undefined1 (*param_1) [16])" ( (parameter_declaration "undefined1 (*param_1) [16]" type_identifier (array_declarator "(*param_1) [16]" (parenthesized_declarator "(*param_1)" ( (pointer_declarator "*param_1" * identifier) )) [ number_literal ])) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (expression_statement "*param_1 = (undefined1  [16])0x0;" (assignment_expression "*param_1 = (undefined1  [16])0x0" (pointer_expression "*param_1" * identifier) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "param_1[1] = (undefined1  [16])0x0;" (assignment_expression "param_1[1] = (undefined1  [16])0x0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar2 = FUN_00116d00();" (assignment_expression "uVar2 = FUN_00116d00()" identifier = (call_expression "FUN_00116d00()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar1 = FUN_0010ec70(uVar2,0);" (assignment_expression "uVar1 = FUN_0010ec70(uVar2,0)" identifier = (call_expression "FUN_0010ec70(uVar2,0)" identifier (argument_list "(uVar2,0)" ( identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)(*param_1 + 8) = 0;" (assignment_expression "*(undefined4 *)(*param_1 + 8) = 0" (pointer_expression "*(undefined4 *)(*param_1 + 8)" * (cast_expression "(undefined4 *)(*param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)*param_1 = uVar1;" (assignment_expression "*(undefined4 *)*param_1 = uVar1" (pointer_expression "*(undefined4 *)*param_1" * (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) = identifier) ;) (expression_statement "uVar1 = DAT_0016440c;" (assignment_expression "uVar1 = DAT_0016440c" identifier = identifier) ;) (expression_statement "*(undefined4 *)param_1[1] = 1;" (assignment_expression "*(undefined4 *)param_1[1] = 1" (pointer_expression "*(undefined4 *)param_1[1]" * (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) = number_literal) ;) (expression_statement "*(undefined4 *)(*param_1 + 0xc) = uVar1;" (assignment_expression "*(undefined4 *)(*param_1 + 0xc) = uVar1" (pointer_expression "*(undefined4 *)(*param_1 + 0xc)" * (cast_expression "(undefined4 *)(*param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0xc)" ( (binary_expression "*param_1 + 0xc" (pointer_expression "*param_1" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = DAT_00164414;" (assignment_expression "uVar1 = DAT_00164414" identifier = identifier) ;) (expression_statement "*(undefined8 *)(param_1[1] + 8) = 0;" (assignment_expression "*(undefined8 *)(param_1[1] + 8) = 0" (pointer_expression "*(undefined8 *)(param_1[1] + 8)" * (cast_expression "(undefined8 *)(param_1[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 8)" ( (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1[1] + 4) = uVar1;" (assignment_expression "*(undefined4 *)(param_1[1] + 4) = uVar1" (pointer_expression "*(undefined4 *)(param_1[1] + 4)" * (cast_expression "(undefined4 *)(param_1[1] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void dwarf2_where(dwarf2_line_info *line)\n\n{\n  uint uVar1;\n  char *filename;\n  \n  line->filenum = 0;\n  line->line = 0;\n  line->column = 0;\n  line->isa = 0;\n  line->flags = 0;\n  line->discriminator = 0;\n  line->view = (symbolS *)0x0;\n  filename = as_where(&line->line);\n  uVar1 = get_filenum(filename,0);\n  line->column = 0;\n  line->filenum = uVar1;\n  uVar1 = current.isa;\n  line->flags = 1;\n  line->isa = uVar1;\n  uVar1 = current.discriminator;\n  line->view = (symbolS *)0x0;\n  line->discriminator = uVar1;\n  return;\n}\n\n" (function_definition "void dwarf2_where(dwarf2_line_info *line)\n\n{\n  uint uVar1;\n  char *filename;\n  \n  line->filenum = 0;\n  line->line = 0;\n  line->column = 0;\n  line->isa = 0;\n  line->flags = 0;\n  line->discriminator = 0;\n  line->view = (symbolS *)0x0;\n  filename = as_where(&line->line);\n  uVar1 = get_filenum(filename,0);\n  line->column = 0;\n  line->filenum = uVar1;\n  uVar1 = current.isa;\n  line->flags = 1;\n  line->isa = uVar1;\n  uVar1 = current.discriminator;\n  line->view = (symbolS *)0x0;\n  line->discriminator = uVar1;\n  return;\n}" primitive_type (function_declarator "dwarf2_where(dwarf2_line_info *line)" identifier (parameter_list "(dwarf2_line_info *line)" ( (parameter_declaration "dwarf2_line_info *line" type_identifier (pointer_declarator "*line" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  char *filename;\n  \n  line->filenum = 0;\n  line->line = 0;\n  line->column = 0;\n  line->isa = 0;\n  line->flags = 0;\n  line->discriminator = 0;\n  line->view = (symbolS *)0x0;\n  filename = as_where(&line->line);\n  uVar1 = get_filenum(filename,0);\n  line->column = 0;\n  line->filenum = uVar1;\n  uVar1 = current.isa;\n  line->flags = 1;\n  line->isa = uVar1;\n  uVar1 = current.discriminator;\n  line->view = (symbolS *)0x0;\n  line->discriminator = uVar1;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char *filename;" primitive_type (pointer_declarator "*filename" * identifier) ;) (expression_statement "line->filenum = 0;" (assignment_expression "line->filenum = 0" (field_expression "line->filenum" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->line = 0;" (assignment_expression "line->line = 0" (field_expression "line->line" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->column = 0;" (assignment_expression "line->column = 0" (field_expression "line->column" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->isa = 0;" (assignment_expression "line->isa = 0" (field_expression "line->isa" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->flags = 0;" (assignment_expression "line->flags = 0" (field_expression "line->flags" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->discriminator = 0;" (assignment_expression "line->discriminator = 0" (field_expression "line->discriminator" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->view = (symbolS *)0x0;" (assignment_expression "line->view = (symbolS *)0x0" (field_expression "line->view" identifier -> field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "filename = as_where(&line->line);" (assignment_expression "filename = as_where(&line->line)" identifier = (call_expression "as_where(&line->line)" identifier (argument_list "(&line->line)" ( (pointer_expression "&line->line" & (field_expression "line->line" identifier -> field_identifier)) )))) ;) (expression_statement "uVar1 = get_filenum(filename,0);" (assignment_expression "uVar1 = get_filenum(filename,0)" identifier = (call_expression "get_filenum(filename,0)" identifier (argument_list "(filename,0)" ( identifier , number_literal )))) ;) (expression_statement "line->column = 0;" (assignment_expression "line->column = 0" (field_expression "line->column" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->filenum = uVar1;" (assignment_expression "line->filenum = uVar1" (field_expression "line->filenum" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar1 = current.isa;" (assignment_expression "uVar1 = current.isa" identifier = (field_expression "current.isa" identifier . field_identifier)) ;) (expression_statement "line->flags = 1;" (assignment_expression "line->flags = 1" (field_expression "line->flags" identifier -> field_identifier) = number_literal) ;) (expression_statement "line->isa = uVar1;" (assignment_expression "line->isa = uVar1" (field_expression "line->isa" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar1 = current.discriminator;" (assignment_expression "uVar1 = current.discriminator" identifier = (field_expression "current.discriminator" identifier . field_identifier)) ;) (expression_statement "line->view = (symbolS *)0x0;" (assignment_expression "line->view = (symbolS *)0x0" (field_expression "line->view" identifier -> field_identifier) = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "line->discriminator = uVar1;" (assignment_expression "line->discriminator = uVar1" (field_expression "line->discriminator" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0010fa00(undefined1 (*param_1) [16])\n\n{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}\n\n" (function_definition "void FUN_0010fa00(undefined1 (*param_1) [16])\n\n{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}" primitive_type (function_declarator "FUN_0010fa00(undefined1 (*param_1) [16])" identifier (parameter_list "(undefined1 (*param_1) [16])" ( (parameter_declaration "undefined1 (*param_1) [16]" type_identifier (array_declarator "(*param_1) [16]" (parenthesized_declarator "(*param_1)" ( (pointer_declarator "*param_1" * identifier) )) [ number_literal ])) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (expression_statement "*param_1 = (undefined1  [16])0x0;" (assignment_expression "*param_1 = (undefined1  [16])0x0" (pointer_expression "*param_1" * identifier) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "param_1[1] = (undefined1  [16])0x0;" (assignment_expression "param_1[1] = (undefined1  [16])0x0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar2 = FUN_00116d00();" (assignment_expression "uVar2 = FUN_00116d00()" identifier = (call_expression "FUN_00116d00()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar1 = FUN_0010ec70(uVar2,0);" (assignment_expression "uVar1 = FUN_0010ec70(uVar2,0)" identifier = (call_expression "FUN_0010ec70(uVar2,0)" identifier (argument_list "(uVar2,0)" ( identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)(*param_1 + 8) = 0;" (assignment_expression "*(undefined4 *)(*param_1 + 8) = 0" (pointer_expression "*(undefined4 *)(*param_1 + 8)" * (cast_expression "(undefined4 *)(*param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 8)" ( (binary_expression "*param_1 + 8" (pointer_expression "*param_1" * identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)*param_1 = uVar1;" (assignment_expression "*(undefined4 *)*param_1 = uVar1" (pointer_expression "*(undefined4 *)*param_1" * (cast_expression "(undefined4 *)*param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) = identifier) ;) (expression_statement "uVar1 = DAT_0016440c;" (assignment_expression "uVar1 = DAT_0016440c" identifier = identifier) ;) (expression_statement "*(undefined4 *)param_1[1] = 1;" (assignment_expression "*(undefined4 *)param_1[1] = 1" (pointer_expression "*(undefined4 *)param_1[1]" * (cast_expression "(undefined4 *)param_1[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) = number_literal) ;) (expression_statement "*(undefined4 *)(*param_1 + 0xc) = uVar1;" (assignment_expression "*(undefined4 *)(*param_1 + 0xc) = uVar1" (pointer_expression "*(undefined4 *)(*param_1 + 0xc)" * (cast_expression "(undefined4 *)(*param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0xc)" ( (binary_expression "*param_1 + 0xc" (pointer_expression "*param_1" * identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = DAT_00164414;" (assignment_expression "uVar1 = DAT_00164414" identifier = identifier) ;) (expression_statement "*(undefined8 *)(param_1[1] + 8) = 0;" (assignment_expression "*(undefined8 *)(param_1[1] + 8) = 0" (pointer_expression "*(undefined8 *)(param_1[1] + 8)" * (cast_expression "(undefined8 *)(param_1[1] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 8)" ( (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1[1] + 4) = uVar1;" (assignment_expression "*(undefined4 *)(param_1[1] + 4) = uVar1" (pointer_expression "*(undefined4 *)(param_1[1] + 4)" * (cast_expression "(undefined4 *)(param_1[1] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + 4)" ( (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (array_declarator (parenthesized_declarator ( (pointer_declarator * IDENT) )) [ LIT ])) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_0010fa00(undefined1 (*param_1) [16])\n\n{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0010fa00(undefined1 (*param_1) [16])" (identifier "FUN_0010fa00") (parameter_list "(undefined1 (*param_1) [16])" (( "(") (parameter_declaration "undefined1 (*param_1) [16]" (type_identifier "undefined1") (array_declarator "(*param_1) [16]" (parenthesized_declarator "(*param_1)" (( "(") (pointer_declarator "*param_1" (* "*") (identifier "param_1")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined8 uVar2;\n  \n  *param_1 = (undefined1  [16])0x0;\n  param_1[1] = (undefined1  [16])0x0;\n  uVar2 = FUN_00116d00();\n  uVar1 = FUN_0010ec70(uVar2,0);\n  *(undefined4 *)(*param_1 + 8) = 0;\n  *(undefined4 *)*param_1 = uVar1;\n  uVar1 = DAT_0016440c;\n  *(undefined4 *)param_1[1] = 1;\n  *(undefined4 *)(*param_1 + 0xc) = uVar1;\n  uVar1 = DAT_00164414;\n  *(undefined8 *)(param_1[1] + 8) = 0;\n  *(undefined4 *)(param_1[1] + 4) = uVar1;\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (expression_statement "*param_1 = (undefined1  [16])0x0;" (assignment_expression "*param_1 = (undefined1  [16])0x0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1[1] = (undefined1  [16])0x0;" (assignment_expression "param_1[1] = (undefined1  [16])0x0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar2 = FUN_00116d00();" (assignment_expression "uVar2 = FUN_00116d00()" (identifier "uVar2") (= "=") (call_expression "FUN_00116d00()" (identifier "FUN_00116d00") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar1 = FUN_0010ec70(uVar2,0);" (assignment_expression "uVar1 = FUN_0010ec70(uVar2,0)" (identifier "uVar1") (= "=") (call_expression "FUN_0010ec70(uVar2,0)" (identifier "FUN_0010ec70") (argument_list "(uVar2,0)" (( "(") (identifier "uVar2") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*param_1 + 8) = 0;" (assignment_expression "*(undefined4 *)(*param_1 + 8) = 0" (pointer_expression "*(undefined4 *)(*param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(*param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 8)" (( "(") (binary_expression "*param_1 + 8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)*param_1 = uVar1;" (assignment_expression "*(undefined4 *)*param_1 = uVar1" (pointer_expression "*(undefined4 *)*param_1" (* "*") (cast_expression "(undefined4 *)*param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = DAT_0016440c;" (assignment_expression "uVar1 = DAT_0016440c" (identifier "uVar1") (= "=") (identifier "DAT_0016440c")) (; ";")) (expression_statement "*(undefined4 *)param_1[1] = 1;" (assignment_expression "*(undefined4 *)param_1[1] = 1" (pointer_expression "*(undefined4 *)param_1[1]" (* "*") (cast_expression "(undefined4 *)param_1[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(*param_1 + 0xc) = uVar1;" (assignment_expression "*(undefined4 *)(*param_1 + 0xc) = uVar1" (pointer_expression "*(undefined4 *)(*param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0xc)" (( "(") (binary_expression "*param_1 + 0xc" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = DAT_00164414;" (assignment_expression "uVar1 = DAT_00164414" (identifier "uVar1") (= "=") (identifier "DAT_00164414")) (; ";")) (expression_statement "*(undefined8 *)(param_1[1] + 8) = 0;" (assignment_expression "*(undefined8 *)(param_1[1] + 8) = 0" (pointer_expression "*(undefined8 *)(param_1[1] + 8)" (* "*") (cast_expression "(undefined8 *)(param_1[1] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 8)" (( "(") (binary_expression "param_1[1] + 8" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1[1] + 4) = uVar1;" (assignment_expression "*(undefined4 *)(param_1[1] + 4) = uVar1" (pointer_expression "*(undefined4 *)(param_1[1] + 4)" (* "*") (cast_expression "(undefined4 *)(param_1[1] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + 4)" (( "(") (binary_expression "param_1[1] + 4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *line)

{
  type_2 uVar1;
  char *filename;
  
  line->filenum = 0;
  line->line = 0;
  line->column = 0;
  line->isa = 0;
  line->flags = 0;
  line->discriminator = 0;
  line->view = (type_3 *)0x0;
  filename = var_1(&line->line);
  uVar1 = var_2(filename,0);
  line->column = 0;
  line->filenum = uVar1;
  uVar1 = current.isa;
  line->flags = 1;
  line->isa = uVar1;
  uVar1 = current.discriminator;
  line->view = (type_3 *)0x0;
  line->discriminator = uVar1;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (array_declarator declarator: (parenthesized_declarator (pointer_declarator declarator: (identifier))) size: (number_literal))))) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) 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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (identifier))) (return_statement))))

void MASKED(undefined1 (*param_1) [16])

{
  undefined4 uVar1;
  undefined8 uVar2;
  
  *param_1 = (undefined1  [16])0x0;
  param_1[1] = (undefined1  [16])0x0;
  uVar2 = FUN_00116d00();
  uVar1 = FUN_0010ec70(uVar2,0);
  *(undefined4 *)(*param_1 + 8) = 0;
  *(undefined4 *)*param_1 = uVar1;
  uVar1 = DAT_0016440c;
  *(undefined4 *)param_1[1] = 1;
  *(undefined4 *)(*param_1 + 0xc) = uVar1;
  uVar1 = DAT_00164414;
  *(undefined8 *)(param_1[1] + 8) = 0;
  *(undefined4 *)(param_1[1] + 4) = uVar1;
  return;
}

