
/* WARNING: Enum "DT": Some values do not have unique names */

void gold::Read_symbols::requeue
               (Workqueue *workqueue,Input_objects *input_objects,Symbol_table *symtab,
               Layout *layout,Dirsearch *dirpath,int dirindex,Mapfile *mapfile,
               Input_argument *input_argument,Input_group *input_group,Task_token *next_blocker)

{
  Task *t;
  
  Workqueue::add_blocker(workqueue,next_blocker);
  t = (Task *)operator_new(0x90);
  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;
  t[1]._vptr_Task = (_func_int_varargs **)input_objects;
  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;
  t->list_next_ = (Task *)0x0;
  (t->name_)._M_string_length = 0;
  (t->name_).field_2._M_local_buf[0] = '\0';
  t->should_run_soon_ = false;
  t[1].list_next_ = (Task *)symtab;
  t[1].name_._M_dataplus._M_p = (pointer)layout;
  t[1].name_._M_string_length = (size_type)dirpath;
  *(int *)&t[1].name_.field_2 = dirindex + 1;
  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = mapfile;
  *(Input_argument **)&t[1].should_run_soon_ = input_argument;
  t[2]._vptr_Task = (_func_int_varargs **)input_group;
  t[2].list_next_ = (Task *)0x0;
  t[2].name_._M_dataplus._M_p = (pointer)0x0;
  t[2].name_._M_string_length = (size_type)next_blocker;
  Workqueue::queue(workqueue,t);
  return;
}



void FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,
                 undefined8 param_9,undefined8 param_10)

{
  undefined8 *puVar1;
  
  FUN_00289eb0(param_1,param_10);
  puVar1 = (undefined8 *)FUN_002d9490(0x90);
  *puVar1 = &PTR_FUN_0042aac0;
  puVar1[7] = param_2;
  puVar1[2] = puVar1 + 4;
  puVar1[1] = 0;
  puVar1[3] = 0;
  *(undefined1 *)(puVar1 + 4) = 0;
  *(undefined1 *)(puVar1 + 6) = 0;
  puVar1[8] = param_3;
  puVar1[9] = param_4;
  puVar1[10] = param_5;
  *(int *)(puVar1 + 0xb) = param_6 + 1;
  puVar1[0xc] = param_7;
  puVar1[0xd] = param_8;
  puVar1[0xe] = param_9;
  puVar1[0xf] = 0;
  puVar1[0x10] = 0;
  puVar1[0x11] = param_10;
  FUN_00289780(param_1,puVar1);
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
MOV RBP,RDI
PUSH RBX
MOV RBX,RSI
SUB RSP,0x28
MOV R12,qword ptr [RSP + 0x78]
MOV qword ptr [RSP + 0x18],RDX
MOV R15,qword ptr [RSP + 0x60]
MOV R14,qword ptr [RSP + 0x68]
MOV qword ptr [RSP + 0x10],RCX
MOV RSI,R12
MOV qword ptr [RSP + 0x8],R8
MOV R13,qword ptr [RSP + 0x70]
MOV dword ptr [RSP + 0x4],R9D
CALL 0x00289eb0
MOV EDI,0x90
CALL 0x002d9490
MOV R9D,dword ptr [RSP + 0x4]
MOV RDX,qword ptr [RSP + 0x18]
LEA RDI,[0x42aac0]
MOV RCX,qword ptr [RSP + 0x10]
MOV R8,qword ptr [RSP + 0x8]
LEA RSI,[RAX + 0x20]
MOV qword ptr [RAX],RDI
MOV qword ptr [RAX + 0x38],RBX
LEA EBX,[R9 + 0x1]
MOV RDI,RBP
MOV qword ptr [RAX + 0x10],RSI
MOV RSI,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x18],0x0
MOV byte ptr [RAX + 0x20],0x0
MOV byte ptr [RAX + 0x30],0x0
MOV qword ptr [RAX + 0x40],RDX
MOV qword ptr [RAX + 0x48],RCX
MOV qword ptr [RAX + 0x50],R8
MOV dword ptr [RAX + 0x58],EBX
MOV qword ptr [RAX + 0x60],R15
MOV qword ptr [RAX + 0x68],R14
MOV qword ptr [RAX + 0x70],R13
MOV qword ptr [RAX + 0x78],0x0
MOV qword ptr [RAX + 0x80],0x0
MOV qword ptr [RAX + 0x88],R12
ADD RSP,0x28
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x00289780
(translation_unit "void FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)\n\n{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}\n\n" (function_definition "void FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)\n\n{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}" primitive_type (function_declarator "FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "undefined8 param_8" type_identifier identifier) , (parameter_declaration "undefined8 param_9" type_identifier identifier) , (parameter_declaration "undefined8 param_10" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "FUN_00289eb0(param_1,param_10);" (call_expression "FUN_00289eb0(param_1,param_10)" identifier (argument_list "(param_1,param_10)" ( identifier , identifier ))) ;) (expression_statement "puVar1 = (undefined8 *)FUN_002d9490(0x90);" (assignment_expression "puVar1 = (undefined8 *)FUN_002d9490(0x90)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "*puVar1 = &PTR_FUN_0042aac0;" (assignment_expression "*puVar1 = &PTR_FUN_0042aac0" (pointer_expression "*puVar1" * identifier) = (pointer_expression "&PTR_FUN_0042aac0" & identifier)) ;) (expression_statement "puVar1[7] = param_2;" (assignment_expression "puVar1[7] = param_2" (subscript_expression "puVar1[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[2] = puVar1 + 4;" (assignment_expression "puVar1[2] = puVar1 + 4" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = (binary_expression "puVar1 + 4" identifier + number_literal)) ;) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[3] = 0;" (assignment_expression "puVar1[3] = 0" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar1 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar1 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar1 + 4)" * (cast_expression "(undefined1 *)(puVar1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 4)" ( (binary_expression "puVar1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar1 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar1 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar1 + 6)" * (cast_expression "(undefined1 *)(puVar1 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 6)" ( (binary_expression "puVar1 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar1[8] = param_3;" (assignment_expression "puVar1[8] = param_3" (subscript_expression "puVar1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[9] = param_4;" (assignment_expression "puVar1[9] = param_4" (subscript_expression "puVar1[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[10] = param_5;" (assignment_expression "puVar1[10] = param_5" (subscript_expression "puVar1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)(puVar1 + 0xb) = param_6 + 1;" (assignment_expression "*(int *)(puVar1 + 0xb) = param_6 + 1" (pointer_expression "*(int *)(puVar1 + 0xb)" * (cast_expression "(int *)(puVar1 + 0xb)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xb)" ( (binary_expression "puVar1 + 0xb" identifier + number_literal) )))) = (binary_expression "param_6 + 1" identifier + number_literal)) ;) (expression_statement "puVar1[0xc] = param_7;" (assignment_expression "puVar1[0xc] = param_7" (subscript_expression "puVar1[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[0xd] = param_8;" (assignment_expression "puVar1[0xd] = param_8" (subscript_expression "puVar1[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[0xe] = param_9;" (assignment_expression "puVar1[0xe] = param_9" (subscript_expression "puVar1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[0xf] = 0;" (assignment_expression "puVar1[0xf] = 0" (subscript_expression "puVar1[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[0x10] = 0;" (assignment_expression "puVar1[0x10] = 0" (subscript_expression "puVar1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[0x11] = param_10;" (assignment_expression "puVar1[0x11] = param_10" (subscript_expression "puVar1[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289780(param_1,puVar1);" (call_expression "FUN_00289780(param_1,puVar1)" identifier (argument_list "(param_1,puVar1)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n\nvoid gold::Read_symbols::requeue\n               (Workqueue *workqueue,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Dirsearch *dirpath,int dirindex,Mapfile *mapfile,\n               Input_argument *input_argument,Input_group *input_group,Task_token *next_blocker)\n\n{\n  Task *t;\n  \n  Workqueue::add_blocker(workqueue,next_blocker);\n  t = (Task *)operator_new(0x90);\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n  t[1]._vptr_Task = (_func_int_varargs **)input_objects;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t->list_next_ = (Task *)0x0;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  t[1].list_next_ = (Task *)symtab;\n  t[1].name_._M_dataplus._M_p = (pointer)layout;\n  t[1].name_._M_string_length = (size_type)dirpath;\n  *(int *)&t[1].name_.field_2 = dirindex + 1;\n  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = mapfile;\n  *(Input_argument **)&t[1].should_run_soon_ = input_argument;\n  t[2]._vptr_Task = (_func_int_varargs **)input_group;\n  t[2].list_next_ = (Task *)0x0;\n  t[2].name_._M_dataplus._M_p = (pointer)0x0;\n  t[2].name_._M_string_length = (size_type)next_blocker;\n  Workqueue::queue(workqueue,t);\n  return;\n}\n\n" comment (function_definition "void gold::Read_symbols::requeue\n               (Workqueue *workqueue,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Dirsearch *dirpath,int dirindex,Mapfile *mapfile,\n               Input_argument *input_argument,Input_group *input_group,Task_token *next_blocker)\n\n{\n  Task *t;\n  \n  Workqueue::add_blocker(workqueue,next_blocker);\n  t = (Task *)operator_new(0x90);\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n  t[1]._vptr_Task = (_func_int_varargs **)input_objects;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t->list_next_ = (Task *)0x0;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  t[1].list_next_ = (Task *)symtab;\n  t[1].name_._M_dataplus._M_p = (pointer)layout;\n  t[1].name_._M_string_length = (size_type)dirpath;\n  *(int *)&t[1].name_.field_2 = dirindex + 1;\n  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = mapfile;\n  *(Input_argument **)&t[1].should_run_soon_ = input_argument;\n  t[2]._vptr_Task = (_func_int_varargs **)input_group;\n  t[2].list_next_ = (Task *)0x0;\n  t[2].name_._M_dataplus._M_p = (pointer)0x0;\n  t[2].name_._M_string_length = (size_type)next_blocker;\n  Workqueue::queue(workqueue,t);\n  return;\n}" primitive_type (ERROR "gold::Read_symbols::" identifier : : identifier : :) (function_declarator "requeue\n               (Workqueue *workqueue,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Dirsearch *dirpath,int dirindex,Mapfile *mapfile,\n               Input_argument *input_argument,Input_group *input_group,Task_token *next_blocker)" identifier (parameter_list "(Workqueue *workqueue,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Dirsearch *dirpath,int dirindex,Mapfile *mapfile,\n               Input_argument *input_argument,Input_group *input_group,Task_token *next_blocker)" ( (parameter_declaration "Workqueue *workqueue" type_identifier (pointer_declarator "*workqueue" * identifier)) , (parameter_declaration "Input_objects *input_objects" type_identifier (pointer_declarator "*input_objects" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Dirsearch *dirpath" type_identifier (pointer_declarator "*dirpath" * identifier)) , (parameter_declaration "int dirindex" primitive_type identifier) , (parameter_declaration "Mapfile *mapfile" type_identifier (pointer_declarator "*mapfile" * identifier)) , (parameter_declaration "Input_argument *input_argument" type_identifier (pointer_declarator "*input_argument" * identifier)) , (parameter_declaration "Input_group *input_group" type_identifier (pointer_declarator "*input_group" * identifier)) , (parameter_declaration "Task_token *next_blocker" type_identifier (pointer_declarator "*next_blocker" * identifier)) ))) (compound_statement "{\n  Task *t;\n  \n  Workqueue::add_blocker(workqueue,next_blocker);\n  t = (Task *)operator_new(0x90);\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n  t[1]._vptr_Task = (_func_int_varargs **)input_objects;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t->list_next_ = (Task *)0x0;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  t[1].list_next_ = (Task *)symtab;\n  t[1].name_._M_dataplus._M_p = (pointer)layout;\n  t[1].name_._M_string_length = (size_type)dirpath;\n  *(int *)&t[1].name_.field_2 = dirindex + 1;\n  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = mapfile;\n  *(Input_argument **)&t[1].should_run_soon_ = input_argument;\n  t[2]._vptr_Task = (_func_int_varargs **)input_group;\n  t[2].list_next_ = (Task *)0x0;\n  t[2].name_._M_dataplus._M_p = (pointer)0x0;\n  t[2].name_._M_string_length = (size_type)next_blocker;\n  Workqueue::queue(workqueue,t);\n  return;\n}" { (declaration "Task *t;" type_identifier (pointer_declarator "*t" * identifier) ;) (labeled_statement "Workqueue::add_blocker(workqueue,next_blocker);" statement_identifier : (ERROR ":" :) (expression_statement "add_blocker(workqueue,next_blocker);" (call_expression "add_blocker(workqueue,next_blocker)" identifier (argument_list "(workqueue,next_blocker)" ( identifier , identifier ))) ;)) (expression_statement "t = (Task *)operator_new(0x90);" (assignment_expression "t = (Task *)operator_new(0x90)" identifier = (cast_expression "(Task *)operator_new(0x90)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;" (assignment_expression "t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0" (field_expression "t->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Read_symbols_0042aac0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Read_symbols_0042aac0" & identifier))) ;) (expression_statement "t[1]._vptr_Task = (_func_int_varargs **)input_objects;" (assignment_expression "t[1]._vptr_Task = (_func_int_varargs **)input_objects" (field_expression "t[1]._vptr_Task" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)input_objects" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "(t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;" (assignment_expression "(t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2" (field_expression "(t->name_)._M_dataplus._M_p" (field_expression "(t->name_)._M_dataplus" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(t->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(t->name_).field_2" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "t->list_next_ = (Task *)0x0;" (assignment_expression "t->list_next_ = (Task *)0x0" (field_expression "t->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(t->name_)._M_string_length = 0;" (assignment_expression "(t->name_)._M_string_length = 0" (field_expression "(t->name_)._M_string_length" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(t->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(t->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(t->name_).field_2._M_local_buf[0]" (field_expression "(t->name_).field_2._M_local_buf" (field_expression "(t->name_).field_2" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "t->should_run_soon_ = false;" (assignment_expression "t->should_run_soon_ = false" (field_expression "t->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "t[1].list_next_ = (Task *)symtab;" (assignment_expression "t[1].list_next_ = (Task *)symtab" (field_expression "t[1].list_next_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)symtab" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "t[1].name_._M_dataplus._M_p = (pointer)layout;" (assignment_expression "t[1].name_._M_dataplus._M_p = (pointer)layout" (field_expression "t[1].name_._M_dataplus._M_p" (field_expression "t[1].name_._M_dataplus" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)layout" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "t[1].name_._M_string_length = (size_type)dirpath;" (assignment_expression "t[1].name_._M_string_length = (size_type)dirpath" (field_expression "t[1].name_._M_string_length" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)dirpath" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "*(int *)&t[1].name_.field_2 = dirindex + 1;" (assignment_expression "*(int *)&t[1].name_.field_2 = dirindex + 1" (pointer_expression "*(int *)&t[1].name_.field_2" * (cast_expression "(int *)&t[1].name_.field_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&t[1].name_.field_2" & (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = (binary_expression "dirindex + 1" identifier + number_literal)) ;) (expression_statement "*(Mapfile **)((long)&t[1].name_.field_2 + 8) = mapfile;" (assignment_expression "*(Mapfile **)((long)&t[1].name_.field_2 + 8) = mapfile" (pointer_expression "*(Mapfile **)((long)&t[1].name_.field_2 + 8)" * (cast_expression "(Mapfile **)((long)&t[1].name_.field_2 + 8)" ( (type_descriptor "Mapfile **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)&t[1].name_.field_2 + 8)" ( (binary_expression "(long)&t[1].name_.field_2 + 8" (cast_expression "(long)&t[1].name_.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&t[1].name_.field_2" & (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(Input_argument **)&t[1].should_run_soon_ = input_argument;" (assignment_expression "*(Input_argument **)&t[1].should_run_soon_ = input_argument" (pointer_expression "*(Input_argument **)&t[1].should_run_soon_" * (cast_expression "(Input_argument **)&t[1].should_run_soon_" ( (type_descriptor "Input_argument **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&t[1].should_run_soon_" & (field_expression "t[1].should_run_soon_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "t[2]._vptr_Task = (_func_int_varargs **)input_group;" (assignment_expression "t[2]._vptr_Task = (_func_int_varargs **)input_group" (field_expression "t[2]._vptr_Task" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)input_group" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "t[2].list_next_ = (Task *)0x0;" (assignment_expression "t[2].list_next_ = (Task *)0x0" (field_expression "t[2].list_next_" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "t[2].name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "t[2].name_._M_dataplus._M_p = (pointer)0x0" (field_expression "t[2].name_._M_dataplus._M_p" (field_expression "t[2].name_._M_dataplus" (field_expression "t[2].name_" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "t[2].name_._M_string_length = (size_type)next_blocker;" (assignment_expression "t[2].name_._M_string_length = (size_type)next_blocker" (field_expression "t[2].name_._M_string_length" (field_expression "t[2].name_" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)next_blocker" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "Workqueue::queue(workqueue,t);" statement_identifier : (ERROR ":" :) (expression_statement "queue(workqueue,t);" (call_expression "queue(workqueue,t)" identifier (argument_list "(workqueue,t)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)\n\n{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}\n\n" (function_definition "void FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)\n\n{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}" primitive_type (function_declarator "FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "undefined8 param_8" type_identifier identifier) , (parameter_declaration "undefined8 param_9" type_identifier identifier) , (parameter_declaration "undefined8 param_10" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "FUN_00289eb0(param_1,param_10);" (call_expression "FUN_00289eb0(param_1,param_10)" identifier (argument_list "(param_1,param_10)" ( identifier , identifier ))) ;) (expression_statement "puVar1 = (undefined8 *)FUN_002d9490(0x90);" (assignment_expression "puVar1 = (undefined8 *)FUN_002d9490(0x90)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "*puVar1 = &PTR_FUN_0042aac0;" (assignment_expression "*puVar1 = &PTR_FUN_0042aac0" (pointer_expression "*puVar1" * identifier) = (pointer_expression "&PTR_FUN_0042aac0" & identifier)) ;) (expression_statement "puVar1[7] = param_2;" (assignment_expression "puVar1[7] = param_2" (subscript_expression "puVar1[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[2] = puVar1 + 4;" (assignment_expression "puVar1[2] = puVar1 + 4" (subscript_expression "puVar1[2]" identifier [ number_literal ]) = (binary_expression "puVar1 + 4" identifier + number_literal)) ;) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[3] = 0;" (assignment_expression "puVar1[3] = 0" (subscript_expression "puVar1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar1 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar1 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar1 + 4)" * (cast_expression "(undefined1 *)(puVar1 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 4)" ( (binary_expression "puVar1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar1 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar1 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar1 + 6)" * (cast_expression "(undefined1 *)(puVar1 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 6)" ( (binary_expression "puVar1 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar1[8] = param_3;" (assignment_expression "puVar1[8] = param_3" (subscript_expression "puVar1[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[9] = param_4;" (assignment_expression "puVar1[9] = param_4" (subscript_expression "puVar1[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[10] = param_5;" (assignment_expression "puVar1[10] = param_5" (subscript_expression "puVar1[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)(puVar1 + 0xb) = param_6 + 1;" (assignment_expression "*(int *)(puVar1 + 0xb) = param_6 + 1" (pointer_expression "*(int *)(puVar1 + 0xb)" * (cast_expression "(int *)(puVar1 + 0xb)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0xb)" ( (binary_expression "puVar1 + 0xb" identifier + number_literal) )))) = (binary_expression "param_6 + 1" identifier + number_literal)) ;) (expression_statement "puVar1[0xc] = param_7;" (assignment_expression "puVar1[0xc] = param_7" (subscript_expression "puVar1[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[0xd] = param_8;" (assignment_expression "puVar1[0xd] = param_8" (subscript_expression "puVar1[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[0xe] = param_9;" (assignment_expression "puVar1[0xe] = param_9" (subscript_expression "puVar1[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar1[0xf] = 0;" (assignment_expression "puVar1[0xf] = 0" (subscript_expression "puVar1[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[0x10] = 0;" (assignment_expression "puVar1[0x10] = 0" (subscript_expression "puVar1[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1[0x11] = param_10;" (assignment_expression "puVar1[0x11] = param_10" (subscript_expression "puVar1[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289780(param_1,puVar1);" (call_expression "FUN_00289780(param_1,puVar1)" identifier (argument_list "(param_1,puVar1)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)\n\n{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0023f960(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)" (identifier "FUN_0023f960") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,\n                 undefined8 param_9,undefined8 param_10)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) (, ",") (parameter_declaration "undefined8 param_7" (type_identifier "undefined8") (identifier "param_7")) (, ",") (parameter_declaration "undefined8 param_8" (type_identifier "undefined8") (identifier "param_8")) (, ",") (parameter_declaration "undefined8 param_9" (type_identifier "undefined8") (identifier "param_9")) (, ",") (parameter_declaration "undefined8 param_10" (type_identifier "undefined8") (identifier "param_10")) () ")"))) (compound_statement "{\n  undefined8 *puVar1;\n  \n  FUN_00289eb0(param_1,param_10);\n  puVar1 = (undefined8 *)FUN_002d9490(0x90);\n  *puVar1 = &PTR_FUN_0042aac0;\n  puVar1[7] = param_2;\n  puVar1[2] = puVar1 + 4;\n  puVar1[1] = 0;\n  puVar1[3] = 0;\n  *(undefined1 *)(puVar1 + 4) = 0;\n  *(undefined1 *)(puVar1 + 6) = 0;\n  puVar1[8] = param_3;\n  puVar1[9] = param_4;\n  puVar1[10] = param_5;\n  *(int *)(puVar1 + 0xb) = param_6 + 1;\n  puVar1[0xc] = param_7;\n  puVar1[0xd] = param_8;\n  puVar1[0xe] = param_9;\n  puVar1[0xf] = 0;\n  puVar1[0x10] = 0;\n  puVar1[0x11] = param_10;\n  FUN_00289780(param_1,puVar1);\n  return;\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (expression_statement "FUN_00289eb0(param_1,param_10);" (call_expression "FUN_00289eb0(param_1,param_10)" (identifier "FUN_00289eb0") (argument_list "(param_1,param_10)" (( "(") (identifier "param_1") (, ",") (identifier "param_10") () ")"))) (; ";")) (expression_statement "puVar1 = (undefined8 *)FUN_002d9490(0x90);" (assignment_expression "puVar1 = (undefined8 *)FUN_002d9490(0x90)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x90)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x90)" (identifier "FUN_002d9490") (argument_list "(0x90)" (( "(") (number_literal "0x90") () ")"))))) (; ";")) (expression_statement "*puVar1 = &PTR_FUN_0042aac0;" (assignment_expression "*puVar1 = &PTR_FUN_0042aac0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (pointer_expression "&PTR_FUN_0042aac0" (& "&") (identifier "PTR_FUN_0042aac0"))) (; ";")) (expression_statement "puVar1[7] = param_2;" (assignment_expression "puVar1[7] = param_2" (subscript_expression "puVar1[7]" (identifier "puVar1") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "puVar1[2] = puVar1 + 4;" (assignment_expression "puVar1[2] = puVar1 + 4" (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar1[1] = 0;" (assignment_expression "puVar1[1] = 0" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1[3] = 0;" (assignment_expression "puVar1[3] = 0" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar1 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar1 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar1 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar1 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 4)" (( "(") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar1 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar1 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar1 + 6)" (* "*") (cast_expression "(undefined1 *)(puVar1 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 6)" (( "(") (binary_expression "puVar1 + 6" (identifier "puVar1") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1[8] = param_3;" (assignment_expression "puVar1[8] = param_3" (subscript_expression "puVar1[8]" (identifier "puVar1") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "puVar1[9] = param_4;" (assignment_expression "puVar1[9] = param_4" (subscript_expression "puVar1[9]" (identifier "puVar1") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puVar1[10] = param_5;" (assignment_expression "puVar1[10] = param_5" (subscript_expression "puVar1[10]" (identifier "puVar1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(int *)(puVar1 + 0xb) = param_6 + 1;" (assignment_expression "*(int *)(puVar1 + 0xb) = param_6 + 1" (pointer_expression "*(int *)(puVar1 + 0xb)" (* "*") (cast_expression "(int *)(puVar1 + 0xb)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0xb)" (( "(") (binary_expression "puVar1 + 0xb" (identifier "puVar1") (+ "+") (number_literal "0xb")) () ")")))) (= "=") (binary_expression "param_6 + 1" (identifier "param_6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar1[0xc] = param_7;" (assignment_expression "puVar1[0xc] = param_7" (subscript_expression "puVar1[0xc]" (identifier "puVar1") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "param_7")) (; ";")) (expression_statement "puVar1[0xd] = param_8;" (assignment_expression "puVar1[0xd] = param_8" (subscript_expression "puVar1[0xd]" (identifier "puVar1") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "param_8")) (; ";")) (expression_statement "puVar1[0xe] = param_9;" (assignment_expression "puVar1[0xe] = param_9" (subscript_expression "puVar1[0xe]" (identifier "puVar1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_9")) (; ";")) (expression_statement "puVar1[0xf] = 0;" (assignment_expression "puVar1[0xf] = 0" (subscript_expression "puVar1[0xf]" (identifier "puVar1") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1[0x10] = 0;" (assignment_expression "puVar1[0x10] = 0" (subscript_expression "puVar1[0x10]" (identifier "puVar1") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1[0x11] = param_10;" (assignment_expression "puVar1[0x11] = param_10" (subscript_expression "puVar1[0x11]" (identifier "puVar1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "param_10")) (; ";")) (expression_statement "FUN_00289780(param_1,puVar1);" (call_expression "FUN_00289780(param_1,puVar1)" (identifier "FUN_00289780") (argument_list "(param_1,puVar1)" (( "(") (identifier "param_1") (, ",") (identifier "puVar1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */

void gold::Read_symbols::function_1
               (type_1 *workqueue,type_2 *input_objects,type_3 *symtab,
               type_4 *layout,type_5 *dirpath,int var_3,type_6 *mapfile,
               type_7 *input_argument,type_8 *input_group,type_9 *next_blocker)

{
  type_10 *t;
  
  Workqueue::var_1(workqueue,next_blocker);
  t = (type_10 *)var_2(0x90);
  t->_vptr_Task = (type_11 **)&PTR__Read_symbols_0042aac0;
  t[1]._vptr_Task = (type_11 **)input_objects;
  (t->name_)._M_dataplus._M_p = (type_12)&(t->name_).field_2;
  t->list_next_ = (type_10 *)0x0;
  (t->name_)._M_string_length = 0;
  (t->name_).field_2._M_local_buf[0] = '\0';
  t->should_run_soon_ = false;
  t[1].list_next_ = (type_10 *)symtab;
  t[1].name_._M_dataplus._M_p = (type_12)layout;
  t[1].name_._M_string_length = (type_13)dirpath;
  *(int *)&t[1].name_.field_2 = var_3 + 1;
  *(type_6 **)((long)&t[1].name_.field_2 + 8) = mapfile;
  *(type_7 **)&t[1].should_run_soon_ = input_argument;
  t[2]._vptr_Task = (type_11 **)input_group;
  t[2].list_next_ = (type_10 *)0x0;
  t[2].name_._M_dataplus._M_p = (type_12)0x0;
  t[2].name_._M_string_length = (type_13)next_blocker;
  Workqueue::var_4(workqueue,t);
  return;
}


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

void MASKED(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4,
                 undefined8 param_5,int param_6,undefined8 param_7,undefined8 param_8,
                 undefined8 param_9,undefined8 param_10)

{
  undefined8 *puVar1;
  
  FUN_00289eb0(param_1,param_10);
  puVar1 = (undefined8 *)FUN_002d9490(0x90);
  *puVar1 = &PTR_FUN_0042aac0;
  puVar1[7] = param_2;
  puVar1[2] = puVar1 + 4;
  puVar1[1] = 0;
  puVar1[3] = 0;
  *(undefined1 *)(puVar1 + 4) = 0;
  *(undefined1 *)(puVar1 + 6) = 0;
  puVar1[8] = param_3;
  puVar1[9] = param_4;
  puVar1[10] = param_5;
  *(int *)(puVar1 + 0xb) = param_6 + 1;
  puVar1[0xc] = param_7;
  puVar1[0xd] = param_8;
  puVar1[0xe] = param_9;
  puVar1[0xf] = 0;
  puVar1[0x10] = 0;
  puVar1[0x11] = param_10;
  FUN_00289780(param_1,puVar1);
  return;
}

