
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "DT": Some values do not have unique names */

void gold::queue_final_tasks
               (General_options *options,Input_objects *input_objects,Symbol_table *symtab,
               Layout *layout,Workqueue *workqueue,Output_file *of)

{
  Relobj *pRVar1;
  int iVar2;
  pointer pcVar3;
  Task *pTVar4;
  Task *pTVar5;
  _func_int_varargs **pp_Var6;
  Task *t;
  char *pcVar7;
  byte *pbVar8;
  pointer ppRVar9;
  byte *pbVar10;
  bool bVar11;
  bool bVar12;
  byte bVar13;
  pointer local_2c;
  
  bVar13 = 0;
  if (parameters->timer_ != (Timer *)0x0) {
    Timer::stamp(parameters->timer_,1);
  }
  iVar2 = (options->thread_count_final_).value;
  if ((iVar2 == 0) &&
     (iVar2 = ((int)(input_objects->dynobj_list_).
                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.
                    _M_finish -
               (int)(input_objects->dynobj_list_).
                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.
                    _M_start >> 2) +
              ((int)(input_objects->relobj_list_).
                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.
                    _M_finish -
               (int)(input_objects->relobj_list_).
                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.
                    _M_start >> 2), iVar2 < 2)) {
    iVar2 = 2;
  }
  Workqueue::set_thread_count(workqueue,iVar2);
  bVar11 = layout->any_postprocessing_sections_;
  local_2c = (pointer)0x0;
  if (bVar11 == false) {
    local_2c = (pointer)operator_new(0x14);
    *local_2c = '\x01';
    local_2c[8] = '\0';
    local_2c[9] = '\0';
    local_2c[10] = '\0';
    local_2c[0xb] = '\0';
    local_2c[0xc] = '\0';
    local_2c[0xd] = '\0';
    local_2c[0xe] = '\0';
    local_2c[0xf] = '\0';
    local_2c[0x10] = '\0';
    local_2c[0x11] = '\0';
    local_2c[0x12] = '\0';
    local_2c[0x13] = '\0';
    *(int *)(local_2c + 4) =
         ((int)(input_objects->relobj_list_).
               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -
          (int)(input_objects->relobj_list_).
               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>
         2) + 1;
  }
  pcVar3 = (pointer)operator_new(0x14);
  *pcVar3 = '\x01';
  pcVar3[8] = '\0';
  pcVar3[9] = '\0';
  pcVar3[10] = '\0';
  pcVar3[0xb] = '\0';
  pcVar3[0xc] = '\0';
  pcVar3[0xd] = '\0';
  pcVar3[0xe] = '\0';
  pcVar3[0xf] = '\0';
  pcVar3[0x10] = '\0';
  pcVar3[0x11] = '\0';
  pcVar3[0x12] = '\0';
  pcVar3[0x13] = '\0';
  pcVar3[4] = '\x01';
  pcVar3[5] = '\0';
  pcVar3[6] = '\0';
  pcVar3[7] = '\0';
  pTVar4 = (Task *)operator_new(0x14);
  *(undefined1 *)&pTVar4->_vptr_Task = 1;
  (pTVar4->name_)._M_dataplus._M_p = (pointer)0x0;
  (pTVar4->name_)._M_string_length = 0;
  (pTVar4->name_).field_2._M_allocated_capacity = 0;
  iVar2 = (int)(input_objects->relobj_list_).
               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -
          (int)(input_objects->relobj_list_).
               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>
          2;
  pTVar5 = (Task *)(iVar2 + 3);
  if (bVar11 == false) {
    pTVar5 = (Task *)(iVar2 + 4);
  }
  pTVar4->list_next_ = pTVar5;
  pTVar5 = (Task *)operator_new(0x3c);
  pTVar5->list_next_ = (Task *)0x0;
  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;
  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;
  (pTVar5->name_)._M_string_length = 0;
  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_symbols_task_0038340c;
  (pTVar5->name_).field_2._M_local_buf[0] = '\0';
  pTVar5[1].list_next_ = (Task *)symtab;
  pTVar5[1].name_._M_dataplus._M_p = (pointer)&layout->sympool_;
  pTVar5->should_run_soon_ = false;
  pTVar5[1].name_._M_string_length = (size_type)&layout->dynpool_;
  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)of;
  *(Task **)((int)&pTVar5[1].name_.field_2 + 4) = pTVar4;
  Workqueue::queue(workqueue,pTVar5);
  pTVar5 = (Task *)operator_new(0x38);
  pTVar5[1].name_._M_dataplus._M_p = pcVar3;
  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;
  pTVar5[1].list_next_ = (Task *)of;
  pTVar5->list_next_ = (Task *)0x0;
  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_sections_task_003833cc;
  (pTVar5->name_)._M_string_length = 0;
  (pTVar5->name_).field_2._M_local_buf[0] = '\0';
  pTVar5->should_run_soon_ = false;
  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;
  pTVar5[1].name_._M_string_length = (size_type)local_2c;
  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)pTVar4;
  Workqueue::queue(workqueue,pTVar5);
  pTVar5 = (Task *)operator_new(0x34);
  pTVar5->list_next_ = (Task *)0x0;
  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;
  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;
  (pTVar5->name_)._M_string_length = 0;
  pTVar5[1].list_next_ = (Task *)symtab;
  (pTVar5->name_).field_2._M_local_buf[0] = '\0';
  pTVar5->should_run_soon_ = false;
  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_data_task_003833ec;
  pTVar5[1].name_._M_dataplus._M_p = (pointer)of;
  pTVar5[1].name_._M_string_length = (size_type)pTVar4;
  Workqueue::queue(workqueue,pTVar5);
  ppRVar9 = (input_objects->relobj_list_).
            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;
  if (ppRVar9 !=
      (input_objects->relobj_list_).
      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {
    do {
      pRVar1 = *ppRVar9;
      ppRVar9 = ppRVar9 + 1;
      pTVar5 = (Task *)operator_new(0x40);
      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;
      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;
      pTVar5[1].name_._M_string_length = (size_type)of;
      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;
      pTVar5->list_next_ = (Task *)0x0;
      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;
      (pTVar5->name_)._M_string_length = 0;
      (pTVar5->name_).field_2._M_local_buf[0] = '\0';
      pTVar5->should_run_soon_ = false;
      pTVar5[1].list_next_ = (Task *)layout;
      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;
      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;
      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;
      Workqueue::queue(workqueue,pTVar5);
    } while ((input_objects->relobj_list_).
             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=
             ppRVar9);
  }
  if (bVar11 == false) {
    pTVar5 = (Task *)operator_new(0x34);
    pTVar5->list_next_ = (Task *)0x0;
    (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;
    (pTVar5->name_)._M_string_length = 0;
    (pTVar5->name_).field_2._M_local_buf[0] = '\0';
    pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;
    pTVar5->should_run_soon_ = false;
    pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;
    pTVar5[1].list_next_ = (Task *)of;
    pTVar5[1].name_._M_dataplus._M_p = local_2c;
    pTVar5[1].name_._M_string_length = (size_type)pTVar4;
    Workqueue::queue(workqueue,pTVar5);
    pTVar5 = pTVar4;
  }
  else {
    pTVar5 = (Task *)operator_new(0x14);
    *(undefined1 *)&pTVar5->_vptr_Task = 1;
    (pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;
    (pTVar5->name_)._M_string_length = 0;
    (pTVar5->name_).field_2._M_allocated_capacity = 0;
    pTVar5->list_next_ = (Task *)0x1;
    t = (Task *)operator_new(0x34);
    t->list_next_ = (Task *)0x0;
    (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;
    (t->name_)._M_string_length = 0;
    (t->name_).field_2._M_local_buf[0] = '\0';
    t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;
    t->should_run_soon_ = false;
    t[1]._vptr_Task = (_func_int_varargs **)layout;
    t[1].list_next_ = (Task *)of;
    t[1].name_._M_dataplus._M_p = (pointer)pTVar4;
    t[1].name_._M_string_length = (size_type)pTVar5;
    Workqueue::queue(workqueue,t);
  }
  bVar11 = (undefined1 *)0xffffffef < &stack0xffffffc4;
  bVar12 = &stack0x00000000 == (undefined1 *)0x2c;
  iVar2 = 5;
  pbVar8 = (byte *)(options->build_id_).value;
  pbVar10 = &DAT_00287726;
  do {
    if (iVar2 == 0) break;
    iVar2 = iVar2 + -1;
    bVar11 = *pbVar8 < *pbVar10;
    bVar12 = *pbVar8 == *pbVar10;
    pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1;
    pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1;
  } while (bVar12);
  if ((!bVar11 && !bVar12) == bVar11) {
    pp_Var6 = (_func_int_varargs **)operator_new(0x10);
    *pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c;
    pp_Var6[1] = (_func_int_varargs *)options;
    pp_Var6[2] = (_func_int_varargs *)layout;
    pp_Var6[3] = (_func_int_varargs *)of;
    pTVar4 = (Task *)operator_new(0x30);
    pTVar4->list_next_ = (Task *)0x0;
    (pTVar4->name_)._M_string_length = 0;
    (pTVar4->name_).field_2._M_local_buf[0] = '\0';
    pTVar4->should_run_soon_ = false;
    pTVar4[1]._vptr_Task = pp_Var6;
    pTVar4[1].list_next_ = pTVar5;
    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;
    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;
    pcVar7 = "Task_function Build_id_task_runner";
  }
  else {
    pp_Var6 = (_func_int_varargs **)operator_new(0x18);
    pp_Var6[4] = (_func_int_varargs *)0x0;
    pp_Var6[5] = (_func_int_varargs *)0x0;
    *pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;
    pp_Var6[1] = (_func_int_varargs *)options;
    pp_Var6[2] = (_func_int_varargs *)layout;
    pp_Var6[3] = (_func_int_varargs *)of;
    pTVar4 = (Task *)operator_new(0x30);
    pTVar4->list_next_ = (Task *)0x0;
    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;
    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;
    pcVar7 = "Task_function Close_task_runner";
    (pTVar4->name_)._M_string_length = 0;
    (pTVar4->name_).field_2._M_local_buf[0] = '\0';
    pTVar4->should_run_soon_ = false;
    pTVar4[1]._vptr_Task = pp_Var6;
    pTVar4[1].list_next_ = pTVar5;
  }
  pTVar4[1].name_._M_dataplus._M_p = pcVar7;
  Workqueue::queue(workqueue,pTVar4);
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,
                 undefined4 param_6)

{
  undefined4 uVar1;
  undefined1 *puVar2;
  undefined1 *puVar3;
  int iVar4;
  undefined4 *puVar5;
  int iVar6;
  char *pcVar7;
  byte *pbVar8;
  byte *pbVar9;
  bool bVar10;
  bool bVar11;
  byte bVar12;
  int local_3c;
  undefined4 *puStack_38;
  undefined1 *local_2c;
  undefined1 *local_28;
  undefined **local_24;
  char local_1d;
  undefined4 uStack_14;
  
  bVar12 = 0;
  uStack_14 = 0x6abf9;
  local_3c = *(int *)(DAT_0038f378 + 4);
  if (local_3c != 0) {
    puStack_38 = (undefined4 *)0x1;
    FUN_00190080();
  }
  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);
  if (puStack_38 == (undefined4 *)0x0) {
    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));
    if ((int)puStack_38 < 2) {
      puStack_38 = (undefined4 *)0x2;
    }
  }
  local_3c = param_5;
  FUN_00190d80();
  local_1d = *(char *)(param_4 + 0x1ca);
  local_2c = (undefined1 *)0x0;
  if (local_1d == '\0') {
    local_3c = 0x14;
    local_2c = (undefined1 *)FUN_001e5200();
    *local_2c = 1;
    *(undefined4 *)(local_2c + 8) = 0;
    *(undefined4 *)(local_2c + 0xc) = 0;
    *(undefined4 *)(local_2c + 0x10) = 0;
    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;
  }
  local_3c = 0x14;
  puVar2 = (undefined1 *)FUN_001e5200();
  *puVar2 = 1;
  *(undefined4 *)(puVar2 + 8) = 0;
  *(undefined4 *)(puVar2 + 0xc) = 0;
  *(undefined4 *)(puVar2 + 0x10) = 0;
  *(undefined4 *)(puVar2 + 4) = 1;
  local_3c = 0x14;
  local_28 = puVar2;
  puVar3 = (undefined1 *)FUN_001e5200();
  *puVar3 = 1;
  *(undefined4 *)(puVar3 + 8) = 0;
  *(undefined4 *)(puVar3 + 0xc) = 0;
  *(undefined4 *)(puVar3 + 0x10) = 0;
  iVar4 = param_2[1] - *param_2 >> 2;
  iVar6 = iVar4 + 3;
  if (local_1d == '\0') {
    iVar6 = iVar4 + 4;
  }
  *(int *)(puVar3 + 4) = iVar6;
  local_3c = 0x3c;
  puStack_38 = (undefined4 *)FUN_001e5200();
  puStack_38[1] = 0;
  puStack_38[2] = puStack_38 + 4;
  puStack_38[9] = param_4;
  puStack_38[3] = 0;
  *puStack_38 = &PTR_FUN_0038340c;
  *(undefined1 *)(puStack_38 + 4) = 0;
  puStack_38[10] = param_3;
  puStack_38[0xb] = param_4 + 0x54;
  *(undefined1 *)(puStack_38 + 8) = 0;
  puStack_38[0xc] = param_4 + 0xa0;
  puStack_38[0xd] = param_6;
  puStack_38[0xe] = puVar3;
  local_3c = param_5;
  FUN_001906a0();
  local_3c = 0x38;
  puStack_38 = (undefined4 *)FUN_001e5200();
  puStack_38[0xb] = puVar2;
  puStack_38[2] = puStack_38 + 4;
  puStack_38[10] = param_6;
  puStack_38[1] = 0;
  *puStack_38 = &PTR_FUN_003833cc;
  puStack_38[3] = 0;
  *(undefined1 *)(puStack_38 + 4) = 0;
  *(undefined1 *)(puStack_38 + 8) = 0;
  puStack_38[9] = param_4;
  puStack_38[0xc] = local_2c;
  puStack_38[0xd] = puVar3;
  local_3c = param_5;
  FUN_001906a0();
  local_3c = 0x34;
  puStack_38 = (undefined4 *)FUN_001e5200();
  puStack_38[1] = 0;
  puStack_38[2] = puStack_38 + 4;
  puStack_38[9] = param_4;
  puStack_38[3] = 0;
  puStack_38[10] = param_3;
  *(undefined1 *)(puStack_38 + 4) = 0;
  *(undefined1 *)(puStack_38 + 8) = 0;
  *puStack_38 = &PTR_FUN_003833ec;
  puStack_38[0xb] = param_6;
  puStack_38[0xc] = puVar3;
  local_3c = param_5;
  FUN_001906a0();
  puVar5 = (undefined4 *)*param_2;
  if (puVar5 != (undefined4 *)param_2[1]) {
    local_24 = &PTR_FUN_00384ef0;
    do {
      uVar1 = *puVar5;
      puVar5 = puVar5 + 1;
      local_3c = 0x40;
      puStack_38 = (undefined4 *)FUN_001e5200();
      puStack_38[0xb] = uVar1;
      puStack_38[2] = puStack_38 + 4;
      puStack_38[0xc] = param_6;
      *puStack_38 = local_24;
      puStack_38[1] = 0;
      puStack_38[9] = param_3;
      puStack_38[3] = 0;
      *(undefined1 *)(puStack_38 + 4) = 0;
      *(undefined1 *)(puStack_38 + 8) = 0;
      puStack_38[10] = param_4;
      puStack_38[0xd] = local_2c;
      puStack_38[0xe] = local_28;
      puStack_38[0xf] = puVar3;
      local_3c = param_5;
      FUN_001906a0();
    } while ((undefined4 *)param_2[1] != puVar5);
  }
  if (local_1d == '\0') {
    local_3c = 0x34;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[2] = puStack_38 + 4;
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *puStack_38 = &PTR_FUN_0038342c;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = param_4;
    puStack_38[10] = param_6;
    puStack_38[0xb] = local_2c;
    puStack_38[0xc] = puVar3;
    local_3c = param_5;
    FUN_001906a0();
    puVar2 = puVar3;
  }
  else {
    local_3c = 0x14;
    puVar2 = (undefined1 *)FUN_001e5200();
    *puVar2 = 1;
    *(undefined4 *)(puVar2 + 8) = 0;
    *(undefined4 *)(puVar2 + 0xc) = 0;
    *(undefined4 *)(puVar2 + 0x10) = 0;
    *(undefined4 *)(puVar2 + 4) = 1;
    local_3c = 0x34;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[2] = puStack_38 + 4;
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *puStack_38 = &PTR_FUN_0038342c;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = param_4;
    puStack_38[10] = param_6;
    puStack_38[0xb] = puVar3;
    puStack_38[0xc] = puVar2;
    local_3c = param_5;
    FUN_001906a0();
  }
  bVar10 = (undefined1 *)0xffffffef < &local_3c;
  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;
  iVar6 = 5;
  pbVar8 = *(byte **)(param_1 + 0x478);
  pbVar9 = &DAT_00287726;
  do {
    if (iVar6 == 0) break;
    iVar6 = iVar6 + -1;
    bVar10 = *pbVar8 < *pbVar9;
    bVar11 = *pbVar8 == *pbVar9;
    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;
    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;
  } while (bVar11);
  if ((!bVar10 && !bVar11) == bVar10) {
    local_3c = 0x10;
    puVar5 = (undefined4 *)FUN_001e5200();
    *puVar5 = &PTR_FUN_0038344c;
    puVar5[1] = param_1;
    puVar5[2] = param_4;
    puVar5[3] = param_6;
    local_3c = 0x30;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = puVar5;
    puStack_38[10] = puVar2;
    puStack_38[2] = puStack_38 + 4;
    *puStack_38 = &PTR_FUN_00382e14;
    pcVar7 = "Task_function Build_id_task_runner";
  }
  else {
    local_3c = 0x18;
    puVar5 = (undefined4 *)FUN_001e5200();
    puVar5[4] = 0;
    puVar5[5] = 0;
    *puVar5 = &PTR_FUN_00383460;
    puVar5[1] = param_1;
    puVar5[2] = param_4;
    puVar5[3] = param_6;
    local_3c = 0x30;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[2] = puStack_38 + 4;
    *puStack_38 = &PTR_FUN_00382e14;
    pcVar7 = "Task_function Close_task_runner";
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = puVar5;
    puStack_38[10] = puVar2;
  }
  puStack_38[0xb] = pcVar7;
  local_3c = param_5;
  FUN_001906a0();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x324407
SUB ESP,0x1c
LEA EAX,[EBX + 0x378]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
TEST EAX,EAX
JZ 0x0006ac1f
SUB ESP,0x8
PUSH 0x1
PUSH EAX
CALL 0x00190080
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [EAX + 0x3eb4]
TEST EAX,EAX
JNZ 0x0006ac55
MOV EDI,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [EAX + 0x4]
SUB EAX,dword ptr [EDI]
SAR EAX,0x2
MOV EDX,EAX
MOV EAX,dword ptr [EDI + 0x10]
SUB EAX,dword ptr [EDI + 0xc]
SAR EAX,0x2
ADD EAX,EDX
MOV EDX,0x2
CMP EAX,0x2
CMOVL EAX,EDX
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x00190d80
MOV EAX,dword ptr [ESP + 0x4c]
MOVZX EAX,byte ptr [EAX + 0x1ca]
MOV byte ptr [ESP + 0x1f],AL
ADD ESP,0x10
MOV dword ptr [ESP],0x0
TEST AL,AL
JZ 0x0006b0c0
SUB ESP,0xc
PUSH 0x14
CALL 0x001e5200
MOV byte ptr [EAX],0x1
MOV EDI,EAX
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x4],0x1
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP],0x14
CALL 0x001e5200
MOV EDX,dword ptr [ESP + 0x44]
MOV EBP,EAX
MOV byte ptr [EAX],0x1
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV EAX,dword ptr [ESP + 0x44]
MOV EAX,dword ptr [EAX + 0x4]
SUB EAX,dword ptr [EDX]
SAR EAX,0x2
LEA EDX,[EAX + 0x4]
ADD EAX,0x3
CMP byte ptr [ESP + 0x1f],0x0
CMOVZ EAX,EDX
MOV dword ptr [EBP + 0x4],EAX
MOV dword ptr [ESP],0x3c
CALL 0x001e5200
MOV ESI,dword ptr [ESP + 0x4c]
LEA EDX,[EAX + 0x10]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],EDX
LEA EDX,[EBX + 0xffff4404]
MOV dword ptr [EAX + 0x24],ESI
ADD EDX,0x8
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [ESP + 0x48]
MOV byte ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x28],EDX
LEA EDX,[ESI + 0x54]
MOV dword ptr [EAX + 0x2c],EDX
MOV EDX,ESI
MOV ESI,dword ptr [ESP + 0x54]
ADD EDX,0xa0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x30],EDX
MOV dword ptr [EAX + 0x34],ESI
MOV dword ptr [EAX + 0x38],EBP
POP ECX
POP ESI
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x001906a0
MOV dword ptr [ESP],0x38
CALL 0x001e5200
MOV ESI,dword ptr [ESP + 0x54]
LEA EDX,[EAX + 0x10]
MOV dword ptr [EAX + 0x2c],EDI
MOV EDI,dword ptr [ESP + 0x10]
MOV dword ptr [EAX + 0x8],EDX
LEA EDX,[EBX + 0xffff43c4]
MOV dword ptr [EAX + 0x28],ESI
ADD EDX,0x8
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [ESP + 0x4c]
MOV dword ptr [EAX + 0xc],0x0
MOV byte ptr [EAX + 0x10],0x0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],EDX
MOV dword ptr [EAX + 0x30],EDI
MOV dword ptr [EAX + 0x34],EBP
POP EDI
POP EDX
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x001906a0
MOV dword ptr [ESP],0x34
CALL 0x001e5200
MOV EDI,dword ptr [ESP + 0x4c]
MOV ECX,dword ptr [ESP + 0x54]
LEA EDX,[EAX + 0x10]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],EDX
LEA EDX,[EBX + 0xffff43e4]
MOV dword ptr [EAX + 0x24],EDI
MOV EDI,dword ptr [ESP + 0x48]
ADD EDX,0x8
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x28],EDI
MOV byte ptr [EAX + 0x10],0x0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX],EDX
MOV dword ptr [EAX + 0x2c],ECX
MOV dword ptr [EAX + 0x30],EBP
POP ECX
POP ESI
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x001906a0
MOV EAX,dword ptr [ESP + 0x44]
ADD ESP,0x10
MOV EDI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x34]
CMP EDI,dword ptr [EAX + 0x4]
JZ 0x0006aeaa
LEA EAX,[EBX + 0xffff5ee8]
ADD EAX,0x8
MOV dword ptr [ESP + 0x8],EAX
LEA ESI,[ESI]
SUB ESP,0xc
MOV ESI,dword ptr [EDI]
ADD EDI,0x4
PUSH 0x40
CALL 0x001e5200
MOV EDX,dword ptr [ESP + 0x4c]
LEA ECX,[EAX + 0x10]
MOV dword ptr [EAX + 0x2c],ESI
MOV ESI,dword ptr [ESP + 0x54]
MOV dword ptr [EAX + 0x8],ECX
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX + 0x30],ESI
MOV ESI,dword ptr [ESP + 0x10]
MOV dword ptr [EAX],ECX
MOV ECX,dword ptr [ESP + 0x48]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x24],ECX
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [EAX + 0xc],0x0
MOV byte ptr [EAX + 0x10],0x0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x28],EDX
MOV dword ptr [EAX + 0x34],ESI
MOV dword ptr [EAX + 0x38],ECX
MOV dword ptr [EAX + 0x3c],EBP
POP ESI
POP EDX
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x001906a0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x34]
CMP dword ptr [EAX + 0x4],EDI
JNZ 0x0006ae38
CMP byte ptr [ESP + 0xf],0x0
JNZ 0x0006b038
SUB ESP,0xc
PUSH 0x34
CALL 0x001e5200
MOV ESI,dword ptr [ESP + 0x54]
MOV ECX,dword ptr [ESP + 0x10]
LEA EDX,[EAX + 0x10]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],EDX
LEA EDX,[EBX + 0xffff4424]
MOV dword ptr [EAX + 0xc],0x0
ADD EDX,0x8
MOV byte ptr [EAX + 0x10],0x0
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [ESP + 0x4c]
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],EDX
MOV dword ptr [EAX + 0x28],ESI
MOV dword ptr [EAX + 0x2c],ECX
MOV dword ptr [EAX + 0x30],EBP
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x001906a0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x30]
MOV ECX,0x5
LEA EDI,[EBX + 0xffef8726]
MOV ESI,dword ptr [EAX + 0x478]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x0006afb8
SUB ESP,0xc
PUSH 0x10
CALL 0x001e5200
MOV ESI,EAX
LEA EAX,[EBX + 0xffff4444]
ADD EAX,0x8
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x40]
MOV dword ptr [ESI + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x54]
MOV dword ptr [ESI + 0xc],EAX
MOV dword ptr [ESP],0x30
CALL 0x001e5200
LEA EDX,[EAX + 0x10]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV byte ptr [EAX + 0x10],0x0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],ESI
MOV dword ptr [EAX + 0x28],EBP
MOV dword ptr [EAX + 0x8],EDX
LEA EDX,[EBX + 0xffff3e14]
MOV dword ptr [EAX],EDX
LEA EDX,[EBX + 0xffef888c]
MOV dword ptr [EAX + 0x2c],EDX
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [ESP + 0x4c]
CALL 0x001906a0
ADD ESP,0x10
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH 0x18
CALL 0x001e5200
MOV ESI,EAX
LEA EAX,[EBX + 0xffff4458]
MOV dword ptr [ESI + 0x10],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x14],0x0
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x40]
MOV dword ptr [ESI + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x54]
MOV dword ptr [ESI + 0xc],EAX
MOV dword ptr [ESP],0x30
CALL 0x001e5200
LEA EDX,[EAX + 0x10]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],EDX
LEA EDX,[EBX + 0xffff3e14]
MOV dword ptr [EAX],EDX
LEA EDX,[EBX + 0xffef88b0]
MOV dword ptr [EAX + 0xc],0x0
MOV byte ptr [EAX + 0x10],0x0
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],ESI
MOV dword ptr [EAX + 0x28],EBP
JMP 0x0006af99
SUB ESP,0xc
PUSH 0x14
CALL 0x001e5200
MOV byte ptr [EAX],0x1
MOV ESI,EAX
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x4],0x1
MOV dword ptr [ESP],0x34
CALL 0x001e5200
MOV EDI,dword ptr [ESP + 0x4c]
LEA EDX,[EAX + 0x10]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],EDX
LEA EDX,[EBX + 0xffff4424]
MOV dword ptr [EAX + 0xc],0x0
ADD EDX,0x8
MOV byte ptr [EAX + 0x10],0x0
MOV dword ptr [EAX],EDX
MOV EDX,dword ptr [ESP + 0x54]
MOV byte ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],EDI
MOV dword ptr [EAX + 0x28],EDX
MOV dword ptr [EAX + 0x2c],EBP
MOV dword ptr [EAX + 0x30],ESI
POP EDI
POP EBP
PUSH EAX
MOV EBP,ESI
PUSH dword ptr [ESP + 0x4c]
CALL 0x001906a0
ADD ESP,0x10
JMP 0x0006af0d
SUB ESP,0xc
PUSH 0x14
CALL 0x001e5200
MOV ESI,dword ptr [ESP + 0x44]
MOV EDX,EAX
MOV dword ptr [ESP + 0x10],EAX
MOV byte ptr [EAX],0x1
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV EAX,dword ptr [ESP + 0x44]
ADD ESP,0x10
MOV EAX,dword ptr [EAX + 0x4]
SUB EAX,dword ptr [ESI]
SAR EAX,0x2
ADD EAX,0x1
MOV dword ptr [EDX + 0x4],EAX
JMP 0x0006ac83
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}\n\n" comment (function_definition "void FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}" primitive_type (function_declarator "FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)" identifier (parameter_list "(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 *puStack_38;" type_identifier (pointer_declarator "*puStack_38" * identifier) ;) (declaration "undefined1 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined1 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined **local_24;" type_identifier (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)) ;) (declaration "char local_1d;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x6abf9;" (assignment_expression "uStack_14 = 0x6abf9" identifier = number_literal) ;) (expression_statement "local_3c = *(int *)(DAT_0038f378 + 4);" (assignment_expression "local_3c = *(int *)(DAT_0038f378 + 4)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 4)" * (cast_expression "(int *)(DAT_0038f378 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 4)" ( (binary_expression "DAT_0038f378 + 4" identifier + number_literal) ))))) ;) (if_statement "if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }" if (parenthesized_expression "(local_3c != 0)" ( (binary_expression "local_3c != 0" identifier != number_literal) )) (compound_statement "{\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }" { (expression_statement "puStack_38 = (undefined4 *)0x1;" (assignment_expression "puStack_38 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00190080();" (call_expression "FUN_00190080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);" (assignment_expression "puStack_38 = *(undefined4 **)(param_1 + 0x3eb4)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x3eb4)" * (cast_expression "(undefined4 **)(param_1 + 0x3eb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3eb4)" ( (binary_expression "param_1 + 0x3eb4" identifier + number_literal) ))))) ;) (if_statement "if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }" if (parenthesized_expression "(puStack_38 == (undefined4 *)0x0)" ( (binary_expression "puStack_38 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }" { (expression_statement "puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));" (assignment_expression "puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" identifier = (cast_expression "(undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" ( (binary_expression "(param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2)" (parenthesized_expression "(param_2[4] - param_2[3] >> 2)" ( (binary_expression "param_2[4] - param_2[3] >> 2" (binary_expression "param_2[4] - param_2[3]" (subscript_expression "param_2[4]" identifier [ number_literal ]) - (subscript_expression "param_2[3]" identifier [ number_literal ])) >> number_literal) )) + (parenthesized_expression "(param_2[1] - *param_2 >> 2)" ( (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) - (pointer_expression "*param_2" * identifier)) >> number_literal) ))) )))) ;) (if_statement "if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }" if (parenthesized_expression "((int)puStack_38 < 2)" ( (binary_expression "(int)puStack_38 < 2" (cast_expression "(int)puStack_38" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      puStack_38 = (undefined4 *)0x2;\n    }" { (expression_statement "puStack_38 = (undefined4 *)0x2;" (assignment_expression "puStack_38 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_00190d80();" (call_expression "FUN_00190d80()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_1d = *(char *)(param_4 + 0x1ca);" (assignment_expression "local_1d = *(char *)(param_4 + 0x1ca)" identifier = (pointer_expression "*(char *)(param_4 + 0x1ca)" * (cast_expression "(char *)(param_4 + 0x1ca)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1ca)" ( (binary_expression "param_4 + 0x1ca" identifier + number_literal) ))))) ;) (expression_statement "local_2c = (undefined1 *)0x0;" (assignment_expression "local_2c = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }" if (parenthesized_expression "(local_1d == '\0')" ( (binary_expression "local_1d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }" { (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "local_2c = (undefined1 *)FUN_001e5200();" (assignment_expression "local_2c = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*local_2c = 1;" (assignment_expression "*local_2c = 1" (pointer_expression "*local_2c" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + 8) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 8) = 0" (pointer_expression "*(undefined4 *)(local_2c + 8)" * (cast_expression "(undefined4 *)(local_2c + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 8)" ( (binary_expression "local_2c + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + 0xc) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 0xc) = 0" (pointer_expression "*(undefined4 *)(local_2c + 0xc)" * (cast_expression "(undefined4 *)(local_2c + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 0xc)" ( (binary_expression "local_2c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + 0x10) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 0x10) = 0" (pointer_expression "*(undefined4 *)(local_2c + 0x10)" * (cast_expression "(undefined4 *)(local_2c + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 0x10)" ( (binary_expression "local_2c + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;" (assignment_expression "*(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1" (pointer_expression "*(int *)(local_2c + 4)" * (cast_expression "(int *)(local_2c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 4)" ( (binary_expression "local_2c + 4" identifier + number_literal) )))) = (binary_expression "(param_2[1] - *param_2 >> 2) + 1" (parenthesized_expression "(param_2[1] - *param_2 >> 2)" ( (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) - (pointer_expression "*param_2" * identifier)) >> number_literal) )) + number_literal)) ;) })) (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "puVar2 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar2 = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 8)" * (cast_expression "(undefined4 *)(puVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 8)" ( (binary_expression "puVar2 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0xc)" * (cast_expression "(undefined4 *)(puVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0x10)" * (cast_expression "(undefined4 *)(puVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x10)" ( (binary_expression "puVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar2 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar2 + 4)" * (cast_expression "(undefined4 *)(puVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "local_28 = puVar2;" (assignment_expression "local_28 = puVar2" identifier = identifier) ;) (expression_statement "puVar3 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar3 = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 8)" * (cast_expression "(undefined4 *)(puVar3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 8)" ( (binary_expression "puVar3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0xc)" * (cast_expression "(undefined4 *)(puVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0xc)" ( (binary_expression "puVar3 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x10)" * (cast_expression "(undefined4 *)(puVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x10)" ( (binary_expression "puVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = param_2[1] - *param_2 >> 2;" (assignment_expression "iVar4 = param_2[1] - *param_2 >> 2" identifier = (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) - (pointer_expression "*param_2" * identifier)) >> number_literal)) ;) (expression_statement "iVar6 = iVar4 + 3;" (assignment_expression "iVar6 = iVar4 + 3" identifier = (binary_expression "iVar4 + 3" identifier + number_literal)) ;) (if_statement "if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }" if (parenthesized_expression "(local_1d == '\0')" ( (binary_expression "local_1d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar6 = iVar4 + 4;\n  }" { (expression_statement "iVar6 = iVar4 + 4;" (assignment_expression "iVar6 = iVar4 + 4" identifier = (binary_expression "iVar4 + 4" identifier + number_literal)) ;) })) (expression_statement "*(int *)(puVar3 + 4) = iVar6;" (assignment_expression "*(int *)(puVar3 + 4) = iVar6" (pointer_expression "*(int *)(puVar3 + 4)" * (cast_expression "(int *)(puVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_3c = 0x3c;" (assignment_expression "local_3c = 0x3c" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_0038340c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038340c" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_0038340c" & identifier)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[10] = param_3;" (assignment_expression "puStack_38[10] = param_3" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xb] = param_4 + 0x54;" (assignment_expression "puStack_38[0xb] = param_4 + 0x54" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = (binary_expression "param_4 + 0x54" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[0xc] = param_4 + 0xa0;" (assignment_expression "puStack_38[0xc] = param_4 + 0xa0" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = (binary_expression "param_4 + 0xa0" identifier + number_literal)) ;) (expression_statement "puStack_38[0xd] = param_6;" (assignment_expression "puStack_38[0xd] = param_6" (subscript_expression "puStack_38[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xe] = puVar3;" (assignment_expression "puStack_38[0xe] = puVar3" (subscript_expression "puStack_38[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_3c = 0x38;" (assignment_expression "local_3c = 0x38" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[0xb] = puVar2;" (assignment_expression "puStack_38[0xb] = puVar2" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_003833cc;" (assignment_expression "*puStack_38 = &PTR_FUN_003833cc" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_003833cc" & identifier)) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = local_2c;" (assignment_expression "puStack_38[0xc] = local_2c" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xd] = puVar3;" (assignment_expression "puStack_38[0xd] = puVar3" (subscript_expression "puStack_38[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[10] = param_3;" (assignment_expression "puStack_38[10] = param_3" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_003833ec;" (assignment_expression "*puStack_38 = &PTR_FUN_003833ec" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_003833ec" & identifier)) ;) (expression_statement "puStack_38[0xb] = param_6;" (assignment_expression "puStack_38[0xb] = param_6" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = puVar3;" (assignment_expression "puStack_38[0xc] = puVar3" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined4 *)*param_2;" (assignment_expression "puVar5 = (undefined4 *)*param_2" identifier = (cast_expression "(undefined4 *)*param_2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }" if (parenthesized_expression "(puVar5 != (undefined4 *)param_2[1])" ( (binary_expression "puVar5 != (undefined4 *)param_2[1]" identifier != (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }" { (expression_statement "local_24 = &PTR_FUN_00384ef0;" (assignment_expression "local_24 = &PTR_FUN_00384ef0" identifier = (pointer_expression "&PTR_FUN_00384ef0" & identifier)) ;) (do_statement "do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);" do (compound_statement "{\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    }" { (expression_statement "uVar1 = *puVar5;" (assignment_expression "uVar1 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) (expression_statement "local_3c = 0x40;" (assignment_expression "local_3c = 0x40" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[0xb] = uVar1;" (assignment_expression "puStack_38[0xb] = uVar1" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[0xc] = param_6;" (assignment_expression "puStack_38[0xc] = param_6" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puStack_38 = local_24;" (assignment_expression "*puStack_38 = local_24" (pointer_expression "*puStack_38" * identifier) = identifier) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[9] = param_3;" (assignment_expression "puStack_38[9] = param_3" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[10] = param_4;" (assignment_expression "puStack_38[10] = param_4" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xd] = local_2c;" (assignment_expression "puStack_38[0xd] = local_2c" (subscript_expression "puStack_38[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xe] = local_28;" (assignment_expression "puStack_38[0xe] = local_28" (subscript_expression "puStack_38[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xf] = puVar3;" (assignment_expression "puStack_38[0xf] = puVar3" (subscript_expression "puStack_38[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "((undefined4 *)param_2[1] != puVar5)" ( (binary_expression "(undefined4 *)param_2[1] != puVar5" (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) != identifier) )) ;) })) (if_statement "if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" if (parenthesized_expression "(local_1d == '\0')" ( (binary_expression "local_1d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }" { (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_0038342c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038342c" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_0038342c" & identifier)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xb] = local_2c;" (assignment_expression "puStack_38[0xb] = local_2c" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = puVar3;" (assignment_expression "puStack_38[0xc] = puVar3" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar2 = puVar3;" (assignment_expression "puVar2 = puVar3" identifier = identifier) ;) }) (else_clause "else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" else (compound_statement "{\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" { (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "puVar2 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar2 = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 8)" * (cast_expression "(undefined4 *)(puVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 8)" ( (binary_expression "puVar2 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0xc)" * (cast_expression "(undefined4 *)(puVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0x10)" * (cast_expression "(undefined4 *)(puVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x10)" ( (binary_expression "puVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar2 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar2 + 4)" * (cast_expression "(undefined4 *)(puVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_0038342c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038342c" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_0038342c" & identifier)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xb] = puVar3;" (assignment_expression "puStack_38[0xb] = puVar3" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = puVar2;" (assignment_expression "puStack_38[0xc] = puVar2" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "bVar10 = (undefined1 *)0xffffffef < &local_3c;" (assignment_expression "bVar10 = (undefined1 *)0xffffffef < &local_3c" identifier = (binary_expression "(undefined1 *)0xffffffef < &local_3c" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&local_3c" & identifier))) ;) (expression_statement "bVar11 = &stack0x00000000 == (undefined1 *)0x2c;" (assignment_expression "bVar11 = &stack0x00000000 == (undefined1 *)0x2c" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x2c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x2c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "iVar6 = 5;" (assignment_expression "iVar6 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = *(byte **)(param_1 + 0x478);" (assignment_expression "pbVar8 = *(byte **)(param_1 + 0x478)" identifier = (pointer_expression "*(byte **)(param_1 + 0x478)" * (cast_expression "(byte **)(param_1 + 0x478)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x478)" ( (binary_expression "param_1 + 0x478" identifier + number_literal) ))))) ;) (expression_statement "pbVar9 = &DAT_00287726;" (assignment_expression "pbVar9 = &DAT_00287726" identifier = (pointer_expression "&DAT_00287726" & identifier)) ;) (do_statement "do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar8 < *pbVar9;" (assignment_expression "bVar10 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar9;" (assignment_expression "bVar11 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" if (parenthesized_expression "((!bVar10 && !bVar11) == bVar10)" ( (binary_expression "(!bVar10 && !bVar11) == bVar10" (parenthesized_expression "(!bVar10 && !bVar11)" ( (binary_expression "!bVar10 && !bVar11" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier) )) (compound_statement "{\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }" { (expression_statement "local_3c = 0x10;" (assignment_expression "local_3c = 0x10" identifier = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)FUN_001e5200();" (assignment_expression "puVar5 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar5 = &PTR_FUN_0038344c;" (assignment_expression "*puVar5 = &PTR_FUN_0038344c" (pointer_expression "*puVar5" * identifier) = (pointer_expression "&PTR_FUN_0038344c" & identifier)) ;) (expression_statement "puVar5[1] = param_1;" (assignment_expression "puVar5[1] = param_1" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = param_4;" (assignment_expression "puVar5[2] = param_4" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[3] = param_6;" (assignment_expression "puVar5[3] = param_6" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = 0x30;" (assignment_expression "local_3c = 0x30" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = puVar5;" (assignment_expression "puStack_38[9] = puVar5" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = puVar2;" (assignment_expression "puStack_38[10] = puVar2" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "*puStack_38 = &PTR_FUN_00382e14;" (assignment_expression "*puStack_38 = &PTR_FUN_00382e14" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_00382e14" & identifier)) ;) (expression_statement "pcVar7 = "Task_function Build_id_task_runner";" (assignment_expression "pcVar7 = "Task_function Build_id_task_runner"" identifier = (string_literal ""Task_function Build_id_task_runner"" " string_content ")) ;) }) (else_clause "else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" else (compound_statement "{\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" { (expression_statement "local_3c = 0x18;" (assignment_expression "local_3c = 0x18" identifier = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)FUN_001e5200();" (assignment_expression "puVar5 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar5[4] = 0;" (assignment_expression "puVar5[4] = 0" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[5] = 0;" (assignment_expression "puVar5[5] = 0" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar5 = &PTR_FUN_00383460;" (assignment_expression "*puVar5 = &PTR_FUN_00383460" (pointer_expression "*puVar5" * identifier) = (pointer_expression "&PTR_FUN_00383460" & identifier)) ;) (expression_statement "puVar5[1] = param_1;" (assignment_expression "puVar5[1] = param_1" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = param_4;" (assignment_expression "puVar5[2] = param_4" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[3] = param_6;" (assignment_expression "puVar5[3] = param_6" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = 0x30;" (assignment_expression "local_3c = 0x30" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "*puStack_38 = &PTR_FUN_00382e14;" (assignment_expression "*puStack_38 = &PTR_FUN_00382e14" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_00382e14" & identifier)) ;) (expression_statement "pcVar7 = "Task_function Close_task_runner";" (assignment_expression "pcVar7 = "Task_function Close_task_runner"" identifier = (string_literal ""Task_function Close_task_runner"" " string_content ")) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = puVar5;" (assignment_expression "puStack_38[9] = puVar5" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = puVar2;" (assignment_expression "puStack_38[10] = puVar2" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puStack_38[0xb] = pcVar7;" (assignment_expression "puStack_38[0xb] = pcVar7" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "DT": Some values do not have unique names */\n\nvoid gold::queue_final_tasks\n               (General_options *options,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Workqueue *workqueue,Output_file *of)\n\n{\n  Relobj *pRVar1;\n  int iVar2;\n  pointer pcVar3;\n  Task *pTVar4;\n  Task *pTVar5;\n  _func_int_varargs **pp_Var6;\n  Task *t;\n  char *pcVar7;\n  byte *pbVar8;\n  pointer ppRVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  pointer local_2c;\n  \n  bVar13 = 0;\n  if (parameters->timer_ != (Timer *)0x0) {\n    Timer::stamp(parameters->timer_,1);\n  }\n  iVar2 = (options->thread_count_final_).value;\n  if ((iVar2 == 0) &&\n     (iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2)) {\n    iVar2 = 2;\n  }\n  Workqueue::set_thread_count(workqueue,iVar2);\n  bVar11 = layout->any_postprocessing_sections_;\n  local_2c = (pointer)0x0;\n  if (bVar11 == false) {\n    local_2c = (pointer)operator_new(0x14);\n    *local_2c = '\x01';\n    local_2c[8] = '\0';\n    local_2c[9] = '\0';\n    local_2c[10] = '\0';\n    local_2c[0xb] = '\0';\n    local_2c[0xc] = '\0';\n    local_2c[0xd] = '\0';\n    local_2c[0xe] = '\0';\n    local_2c[0xf] = '\0';\n    local_2c[0x10] = '\0';\n    local_2c[0x11] = '\0';\n    local_2c[0x12] = '\0';\n    local_2c[0x13] = '\0';\n    *(int *)(local_2c + 4) =\n         ((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1;\n  }\n  pcVar3 = (pointer)operator_new(0x14);\n  *pcVar3 = '\x01';\n  pcVar3[8] = '\0';\n  pcVar3[9] = '\0';\n  pcVar3[10] = '\0';\n  pcVar3[0xb] = '\0';\n  pcVar3[0xc] = '\0';\n  pcVar3[0xd] = '\0';\n  pcVar3[0xe] = '\0';\n  pcVar3[0xf] = '\0';\n  pcVar3[0x10] = '\0';\n  pcVar3[0x11] = '\0';\n  pcVar3[0x12] = '\0';\n  pcVar3[0x13] = '\0';\n  pcVar3[4] = '\x01';\n  pcVar3[5] = '\0';\n  pcVar3[6] = '\0';\n  pcVar3[7] = '\0';\n  pTVar4 = (Task *)operator_new(0x14);\n  *(undefined1 *)&pTVar4->_vptr_Task = 1;\n  (pTVar4->name_)._M_dataplus._M_p = (pointer)0x0;\n  (pTVar4->name_)._M_string_length = 0;\n  (pTVar4->name_).field_2._M_allocated_capacity = 0;\n  iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n          2;\n  pTVar5 = (Task *)(iVar2 + 3);\n  if (bVar11 == false) {\n    pTVar5 = (Task *)(iVar2 + 4);\n  }\n  pTVar4->list_next_ = pTVar5;\n  pTVar5 = (Task *)operator_new(0x3c);\n  pTVar5->list_next_ = (Task *)0x0;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  (pTVar5->name_)._M_string_length = 0;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_symbols_task_0038340c;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5[1].list_next_ = (Task *)symtab;\n  pTVar5[1].name_._M_dataplus._M_p = (pointer)&layout->sympool_;\n  pTVar5->should_run_soon_ = false;\n  pTVar5[1].name_._M_string_length = (size_type)&layout->dynpool_;\n  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)of;\n  *(Task **)((int)&pTVar5[1].name_.field_2 + 4) = pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  pTVar5 = (Task *)operator_new(0x38);\n  pTVar5[1].name_._M_dataplus._M_p = pcVar3;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1].list_next_ = (Task *)of;\n  pTVar5->list_next_ = (Task *)0x0;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_sections_task_003833cc;\n  (pTVar5->name_)._M_string_length = 0;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5->should_run_soon_ = false;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  pTVar5[1].name_._M_string_length = (size_type)local_2c;\n  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  pTVar5 = (Task *)operator_new(0x34);\n  pTVar5->list_next_ = (Task *)0x0;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  (pTVar5->name_)._M_string_length = 0;\n  pTVar5[1].list_next_ = (Task *)symtab;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5->should_run_soon_ = false;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_data_task_003833ec;\n  pTVar5[1].name_._M_dataplus._M_p = (pointer)of;\n  pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;\n  if (ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    do {\n      pRVar1 = *ppRVar9;\n      ppRVar9 = ppRVar9 + 1;\n      pTVar5 = (Task *)operator_new(0x40);\n      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;\n      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n      pTVar5[1].name_._M_string_length = (size_type)of;\n      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;\n      pTVar5->list_next_ = (Task *)0x0;\n      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;\n      (pTVar5->name_)._M_string_length = 0;\n      (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n      pTVar5->should_run_soon_ = false;\n      pTVar5[1].list_next_ = (Task *)layout;\n      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;\n      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;\n      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;\n      Workqueue::queue(workqueue,pTVar5);\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9);\n  }\n  if (bVar11 == false) {\n    pTVar5 = (Task *)operator_new(0x34);\n    pTVar5->list_next_ = (Task *)0x0;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n    pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    pTVar5->should_run_soon_ = false;\n    pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n    pTVar5[1].list_next_ = (Task *)of;\n    pTVar5[1].name_._M_dataplus._M_p = local_2c;\n    pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n    Workqueue::queue(workqueue,pTVar5);\n    pTVar5 = pTVar4;\n  }\n  else {\n    pTVar5 = (Task *)operator_new(0x14);\n    *(undefined1 *)&pTVar5->_vptr_Task = 1;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_allocated_capacity = 0;\n    pTVar5->list_next_ = (Task *)0x1;\n    t = (Task *)operator_new(0x34);\n    t->list_next_ = (Task *)0x0;\n    (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n    (t->name_)._M_string_length = 0;\n    (t->name_).field_2._M_local_buf[0] = '\0';\n    t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    t->should_run_soon_ = false;\n    t[1]._vptr_Task = (_func_int_varargs **)layout;\n    t[1].list_next_ = (Task *)of;\n    t[1].name_._M_dataplus._M_p = (pointer)pTVar4;\n    t[1].name_._M_string_length = (size_type)pTVar5;\n    Workqueue::queue(workqueue,t);\n  }\n  bVar11 = (undefined1 *)0xffffffef < &stack0xffffffc4;\n  bVar12 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar2 = 5;\n  pbVar8 = (byte *)(options->build_id_).value;\n  pbVar10 = &DAT_00287726;\n  do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar11 = *pbVar8 < *pbVar10;\n    bVar12 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1;\n  } while (bVar12);\n  if ((!bVar11 && !bVar12) == bVar11) {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x10);\n    *pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x18);\n    pp_Var6[4] = (_func_int_varargs *)0x0;\n    pp_Var6[5] = (_func_int_varargs *)0x0;\n    *pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n  }\n  pTVar4[1].name_._M_dataplus._M_p = pcVar7;\n  Workqueue::queue(workqueue,pTVar4);\n  return;\n}\n\n" comment comment comment (function_definition "void gold::queue_final_tasks\n               (General_options *options,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Workqueue *workqueue,Output_file *of)\n\n{\n  Relobj *pRVar1;\n  int iVar2;\n  pointer pcVar3;\n  Task *pTVar4;\n  Task *pTVar5;\n  _func_int_varargs **pp_Var6;\n  Task *t;\n  char *pcVar7;\n  byte *pbVar8;\n  pointer ppRVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  pointer local_2c;\n  \n  bVar13 = 0;\n  if (parameters->timer_ != (Timer *)0x0) {\n    Timer::stamp(parameters->timer_,1);\n  }\n  iVar2 = (options->thread_count_final_).value;\n  if ((iVar2 == 0) &&\n     (iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2)) {\n    iVar2 = 2;\n  }\n  Workqueue::set_thread_count(workqueue,iVar2);\n  bVar11 = layout->any_postprocessing_sections_;\n  local_2c = (pointer)0x0;\n  if (bVar11 == false) {\n    local_2c = (pointer)operator_new(0x14);\n    *local_2c = '\x01';\n    local_2c[8] = '\0';\n    local_2c[9] = '\0';\n    local_2c[10] = '\0';\n    local_2c[0xb] = '\0';\n    local_2c[0xc] = '\0';\n    local_2c[0xd] = '\0';\n    local_2c[0xe] = '\0';\n    local_2c[0xf] = '\0';\n    local_2c[0x10] = '\0';\n    local_2c[0x11] = '\0';\n    local_2c[0x12] = '\0';\n    local_2c[0x13] = '\0';\n    *(int *)(local_2c + 4) =\n         ((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1;\n  }\n  pcVar3 = (pointer)operator_new(0x14);\n  *pcVar3 = '\x01';\n  pcVar3[8] = '\0';\n  pcVar3[9] = '\0';\n  pcVar3[10] = '\0';\n  pcVar3[0xb] = '\0';\n  pcVar3[0xc] = '\0';\n  pcVar3[0xd] = '\0';\n  pcVar3[0xe] = '\0';\n  pcVar3[0xf] = '\0';\n  pcVar3[0x10] = '\0';\n  pcVar3[0x11] = '\0';\n  pcVar3[0x12] = '\0';\n  pcVar3[0x13] = '\0';\n  pcVar3[4] = '\x01';\n  pcVar3[5] = '\0';\n  pcVar3[6] = '\0';\n  pcVar3[7] = '\0';\n  pTVar4 = (Task *)operator_new(0x14);\n  *(undefined1 *)&pTVar4->_vptr_Task = 1;\n  (pTVar4->name_)._M_dataplus._M_p = (pointer)0x0;\n  (pTVar4->name_)._M_string_length = 0;\n  (pTVar4->name_).field_2._M_allocated_capacity = 0;\n  iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n          2;\n  pTVar5 = (Task *)(iVar2 + 3);\n  if (bVar11 == false) {\n    pTVar5 = (Task *)(iVar2 + 4);\n  }\n  pTVar4->list_next_ = pTVar5;\n  pTVar5 = (Task *)operator_new(0x3c);\n  pTVar5->list_next_ = (Task *)0x0;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  (pTVar5->name_)._M_string_length = 0;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_symbols_task_0038340c;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5[1].list_next_ = (Task *)symtab;\n  pTVar5[1].name_._M_dataplus._M_p = (pointer)&layout->sympool_;\n  pTVar5->should_run_soon_ = false;\n  pTVar5[1].name_._M_string_length = (size_type)&layout->dynpool_;\n  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)of;\n  *(Task **)((int)&pTVar5[1].name_.field_2 + 4) = pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  pTVar5 = (Task *)operator_new(0x38);\n  pTVar5[1].name_._M_dataplus._M_p = pcVar3;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1].list_next_ = (Task *)of;\n  pTVar5->list_next_ = (Task *)0x0;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_sections_task_003833cc;\n  (pTVar5->name_)._M_string_length = 0;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5->should_run_soon_ = false;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  pTVar5[1].name_._M_string_length = (size_type)local_2c;\n  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  pTVar5 = (Task *)operator_new(0x34);\n  pTVar5->list_next_ = (Task *)0x0;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  (pTVar5->name_)._M_string_length = 0;\n  pTVar5[1].list_next_ = (Task *)symtab;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5->should_run_soon_ = false;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_data_task_003833ec;\n  pTVar5[1].name_._M_dataplus._M_p = (pointer)of;\n  pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;\n  if (ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    do {\n      pRVar1 = *ppRVar9;\n      ppRVar9 = ppRVar9 + 1;\n      pTVar5 = (Task *)operator_new(0x40);\n      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;\n      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n      pTVar5[1].name_._M_string_length = (size_type)of;\n      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;\n      pTVar5->list_next_ = (Task *)0x0;\n      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;\n      (pTVar5->name_)._M_string_length = 0;\n      (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n      pTVar5->should_run_soon_ = false;\n      pTVar5[1].list_next_ = (Task *)layout;\n      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;\n      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;\n      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;\n      Workqueue::queue(workqueue,pTVar5);\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9);\n  }\n  if (bVar11 == false) {\n    pTVar5 = (Task *)operator_new(0x34);\n    pTVar5->list_next_ = (Task *)0x0;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n    pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    pTVar5->should_run_soon_ = false;\n    pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n    pTVar5[1].list_next_ = (Task *)of;\n    pTVar5[1].name_._M_dataplus._M_p = local_2c;\n    pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n    Workqueue::queue(workqueue,pTVar5);\n    pTVar5 = pTVar4;\n  }\n  else {\n    pTVar5 = (Task *)operator_new(0x14);\n    *(undefined1 *)&pTVar5->_vptr_Task = 1;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_allocated_capacity = 0;\n    pTVar5->list_next_ = (Task *)0x1;\n    t = (Task *)operator_new(0x34);\n    t->list_next_ = (Task *)0x0;\n    (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n    (t->name_)._M_string_length = 0;\n    (t->name_).field_2._M_local_buf[0] = '\0';\n    t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    t->should_run_soon_ = false;\n    t[1]._vptr_Task = (_func_int_varargs **)layout;\n    t[1].list_next_ = (Task *)of;\n    t[1].name_._M_dataplus._M_p = (pointer)pTVar4;\n    t[1].name_._M_string_length = (size_type)pTVar5;\n    Workqueue::queue(workqueue,t);\n  }\n  bVar11 = (undefined1 *)0xffffffef < &stack0xffffffc4;\n  bVar12 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar2 = 5;\n  pbVar8 = (byte *)(options->build_id_).value;\n  pbVar10 = &DAT_00287726;\n  do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar11 = *pbVar8 < *pbVar10;\n    bVar12 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1;\n  } while (bVar12);\n  if ((!bVar11 && !bVar12) == bVar11) {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x10);\n    *pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x18);\n    pp_Var6[4] = (_func_int_varargs *)0x0;\n    pp_Var6[5] = (_func_int_varargs *)0x0;\n    *pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n  }\n  pTVar4[1].name_._M_dataplus._M_p = pcVar7;\n  Workqueue::queue(workqueue,pTVar4);\n  return;\n}" primitive_type (ERROR "gold::" identifier : :) (function_declarator "queue_final_tasks\n               (General_options *options,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Workqueue *workqueue,Output_file *of)" identifier (parameter_list "(General_options *options,Input_objects *input_objects,Symbol_table *symtab,\n               Layout *layout,Workqueue *workqueue,Output_file *of)" ( (parameter_declaration "General_options *options" type_identifier (pointer_declarator "*options" * 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 "Workqueue *workqueue" type_identifier (pointer_declarator "*workqueue" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) (compound_statement "{\n  Relobj *pRVar1;\n  int iVar2;\n  pointer pcVar3;\n  Task *pTVar4;\n  Task *pTVar5;\n  _func_int_varargs **pp_Var6;\n  Task *t;\n  char *pcVar7;\n  byte *pbVar8;\n  pointer ppRVar9;\n  byte *pbVar10;\n  bool bVar11;\n  bool bVar12;\n  byte bVar13;\n  pointer local_2c;\n  \n  bVar13 = 0;\n  if (parameters->timer_ != (Timer *)0x0) {\n    Timer::stamp(parameters->timer_,1);\n  }\n  iVar2 = (options->thread_count_final_).value;\n  if ((iVar2 == 0) &&\n     (iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2)) {\n    iVar2 = 2;\n  }\n  Workqueue::set_thread_count(workqueue,iVar2);\n  bVar11 = layout->any_postprocessing_sections_;\n  local_2c = (pointer)0x0;\n  if (bVar11 == false) {\n    local_2c = (pointer)operator_new(0x14);\n    *local_2c = '\x01';\n    local_2c[8] = '\0';\n    local_2c[9] = '\0';\n    local_2c[10] = '\0';\n    local_2c[0xb] = '\0';\n    local_2c[0xc] = '\0';\n    local_2c[0xd] = '\0';\n    local_2c[0xe] = '\0';\n    local_2c[0xf] = '\0';\n    local_2c[0x10] = '\0';\n    local_2c[0x11] = '\0';\n    local_2c[0x12] = '\0';\n    local_2c[0x13] = '\0';\n    *(int *)(local_2c + 4) =\n         ((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1;\n  }\n  pcVar3 = (pointer)operator_new(0x14);\n  *pcVar3 = '\x01';\n  pcVar3[8] = '\0';\n  pcVar3[9] = '\0';\n  pcVar3[10] = '\0';\n  pcVar3[0xb] = '\0';\n  pcVar3[0xc] = '\0';\n  pcVar3[0xd] = '\0';\n  pcVar3[0xe] = '\0';\n  pcVar3[0xf] = '\0';\n  pcVar3[0x10] = '\0';\n  pcVar3[0x11] = '\0';\n  pcVar3[0x12] = '\0';\n  pcVar3[0x13] = '\0';\n  pcVar3[4] = '\x01';\n  pcVar3[5] = '\0';\n  pcVar3[6] = '\0';\n  pcVar3[7] = '\0';\n  pTVar4 = (Task *)operator_new(0x14);\n  *(undefined1 *)&pTVar4->_vptr_Task = 1;\n  (pTVar4->name_)._M_dataplus._M_p = (pointer)0x0;\n  (pTVar4->name_)._M_string_length = 0;\n  (pTVar4->name_).field_2._M_allocated_capacity = 0;\n  iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n          2;\n  pTVar5 = (Task *)(iVar2 + 3);\n  if (bVar11 == false) {\n    pTVar5 = (Task *)(iVar2 + 4);\n  }\n  pTVar4->list_next_ = pTVar5;\n  pTVar5 = (Task *)operator_new(0x3c);\n  pTVar5->list_next_ = (Task *)0x0;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  (pTVar5->name_)._M_string_length = 0;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_symbols_task_0038340c;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5[1].list_next_ = (Task *)symtab;\n  pTVar5[1].name_._M_dataplus._M_p = (pointer)&layout->sympool_;\n  pTVar5->should_run_soon_ = false;\n  pTVar5[1].name_._M_string_length = (size_type)&layout->dynpool_;\n  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)of;\n  *(Task **)((int)&pTVar5[1].name_.field_2 + 4) = pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  pTVar5 = (Task *)operator_new(0x38);\n  pTVar5[1].name_._M_dataplus._M_p = pcVar3;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1].list_next_ = (Task *)of;\n  pTVar5->list_next_ = (Task *)0x0;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_sections_task_003833cc;\n  (pTVar5->name_)._M_string_length = 0;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5->should_run_soon_ = false;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  pTVar5[1].name_._M_string_length = (size_type)local_2c;\n  pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  pTVar5 = (Task *)operator_new(0x34);\n  pTVar5->list_next_ = (Task *)0x0;\n  (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n  pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n  (pTVar5->name_)._M_string_length = 0;\n  pTVar5[1].list_next_ = (Task *)symtab;\n  (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n  pTVar5->should_run_soon_ = false;\n  pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_data_task_003833ec;\n  pTVar5[1].name_._M_dataplus._M_p = (pointer)of;\n  pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n  Workqueue::queue(workqueue,pTVar5);\n  ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;\n  if (ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    do {\n      pRVar1 = *ppRVar9;\n      ppRVar9 = ppRVar9 + 1;\n      pTVar5 = (Task *)operator_new(0x40);\n      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;\n      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n      pTVar5[1].name_._M_string_length = (size_type)of;\n      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;\n      pTVar5->list_next_ = (Task *)0x0;\n      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;\n      (pTVar5->name_)._M_string_length = 0;\n      (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n      pTVar5->should_run_soon_ = false;\n      pTVar5[1].list_next_ = (Task *)layout;\n      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;\n      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;\n      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;\n      Workqueue::queue(workqueue,pTVar5);\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9);\n  }\n  if (bVar11 == false) {\n    pTVar5 = (Task *)operator_new(0x34);\n    pTVar5->list_next_ = (Task *)0x0;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n    pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    pTVar5->should_run_soon_ = false;\n    pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n    pTVar5[1].list_next_ = (Task *)of;\n    pTVar5[1].name_._M_dataplus._M_p = local_2c;\n    pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n    Workqueue::queue(workqueue,pTVar5);\n    pTVar5 = pTVar4;\n  }\n  else {\n    pTVar5 = (Task *)operator_new(0x14);\n    *(undefined1 *)&pTVar5->_vptr_Task = 1;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_allocated_capacity = 0;\n    pTVar5->list_next_ = (Task *)0x1;\n    t = (Task *)operator_new(0x34);\n    t->list_next_ = (Task *)0x0;\n    (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n    (t->name_)._M_string_length = 0;\n    (t->name_).field_2._M_local_buf[0] = '\0';\n    t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    t->should_run_soon_ = false;\n    t[1]._vptr_Task = (_func_int_varargs **)layout;\n    t[1].list_next_ = (Task *)of;\n    t[1].name_._M_dataplus._M_p = (pointer)pTVar4;\n    t[1].name_._M_string_length = (size_type)pTVar5;\n    Workqueue::queue(workqueue,t);\n  }\n  bVar11 = (undefined1 *)0xffffffef < &stack0xffffffc4;\n  bVar12 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar2 = 5;\n  pbVar8 = (byte *)(options->build_id_).value;\n  pbVar10 = &DAT_00287726;\n  do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar11 = *pbVar8 < *pbVar10;\n    bVar12 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1;\n  } while (bVar12);\n  if ((!bVar11 && !bVar12) == bVar11) {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x10);\n    *pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x18);\n    pp_Var6[4] = (_func_int_varargs *)0x0;\n    pp_Var6[5] = (_func_int_varargs *)0x0;\n    *pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n  }\n  pTVar4[1].name_._M_dataplus._M_p = pcVar7;\n  Workqueue::queue(workqueue,pTVar4);\n  return;\n}" { (declaration "Relobj *pRVar1;" type_identifier (pointer_declarator "*pRVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "pointer pcVar3;" type_identifier identifier ;) (declaration "Task *pTVar4;" type_identifier (pointer_declarator "*pTVar4" * identifier) ;) (declaration "Task *pTVar5;" type_identifier (pointer_declarator "*pTVar5" * identifier) ;) (declaration "_func_int_varargs **pp_Var6;" type_identifier (pointer_declarator "**pp_Var6" * (pointer_declarator "*pp_Var6" * identifier)) ;) (declaration "Task *t;" type_identifier (pointer_declarator "*t" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "pointer ppRVar9;" type_identifier identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "pointer local_2c;" type_identifier identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (if_statement "if (parameters->timer_ != (Timer *)0x0) {\n    Timer::stamp(parameters->timer_,1);\n  }" if (parenthesized_expression "(parameters->timer_ != (Timer *)0x0)" ( (binary_expression "parameters->timer_ != (Timer *)0x0" (field_expression "parameters->timer_" identifier -> field_identifier) != (cast_expression "(Timer *)0x0" ( (type_descriptor "Timer *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    Timer::stamp(parameters->timer_,1);\n  }" { (labeled_statement "Timer::stamp(parameters->timer_,1);" statement_identifier : (ERROR ":" :) (expression_statement "stamp(parameters->timer_,1);" (call_expression "stamp(parameters->timer_,1)" identifier (argument_list "(parameters->timer_,1)" ( (field_expression "parameters->timer_" identifier -> field_identifier) , number_literal ))) ;)) })) (expression_statement "iVar2 = (options->thread_count_final_).value;" (assignment_expression "iVar2 = (options->thread_count_final_).value" identifier = (field_expression "(options->thread_count_final_).value" (parenthesized_expression "(options->thread_count_final_)" ( (field_expression "options->thread_count_final_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((iVar2 == 0) &&\n     (iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2)) {\n    iVar2 = 2;\n  }" if (parenthesized_expression "((iVar2 == 0) &&\n     (iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2))" ( (binary_expression "(iVar2 == 0) &&\n     (iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2)" (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2)" ( (comma_expression "iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2), iVar2 < 2" (assignment_expression "iVar2 = ((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2)" identifier = (binary_expression "((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2) +\n              ((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2)" (parenthesized_expression "((int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2)" ( (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start >> 2" (field_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_start" (field_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->dynobj_list_).\n                    super__Vector_base" (field_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl.\n                    _M_finish" (field_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_>._M_impl" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold::Dynobj*>_" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std::allocator<gold" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold::Dynobj*,_std" (binary_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base<gold" (cast_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->dynobj_list_).\n                    super__Vector_base" (parenthesized_expression "(input_objects->dynobj_list_)" ( (field_expression "input_objects->dynobj_list_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)(input_objects->dynobj_list_).\n                    super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->dynobj_list_).\n                    super__Vector_base" (parenthesized_expression "(input_objects->dynobj_list_)" ( (field_expression "input_objects->dynobj_list_" identifier -> field_identifier) )) . field_identifier))) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Dynobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )) + (parenthesized_expression "((int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2)" ( (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start >> 2" (field_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_start" (field_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base<gold" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish -\n               (int)(input_objects->relobj_list_).\n                    super__Vector_base" (field_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl.\n                    _M_finish" (field_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold::Relobj*,_std" (binary_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base<gold" (cast_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->relobj_list_).\n                    super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)(input_objects->relobj_list_).\n                    super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->relobj_list_).\n                    super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier))) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )))) , (binary_expression "iVar2 < 2" identifier < number_literal)) ))) )) (compound_statement "{\n    iVar2 = 2;\n  }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) })) (labeled_statement "Workqueue::set_thread_count(workqueue,iVar2);" statement_identifier : (ERROR ":" :) (expression_statement "set_thread_count(workqueue,iVar2);" (call_expression "set_thread_count(workqueue,iVar2)" identifier (argument_list "(workqueue,iVar2)" ( identifier , identifier ))) ;)) (expression_statement "bVar11 = layout->any_postprocessing_sections_;" (assignment_expression "bVar11 = layout->any_postprocessing_sections_" identifier = (field_expression "layout->any_postprocessing_sections_" identifier -> field_identifier)) ;) (expression_statement "local_2c = (pointer)0x0;" (assignment_expression "local_2c = (pointer)0x0" identifier = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (bVar11 == false) {\n    local_2c = (pointer)operator_new(0x14);\n    *local_2c = '\x01';\n    local_2c[8] = '\0';\n    local_2c[9] = '\0';\n    local_2c[10] = '\0';\n    local_2c[0xb] = '\0';\n    local_2c[0xc] = '\0';\n    local_2c[0xd] = '\0';\n    local_2c[0xe] = '\0';\n    local_2c[0xf] = '\0';\n    local_2c[0x10] = '\0';\n    local_2c[0x11] = '\0';\n    local_2c[0x12] = '\0';\n    local_2c[0x13] = '\0';\n    *(int *)(local_2c + 4) =\n         ((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1;\n  }" if (parenthesized_expression "(bVar11 == false)" ( (binary_expression "bVar11 == false" identifier == false) )) (compound_statement "{\n    local_2c = (pointer)operator_new(0x14);\n    *local_2c = '\x01';\n    local_2c[8] = '\0';\n    local_2c[9] = '\0';\n    local_2c[10] = '\0';\n    local_2c[0xb] = '\0';\n    local_2c[0xc] = '\0';\n    local_2c[0xd] = '\0';\n    local_2c[0xe] = '\0';\n    local_2c[0xf] = '\0';\n    local_2c[0x10] = '\0';\n    local_2c[0x11] = '\0';\n    local_2c[0x12] = '\0';\n    local_2c[0x13] = '\0';\n    *(int *)(local_2c + 4) =\n         ((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1;\n  }" { (expression_statement "local_2c = (pointer)operator_new(0x14);" (assignment_expression "local_2c = (pointer)operator_new(0x14)" identifier = (cast_expression "(pointer)operator_new(0x14)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "*local_2c = '\x01';" (assignment_expression "*local_2c = '\x01'" (pointer_expression "*local_2c" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_2c[8] = '\0';" (assignment_expression "local_2c[8] = '\0'" (subscript_expression "local_2c[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[9] = '\0';" (assignment_expression "local_2c[9] = '\0'" (subscript_expression "local_2c[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[10] = '\0';" (assignment_expression "local_2c[10] = '\0'" (subscript_expression "local_2c[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0xb] = '\0';" (assignment_expression "local_2c[0xb] = '\0'" (subscript_expression "local_2c[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0xc] = '\0';" (assignment_expression "local_2c[0xc] = '\0'" (subscript_expression "local_2c[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0xd] = '\0';" (assignment_expression "local_2c[0xd] = '\0'" (subscript_expression "local_2c[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0xe] = '\0';" (assignment_expression "local_2c[0xe] = '\0'" (subscript_expression "local_2c[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0xf] = '\0';" (assignment_expression "local_2c[0xf] = '\0'" (subscript_expression "local_2c[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0x10] = '\0';" (assignment_expression "local_2c[0x10] = '\0'" (subscript_expression "local_2c[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0x11] = '\0';" (assignment_expression "local_2c[0x11] = '\0'" (subscript_expression "local_2c[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0x12] = '\0';" (assignment_expression "local_2c[0x12] = '\0'" (subscript_expression "local_2c[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_2c[0x13] = '\0';" (assignment_expression "local_2c[0x13] = '\0'" (subscript_expression "local_2c[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(int *)(local_2c + 4) =\n         ((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1;" (assignment_expression "*(int *)(local_2c + 4) =\n         ((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1" (pointer_expression "*(int *)(local_2c + 4)" * (cast_expression "(int *)(local_2c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 4)" ( (binary_expression "local_2c + 4" identifier + number_literal) )))) = (binary_expression "((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2) + 1" (parenthesized_expression "((int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2)" ( (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n         2" (field_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start" (field_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base" (field_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std" (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold" (cast_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->relobj_list_).\n               super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->relobj_list_).\n               super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier))) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) )) + number_literal)) ;) })) (expression_statement "pcVar3 = (pointer)operator_new(0x14);" (assignment_expression "pcVar3 = (pointer)operator_new(0x14)" identifier = (cast_expression "(pointer)operator_new(0x14)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "*pcVar3 = '\x01';" (assignment_expression "*pcVar3 = '\x01'" (pointer_expression "*pcVar3" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar3[8] = '\0';" (assignment_expression "pcVar3[8] = '\0'" (subscript_expression "pcVar3[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[9] = '\0';" (assignment_expression "pcVar3[9] = '\0'" (subscript_expression "pcVar3[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[10] = '\0';" (assignment_expression "pcVar3[10] = '\0'" (subscript_expression "pcVar3[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0xb] = '\0';" (assignment_expression "pcVar3[0xb] = '\0'" (subscript_expression "pcVar3[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0xc] = '\0';" (assignment_expression "pcVar3[0xc] = '\0'" (subscript_expression "pcVar3[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0xd] = '\0';" (assignment_expression "pcVar3[0xd] = '\0'" (subscript_expression "pcVar3[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0xe] = '\0';" (assignment_expression "pcVar3[0xe] = '\0'" (subscript_expression "pcVar3[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0xf] = '\0';" (assignment_expression "pcVar3[0xf] = '\0'" (subscript_expression "pcVar3[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x10] = '\0';" (assignment_expression "pcVar3[0x10] = '\0'" (subscript_expression "pcVar3[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x11] = '\0';" (assignment_expression "pcVar3[0x11] = '\0'" (subscript_expression "pcVar3[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x12] = '\0';" (assignment_expression "pcVar3[0x12] = '\0'" (subscript_expression "pcVar3[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[0x13] = '\0';" (assignment_expression "pcVar3[0x13] = '\0'" (subscript_expression "pcVar3[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[4] = '\x01';" (assignment_expression "pcVar3[4] = '\x01'" (subscript_expression "pcVar3[4]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pcVar3[5] = '\0';" (assignment_expression "pcVar3[5] = '\0'" (subscript_expression "pcVar3[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[6] = '\0';" (assignment_expression "pcVar3[6] = '\0'" (subscript_expression "pcVar3[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar3[7] = '\0';" (assignment_expression "pcVar3[7] = '\0'" (subscript_expression "pcVar3[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar4 = (Task *)operator_new(0x14);" (assignment_expression "pTVar4 = (Task *)operator_new(0x14)" identifier = (cast_expression "(Task *)operator_new(0x14)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)&pTVar4->_vptr_Task = 1;" (assignment_expression "*(undefined1 *)&pTVar4->_vptr_Task = 1" (pointer_expression "*(undefined1 *)&pTVar4->_vptr_Task" * (cast_expression "(undefined1 *)&pTVar4->_vptr_Task" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar4->_vptr_Task" & (field_expression "pTVar4->_vptr_Task" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "(pTVar4->name_)._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "(pTVar4->name_)._M_dataplus._M_p = (pointer)0x0" (field_expression "(pTVar4->name_)._M_dataplus._M_p" (field_expression "(pTVar4->name_)._M_dataplus" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pTVar4->name_)._M_string_length = 0;" (assignment_expression "(pTVar4->name_)._M_string_length = 0" (field_expression "(pTVar4->name_)._M_string_length" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar4->name_).field_2._M_allocated_capacity = 0;" (assignment_expression "(pTVar4->name_).field_2._M_allocated_capacity = 0" (field_expression "(pTVar4->name_).field_2._M_allocated_capacity" (field_expression "(pTVar4->name_).field_2" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n          2;" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start >>\n          2" (field_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start" (field_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base<gold" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish -\n          (int)(input_objects->relobj_list_).\n               super__Vector_base" (field_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold::Relobj*,_std" (assignment_expression "iVar2 = (int)(input_objects->relobj_list_).\n               super__Vector_base<gold" identifier = (binary_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base<gold" (cast_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->relobj_list_).\n               super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)(input_objects->relobj_list_).\n               super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(input_objects->relobj_list_).\n               super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier))) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) ;) (expression_statement "pTVar5 = (Task *)(iVar2 + 3);" (assignment_expression "pTVar5 = (Task *)(iVar2 + 3)" identifier = (cast_expression "(Task *)(iVar2 + 3)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 3)" ( (binary_expression "iVar2 + 3" identifier + number_literal) )))) ;) (if_statement "if (bVar11 == false) {\n    pTVar5 = (Task *)(iVar2 + 4);\n  }" if (parenthesized_expression "(bVar11 == false)" ( (binary_expression "bVar11 == false" identifier == false) )) (compound_statement "{\n    pTVar5 = (Task *)(iVar2 + 4);\n  }" { (expression_statement "pTVar5 = (Task *)(iVar2 + 4);" (assignment_expression "pTVar5 = (Task *)(iVar2 + 4)" identifier = (cast_expression "(Task *)(iVar2 + 4)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) ;) })) (expression_statement "pTVar4->list_next_ = pTVar5;" (assignment_expression "pTVar4->list_next_ = pTVar5" (field_expression "pTVar4->list_next_" identifier -> field_identifier) = identifier) ;) (expression_statement "pTVar5 = (Task *)operator_new(0x3c);" (assignment_expression "pTVar5 = (Task *)operator_new(0x3c)" identifier = (cast_expression "(Task *)operator_new(0x3c)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x3c)" identifier (argument_list "(0x3c)" ( number_literal ))))) ;) (expression_statement "pTVar5->list_next_ = (Task *)0x0;" (assignment_expression "pTVar5->list_next_ = (Task *)0x0" (field_expression "pTVar5->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;" (assignment_expression "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2" (field_expression "(pTVar5->name_)._M_dataplus._M_p" (field_expression "(pTVar5->name_)._M_dataplus" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar5->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;" (assignment_expression "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout" (field_expression "pTVar5[1]._vptr_Task" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)layout" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "(pTVar5->name_)._M_string_length = 0;" (assignment_expression "(pTVar5->name_)._M_string_length = 0" (field_expression "(pTVar5->name_)._M_string_length" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_symbols_task_0038340c;" (assignment_expression "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_symbols_task_0038340c" (field_expression "pTVar5->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Write_symbols_task_0038340c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Write_symbols_task_0038340c" & identifier))) ;) (expression_statement "(pTVar5->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar5->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar5->name_).field_2._M_local_buf[0]" (field_expression "(pTVar5->name_).field_2._M_local_buf" (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar5[1].list_next_ = (Task *)symtab;" (assignment_expression "pTVar5[1].list_next_ = (Task *)symtab" (field_expression "pTVar5[1].list_next_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)symtab" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTVar5[1].name_._M_dataplus._M_p = (pointer)&layout->sympool_;" (assignment_expression "pTVar5[1].name_._M_dataplus._M_p = (pointer)&layout->sympool_" (field_expression "pTVar5[1].name_._M_dataplus._M_p" (field_expression "pTVar5[1].name_._M_dataplus" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&layout->sympool_" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "layout->sympool_" identifier -> field_identifier))) ;) (expression_statement "pTVar5->should_run_soon_ = false;" (assignment_expression "pTVar5->should_run_soon_ = false" (field_expression "pTVar5->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar5[1].name_._M_string_length = (size_type)&layout->dynpool_;" (assignment_expression "pTVar5[1].name_._M_string_length = (size_type)&layout->dynpool_" (field_expression "pTVar5[1].name_._M_string_length" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (binary_expression "(size_type)&layout->dynpool_" (parenthesized_expression "(size_type)" ( identifier )) & (field_expression "layout->dynpool_" identifier -> field_identifier))) ;) (expression_statement "pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)of;" (assignment_expression "pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)of" (field_expression "pTVar5[1].name_.field_2._M_allocated_capacity" (field_expression "pTVar5[1].name_.field_2" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)of" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "*(Task **)((int)&pTVar5[1].name_.field_2 + 4) = pTVar4;" (assignment_expression "*(Task **)((int)&pTVar5[1].name_.field_2 + 4) = pTVar4" (pointer_expression "*(Task **)((int)&pTVar5[1].name_.field_2 + 4)" * (cast_expression "(Task **)((int)&pTVar5[1].name_.field_2 + 4)" ( (type_descriptor "Task **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pTVar5[1].name_.field_2 + 4)" ( (binary_expression "(int)&pTVar5[1].name_.field_2 + 4" (cast_expression "(int)&pTVar5[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar5[1].name_.field_2" & (field_expression "pTVar5[1].name_.field_2" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (labeled_statement "Workqueue::queue(workqueue,pTVar5);" statement_identifier : (ERROR ":" :) (expression_statement "queue(workqueue,pTVar5);" (call_expression "queue(workqueue,pTVar5)" identifier (argument_list "(workqueue,pTVar5)" ( identifier , identifier ))) ;)) (expression_statement "pTVar5 = (Task *)operator_new(0x38);" (assignment_expression "pTVar5 = (Task *)operator_new(0x38)" identifier = (cast_expression "(Task *)operator_new(0x38)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x38)" identifier (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "pTVar5[1].name_._M_dataplus._M_p = pcVar3;" (assignment_expression "pTVar5[1].name_._M_dataplus._M_p = pcVar3" (field_expression "pTVar5[1].name_._M_dataplus._M_p" (field_expression "pTVar5[1].name_._M_dataplus" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;" (assignment_expression "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2" (field_expression "(pTVar5->name_)._M_dataplus._M_p" (field_expression "(pTVar5->name_)._M_dataplus" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar5->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar5[1].list_next_ = (Task *)of;" (assignment_expression "pTVar5[1].list_next_ = (Task *)of" (field_expression "pTVar5[1].list_next_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)of" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTVar5->list_next_ = (Task *)0x0;" (assignment_expression "pTVar5->list_next_ = (Task *)0x0" (field_expression "pTVar5->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_sections_task_003833cc;" (assignment_expression "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_sections_task_003833cc" (field_expression "pTVar5->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Write_sections_task_003833cc" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Write_sections_task_003833cc" & identifier))) ;) (expression_statement "(pTVar5->name_)._M_string_length = 0;" (assignment_expression "(pTVar5->name_)._M_string_length = 0" (field_expression "(pTVar5->name_)._M_string_length" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar5->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar5->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar5->name_).field_2._M_local_buf[0]" (field_expression "(pTVar5->name_).field_2._M_local_buf" (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar5->should_run_soon_ = false;" (assignment_expression "pTVar5->should_run_soon_ = false" (field_expression "pTVar5->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;" (assignment_expression "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout" (field_expression "pTVar5[1]._vptr_Task" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)layout" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pTVar5[1].name_._M_string_length = (size_type)local_2c;" (assignment_expression "pTVar5[1].name_._M_string_length = (size_type)local_2c" (field_expression "pTVar5[1].name_._M_string_length" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)local_2c" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)pTVar4;" (assignment_expression "pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)pTVar4" (field_expression "pTVar5[1].name_.field_2._M_allocated_capacity" (field_expression "pTVar5[1].name_.field_2" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)pTVar4" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "Workqueue::queue(workqueue,pTVar5);" statement_identifier : (ERROR ":" :) (expression_statement "queue(workqueue,pTVar5);" (call_expression "queue(workqueue,pTVar5)" identifier (argument_list "(workqueue,pTVar5)" ( identifier , identifier ))) ;)) (expression_statement "pTVar5 = (Task *)operator_new(0x34);" (assignment_expression "pTVar5 = (Task *)operator_new(0x34)" identifier = (cast_expression "(Task *)operator_new(0x34)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x34)" identifier (argument_list "(0x34)" ( number_literal ))))) ;) (expression_statement "pTVar5->list_next_ = (Task *)0x0;" (assignment_expression "pTVar5->list_next_ = (Task *)0x0" (field_expression "pTVar5->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;" (assignment_expression "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2" (field_expression "(pTVar5->name_)._M_dataplus._M_p" (field_expression "(pTVar5->name_)._M_dataplus" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar5->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;" (assignment_expression "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout" (field_expression "pTVar5[1]._vptr_Task" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)layout" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "(pTVar5->name_)._M_string_length = 0;" (assignment_expression "(pTVar5->name_)._M_string_length = 0" (field_expression "(pTVar5->name_)._M_string_length" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pTVar5[1].list_next_ = (Task *)symtab;" (assignment_expression "pTVar5[1].list_next_ = (Task *)symtab" (field_expression "pTVar5[1].list_next_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)symtab" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pTVar5->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar5->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar5->name_).field_2._M_local_buf[0]" (field_expression "(pTVar5->name_).field_2._M_local_buf" (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar5->should_run_soon_ = false;" (assignment_expression "pTVar5->should_run_soon_ = false" (field_expression "pTVar5->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_data_task_003833ec;" (assignment_expression "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_data_task_003833ec" (field_expression "pTVar5->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Write_data_task_003833ec" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Write_data_task_003833ec" & identifier))) ;) (expression_statement "pTVar5[1].name_._M_dataplus._M_p = (pointer)of;" (assignment_expression "pTVar5[1].name_._M_dataplus._M_p = (pointer)of" (field_expression "pTVar5[1].name_._M_dataplus._M_p" (field_expression "pTVar5[1].name_._M_dataplus" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)of" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "pTVar5[1].name_._M_string_length = (size_type)pTVar4;" (assignment_expression "pTVar5[1].name_._M_string_length = (size_type)pTVar4" (field_expression "pTVar5[1].name_._M_string_length" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)pTVar4" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "Workqueue::queue(workqueue,pTVar5);" statement_identifier : (ERROR ":" :) (expression_statement "queue(workqueue,pTVar5);" (call_expression "queue(workqueue,pTVar5)" identifier (argument_list "(workqueue,pTVar5)" ( identifier , identifier ))) ;)) (expression_statement "ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start;" (field_expression "ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_start" (field_expression "ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold::Relobj*,_std" (assignment_expression "ppRVar9 = (input_objects->relobj_list_).\n            super__Vector_base<gold" identifier = (binary_expression "(input_objects->relobj_list_).\n            super__Vector_base<gold" (field_expression "(input_objects->relobj_list_).\n            super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish) {\n    do {\n      pRVar1 = *ppRVar9;\n      ppRVar9 = ppRVar9 + 1;\n      pTVar5 = (Task *)operator_new(0x40);\n      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;\n      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n      pTVar5[1].name_._M_string_length = (size_type)of;\n      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;\n      pTVar5->list_next_ = (Task *)0x0;\n      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;\n      (pTVar5->name_)._M_string_length = 0;\n      (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n      pTVar5->should_run_soon_ = false;\n      pTVar5[1].list_next_ = (Task *)layout;\n      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;\n      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;\n      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;\n      Workqueue::queue(workqueue,pTVar5);\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9);\n  }" if (parenthesized_expression "(ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish)" ( (field_expression "ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold::Relobj*,_std" (binary_expression "ppRVar9 !=\n      (input_objects->relobj_list_).\n      super__Vector_base<gold" identifier != (binary_expression "(input_objects->relobj_list_).\n      super__Vector_base<gold" (field_expression "(input_objects->relobj_list_).\n      super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    do {\n      pRVar1 = *ppRVar9;\n      ppRVar9 = ppRVar9 + 1;\n      pTVar5 = (Task *)operator_new(0x40);\n      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;\n      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n      pTVar5[1].name_._M_string_length = (size_type)of;\n      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;\n      pTVar5->list_next_ = (Task *)0x0;\n      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;\n      (pTVar5->name_)._M_string_length = 0;\n      (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n      pTVar5->should_run_soon_ = false;\n      pTVar5[1].list_next_ = (Task *)layout;\n      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;\n      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;\n      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;\n      Workqueue::queue(workqueue,pTVar5);\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9);\n  }" { (do_statement "do {\n      pRVar1 = *ppRVar9;\n      ppRVar9 = ppRVar9 + 1;\n      pTVar5 = (Task *)operator_new(0x40);\n      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;\n      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n      pTVar5[1].name_._M_string_length = (size_type)of;\n      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;\n      pTVar5->list_next_ = (Task *)0x0;\n      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;\n      (pTVar5->name_)._M_string_length = 0;\n      (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n      pTVar5->should_run_soon_ = false;\n      pTVar5[1].list_next_ = (Task *)layout;\n      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;\n      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;\n      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;\n      Workqueue::queue(workqueue,pTVar5);\n    } while ((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9);" do (compound_statement "{\n      pRVar1 = *ppRVar9;\n      ppRVar9 = ppRVar9 + 1;\n      pTVar5 = (Task *)operator_new(0x40);\n      pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;\n      (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n      pTVar5[1].name_._M_string_length = (size_type)of;\n      pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;\n      pTVar5->list_next_ = (Task *)0x0;\n      pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;\n      (pTVar5->name_)._M_string_length = 0;\n      (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n      pTVar5->should_run_soon_ = false;\n      pTVar5[1].list_next_ = (Task *)layout;\n      pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;\n      *(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;\n      *(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;\n      Workqueue::queue(workqueue,pTVar5);\n    }" { (expression_statement "pRVar1 = *ppRVar9;" (assignment_expression "pRVar1 = *ppRVar9" identifier = (pointer_expression "*ppRVar9" * identifier)) ;) (expression_statement "ppRVar9 = ppRVar9 + 1;" (assignment_expression "ppRVar9 = ppRVar9 + 1" identifier = (binary_expression "ppRVar9 + 1" identifier + number_literal)) ;) (expression_statement "pTVar5 = (Task *)operator_new(0x40);" (assignment_expression "pTVar5 = (Task *)operator_new(0x40)" identifier = (cast_expression "(Task *)operator_new(0x40)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1;" (assignment_expression "pTVar5[1].name_._M_dataplus._M_p = (pointer)pRVar1" (field_expression "pTVar5[1].name_._M_dataplus._M_p" (field_expression "pTVar5[1].name_._M_dataplus" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)pRVar1" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;" (assignment_expression "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2" (field_expression "(pTVar5->name_)._M_dataplus._M_p" (field_expression "(pTVar5->name_)._M_dataplus" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar5->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar5[1].name_._M_string_length = (size_type)of;" (assignment_expression "pTVar5[1].name_._M_string_length = (size_type)of" (field_expression "pTVar5[1].name_._M_string_length" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)of" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0;" (assignment_expression "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Relocate_task_00384ef0" (field_expression "pTVar5->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Relocate_task_00384ef0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Relocate_task_00384ef0" & identifier))) ;) (expression_statement "pTVar5->list_next_ = (Task *)0x0;" (assignment_expression "pTVar5->list_next_ = (Task *)0x0" (field_expression "pTVar5->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab;" (assignment_expression "pTVar5[1]._vptr_Task = (_func_int_varargs **)symtab" (field_expression "pTVar5[1]._vptr_Task" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)symtab" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "(pTVar5->name_)._M_string_length = 0;" (assignment_expression "(pTVar5->name_)._M_string_length = 0" (field_expression "(pTVar5->name_)._M_string_length" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar5->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar5->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar5->name_).field_2._M_local_buf[0]" (field_expression "(pTVar5->name_).field_2._M_local_buf" (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar5->should_run_soon_ = false;" (assignment_expression "pTVar5->should_run_soon_ = false" (field_expression "pTVar5->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar5[1].list_next_ = (Task *)layout;" (assignment_expression "pTVar5[1].list_next_ = (Task *)layout" (field_expression "pTVar5[1].list_next_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)layout" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c;" (assignment_expression "pTVar5[1].name_.field_2._M_allocated_capacity = (size_type)local_2c" (field_expression "pTVar5[1].name_.field_2._M_allocated_capacity" (field_expression "pTVar5[1].name_.field_2" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)local_2c" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "*(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;" (assignment_expression "*(pointer *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3" (pointer_expression "*(pointer *)((int)&pTVar5[1].name_.field_2 + 4)" * (cast_expression "(pointer *)((int)&pTVar5[1].name_.field_2 + 4)" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar5[1].name_.field_2 + 4)" ( (binary_expression "(int)&pTVar5[1].name_.field_2 + 4" (cast_expression "(int)&pTVar5[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar5[1].name_.field_2" & (field_expression "pTVar5[1].name_.field_2" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;" (assignment_expression "*(Task **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4" (pointer_expression "*(Task **)((int)&pTVar5[1].name_.field_2 + 8)" * (cast_expression "(Task **)((int)&pTVar5[1].name_.field_2 + 8)" ( (type_descriptor "Task **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pTVar5[1].name_.field_2 + 8)" ( (binary_expression "(int)&pTVar5[1].name_.field_2 + 8" (cast_expression "(int)&pTVar5[1].name_.field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar5[1].name_.field_2" & (field_expression "pTVar5[1].name_.field_2" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (labeled_statement "Workqueue::queue(workqueue,pTVar5);" statement_identifier : (ERROR ":" :) (expression_statement "queue(workqueue,pTVar5);" (call_expression "queue(workqueue,pTVar5)" identifier (argument_list "(workqueue,pTVar5)" ( identifier , identifier ))) ;)) }) while (parenthesized_expression "((input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9)" ( (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish !=\n             ppRVar9" (field_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl._M_finish" (field_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_>._M_impl" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold::Relobj*>_" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std::allocator<gold" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold::Relobj*,_std" (binary_expression "(input_objects->relobj_list_).\n             super__Vector_base<gold" (field_expression "(input_objects->relobj_list_).\n             super__Vector_base" (parenthesized_expression "(input_objects->relobj_list_)" ( (field_expression "input_objects->relobj_list_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != identifier) )) ;) })) (if_statement "if (bVar11 == false) {\n    pTVar5 = (Task *)operator_new(0x34);\n    pTVar5->list_next_ = (Task *)0x0;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n    pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    pTVar5->should_run_soon_ = false;\n    pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n    pTVar5[1].list_next_ = (Task *)of;\n    pTVar5[1].name_._M_dataplus._M_p = local_2c;\n    pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n    Workqueue::queue(workqueue,pTVar5);\n    pTVar5 = pTVar4;\n  }\n  else {\n    pTVar5 = (Task *)operator_new(0x14);\n    *(undefined1 *)&pTVar5->_vptr_Task = 1;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_allocated_capacity = 0;\n    pTVar5->list_next_ = (Task *)0x1;\n    t = (Task *)operator_new(0x34);\n    t->list_next_ = (Task *)0x0;\n    (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n    (t->name_)._M_string_length = 0;\n    (t->name_).field_2._M_local_buf[0] = '\0';\n    t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    t->should_run_soon_ = false;\n    t[1]._vptr_Task = (_func_int_varargs **)layout;\n    t[1].list_next_ = (Task *)of;\n    t[1].name_._M_dataplus._M_p = (pointer)pTVar4;\n    t[1].name_._M_string_length = (size_type)pTVar5;\n    Workqueue::queue(workqueue,t);\n  }" if (parenthesized_expression "(bVar11 == false)" ( (binary_expression "bVar11 == false" identifier == false) )) (compound_statement "{\n    pTVar5 = (Task *)operator_new(0x34);\n    pTVar5->list_next_ = (Task *)0x0;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_local_buf[0] = '\0';\n    pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    pTVar5->should_run_soon_ = false;\n    pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;\n    pTVar5[1].list_next_ = (Task *)of;\n    pTVar5[1].name_._M_dataplus._M_p = local_2c;\n    pTVar5[1].name_._M_string_length = (size_type)pTVar4;\n    Workqueue::queue(workqueue,pTVar5);\n    pTVar5 = pTVar4;\n  }" { (expression_statement "pTVar5 = (Task *)operator_new(0x34);" (assignment_expression "pTVar5 = (Task *)operator_new(0x34)" identifier = (cast_expression "(Task *)operator_new(0x34)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x34)" identifier (argument_list "(0x34)" ( number_literal ))))) ;) (expression_statement "pTVar5->list_next_ = (Task *)0x0;" (assignment_expression "pTVar5->list_next_ = (Task *)0x0" (field_expression "pTVar5->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2;" (assignment_expression "(pTVar5->name_)._M_dataplus._M_p = (pointer)&(pTVar5->name_).field_2" (field_expression "(pTVar5->name_)._M_dataplus._M_p" (field_expression "(pTVar5->name_)._M_dataplus" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar5->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "(pTVar5->name_)._M_string_length = 0;" (assignment_expression "(pTVar5->name_)._M_string_length = 0" (field_expression "(pTVar5->name_)._M_string_length" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar5->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar5->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar5->name_).field_2._M_local_buf[0]" (field_expression "(pTVar5->name_).field_2._M_local_buf" (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;" (assignment_expression "pTVar5->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c" (field_expression "pTVar5->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Write_after_input_sections_task_0038342c" & identifier))) ;) (expression_statement "pTVar5->should_run_soon_ = false;" (assignment_expression "pTVar5->should_run_soon_ = false" (field_expression "pTVar5->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout;" (assignment_expression "pTVar5[1]._vptr_Task = (_func_int_varargs **)layout" (field_expression "pTVar5[1]._vptr_Task" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)layout" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pTVar5[1].list_next_ = (Task *)of;" (assignment_expression "pTVar5[1].list_next_ = (Task *)of" (field_expression "pTVar5[1].list_next_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)of" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTVar5[1].name_._M_dataplus._M_p = local_2c;" (assignment_expression "pTVar5[1].name_._M_dataplus._M_p = local_2c" (field_expression "pTVar5[1].name_._M_dataplus._M_p" (field_expression "pTVar5[1].name_._M_dataplus" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pTVar5[1].name_._M_string_length = (size_type)pTVar4;" (assignment_expression "pTVar5[1].name_._M_string_length = (size_type)pTVar4" (field_expression "pTVar5[1].name_._M_string_length" (field_expression "pTVar5[1].name_" (subscript_expression "pTVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)pTVar4" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "Workqueue::queue(workqueue,pTVar5);" statement_identifier : (ERROR ":" :) (expression_statement "queue(workqueue,pTVar5);" (call_expression "queue(workqueue,pTVar5)" identifier (argument_list "(workqueue,pTVar5)" ( identifier , identifier ))) ;)) (expression_statement "pTVar5 = pTVar4;" (assignment_expression "pTVar5 = pTVar4" identifier = identifier) ;) }) (else_clause "else {\n    pTVar5 = (Task *)operator_new(0x14);\n    *(undefined1 *)&pTVar5->_vptr_Task = 1;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_allocated_capacity = 0;\n    pTVar5->list_next_ = (Task *)0x1;\n    t = (Task *)operator_new(0x34);\n    t->list_next_ = (Task *)0x0;\n    (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n    (t->name_)._M_string_length = 0;\n    (t->name_).field_2._M_local_buf[0] = '\0';\n    t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    t->should_run_soon_ = false;\n    t[1]._vptr_Task = (_func_int_varargs **)layout;\n    t[1].list_next_ = (Task *)of;\n    t[1].name_._M_dataplus._M_p = (pointer)pTVar4;\n    t[1].name_._M_string_length = (size_type)pTVar5;\n    Workqueue::queue(workqueue,t);\n  }" else (compound_statement "{\n    pTVar5 = (Task *)operator_new(0x14);\n    *(undefined1 *)&pTVar5->_vptr_Task = 1;\n    (pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;\n    (pTVar5->name_)._M_string_length = 0;\n    (pTVar5->name_).field_2._M_allocated_capacity = 0;\n    pTVar5->list_next_ = (Task *)0x1;\n    t = (Task *)operator_new(0x34);\n    t->list_next_ = (Task *)0x0;\n    (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n    (t->name_)._M_string_length = 0;\n    (t->name_).field_2._M_local_buf[0] = '\0';\n    t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;\n    t->should_run_soon_ = false;\n    t[1]._vptr_Task = (_func_int_varargs **)layout;\n    t[1].list_next_ = (Task *)of;\n    t[1].name_._M_dataplus._M_p = (pointer)pTVar4;\n    t[1].name_._M_string_length = (size_type)pTVar5;\n    Workqueue::queue(workqueue,t);\n  }" { (expression_statement "pTVar5 = (Task *)operator_new(0x14);" (assignment_expression "pTVar5 = (Task *)operator_new(0x14)" identifier = (cast_expression "(Task *)operator_new(0x14)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)&pTVar5->_vptr_Task = 1;" (assignment_expression "*(undefined1 *)&pTVar5->_vptr_Task = 1" (pointer_expression "*(undefined1 *)&pTVar5->_vptr_Task" * (cast_expression "(undefined1 *)&pTVar5->_vptr_Task" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar5->_vptr_Task" & (field_expression "pTVar5->_vptr_Task" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "(pTVar5->name_)._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "(pTVar5->name_)._M_dataplus._M_p = (pointer)0x0" (field_expression "(pTVar5->name_)._M_dataplus._M_p" (field_expression "(pTVar5->name_)._M_dataplus" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pTVar5->name_)._M_string_length = 0;" (assignment_expression "(pTVar5->name_)._M_string_length = 0" (field_expression "(pTVar5->name_)._M_string_length" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar5->name_).field_2._M_allocated_capacity = 0;" (assignment_expression "(pTVar5->name_).field_2._M_allocated_capacity = 0" (field_expression "(pTVar5->name_).field_2._M_allocated_capacity" (field_expression "(pTVar5->name_).field_2" (parenthesized_expression "(pTVar5->name_)" ( (field_expression "pTVar5->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "pTVar5->list_next_ = (Task *)0x1;" (assignment_expression "pTVar5->list_next_ = (Task *)0x1" (field_expression "pTVar5->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x1" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "t = (Task *)operator_new(0x34);" (assignment_expression "t = (Task *)operator_new(0x34)" identifier = (cast_expression "(Task *)operator_new(0x34)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x34)" identifier (argument_list "(0x34)" ( number_literal ))))) ;) (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_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->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->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c;" (assignment_expression "t->_vptr_Task = (_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c" (field_expression "t->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Write_after_input_sections_task_0038342c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Write_after_input_sections_task_0038342c" & identifier))) ;) (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]._vptr_Task = (_func_int_varargs **)layout;" (assignment_expression "t[1]._vptr_Task = (_func_int_varargs **)layout" (field_expression "t[1]._vptr_Task" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)layout" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "t[1].list_next_ = (Task *)of;" (assignment_expression "t[1].list_next_ = (Task *)of" (field_expression "t[1].list_next_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)of" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "t[1].name_._M_dataplus._M_p = (pointer)pTVar4;" (assignment_expression "t[1].name_._M_dataplus._M_p = (pointer)pTVar4" (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)pTVar4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "t[1].name_._M_string_length = (size_type)pTVar5;" (assignment_expression "t[1].name_._M_string_length = (size_type)pTVar5" (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)pTVar5" ( (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 ))) ;)) }))) (expression_statement "bVar11 = (undefined1 *)0xffffffef < &stack0xffffffc4;" (assignment_expression "bVar11 = (undefined1 *)0xffffffef < &stack0xffffffc4" identifier = (binary_expression "(undefined1 *)0xffffffef < &stack0xffffffc4" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&stack0xffffffc4" & identifier))) ;) (expression_statement "bVar12 = &stack0x00000000 == (undefined1 *)0x2c;" (assignment_expression "bVar12 = &stack0x00000000 == (undefined1 *)0x2c" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x2c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x2c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "iVar2 = 5;" (assignment_expression "iVar2 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = (byte *)(options->build_id_).value;" (assignment_expression "pbVar8 = (byte *)(options->build_id_).value" identifier = (cast_expression "(byte *)(options->build_id_).value" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(options->build_id_).value" (parenthesized_expression "(options->build_id_)" ( (field_expression "options->build_id_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pbVar10 = &DAT_00287726;" (assignment_expression "pbVar10 = &DAT_00287726" identifier = (pointer_expression "&DAT_00287726" & identifier)) ;) (do_statement "do {\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar11 = *pbVar8 < *pbVar10;\n    bVar12 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1;\n  } while (bVar12);" do (compound_statement "{\n    if (iVar2 == 0) break;\n    iVar2 = iVar2 + -1;\n    bVar11 = *pbVar8 < *pbVar10;\n    bVar12 = *pbVar8 == *pbVar10;\n    pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1;\n    pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1;\n  }" { (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = iVar2 + -1;" (assignment_expression "iVar2 = iVar2 + -1" identifier = (binary_expression "iVar2 + -1" identifier + number_literal)) ;) (expression_statement "bVar11 = *pbVar8 < *pbVar10;" (assignment_expression "bVar11 = *pbVar8 < *pbVar10" identifier = (binary_expression "*pbVar8 < *pbVar10" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "bVar12 = *pbVar8 == *pbVar10;" (assignment_expression "bVar12 = *pbVar8 == *pbVar10" identifier = (binary_expression "*pbVar8 == *pbVar10" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar10" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar13 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar13 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar13 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar13 * -2" identifier + (binary_expression "(uint)bVar13 * -2" (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar12)" ( identifier )) ;) (if_statement "if ((!bVar11 && !bVar12) == bVar11) {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x10);\n    *pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x18);\n    pp_Var6[4] = (_func_int_varargs *)0x0;\n    pp_Var6[5] = (_func_int_varargs *)0x0;\n    *pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n  }" if (parenthesized_expression "((!bVar11 && !bVar12) == bVar11)" ( (binary_expression "(!bVar11 && !bVar12) == bVar11" (parenthesized_expression "(!bVar11 && !bVar12)" ( (binary_expression "!bVar11 && !bVar12" (unary_expression "!bVar11" ! identifier) && (unary_expression "!bVar12" ! identifier)) )) == identifier) )) (compound_statement "{\n    pp_Var6 = (_func_int_varargs **)operator_new(0x10);\n    *pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }" { (expression_statement "pp_Var6 = (_func_int_varargs **)operator_new(0x10);" (assignment_expression "pp_Var6 = (_func_int_varargs **)operator_new(0x10)" identifier = (cast_expression "(_func_int_varargs **)operator_new(0x10)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "operator_new(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c;" (assignment_expression "*pp_Var6 = (_func_int_varargs *)&PTR__Build_id_task_runner_0038344c" (pointer_expression "*pp_Var6" * identifier) = (cast_expression "(_func_int_varargs *)&PTR__Build_id_task_runner_0038344c" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR__Build_id_task_runner_0038344c" & identifier))) ;) (expression_statement "pp_Var6[1] = (_func_int_varargs *)options;" (assignment_expression "pp_Var6[1] = (_func_int_varargs *)options" (subscript_expression "pp_Var6[1]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)options" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pp_Var6[2] = (_func_int_varargs *)layout;" (assignment_expression "pp_Var6[2] = (_func_int_varargs *)layout" (subscript_expression "pp_Var6[2]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)layout" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pp_Var6[3] = (_func_int_varargs *)of;" (assignment_expression "pp_Var6[3] = (_func_int_varargs *)of" (subscript_expression "pp_Var6[3]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)of" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTVar4 = (Task *)operator_new(0x30);" (assignment_expression "pTVar4 = (Task *)operator_new(0x30)" identifier = (cast_expression "(Task *)operator_new(0x30)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "pTVar4->list_next_ = (Task *)0x0;" (assignment_expression "pTVar4->list_next_ = (Task *)0x0" (field_expression "pTVar4->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar4->name_)._M_string_length = 0;" (assignment_expression "(pTVar4->name_)._M_string_length = 0" (field_expression "(pTVar4->name_)._M_string_length" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar4->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar4->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar4->name_).field_2._M_local_buf[0]" (field_expression "(pTVar4->name_).field_2._M_local_buf" (field_expression "(pTVar4->name_).field_2" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar4->should_run_soon_ = false;" (assignment_expression "pTVar4->should_run_soon_ = false" (field_expression "pTVar4->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar4[1]._vptr_Task = pp_Var6;" (assignment_expression "pTVar4[1]._vptr_Task = pp_Var6" (field_expression "pTVar4[1]._vptr_Task" (subscript_expression "pTVar4[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pTVar4[1].list_next_ = pTVar5;" (assignment_expression "pTVar4[1].list_next_ = pTVar5" (field_expression "pTVar4[1].list_next_" (subscript_expression "pTVar4[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "(pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;" (assignment_expression "(pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2" (field_expression "(pTVar4->name_)._M_dataplus._M_p" (field_expression "(pTVar4->name_)._M_dataplus" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar4->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar4->name_).field_2" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;" (assignment_expression "pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14" (field_expression "pTVar4->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Task_function_00382e14" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Task_function_00382e14" & identifier))) ;) (expression_statement "pcVar7 = "Task_function Build_id_task_runner";" (assignment_expression "pcVar7 = "Task_function Build_id_task_runner"" identifier = (string_literal ""Task_function Build_id_task_runner"" " string_content ")) ;) }) (else_clause "else {\n    pp_Var6 = (_func_int_varargs **)operator_new(0x18);\n    pp_Var6[4] = (_func_int_varargs *)0x0;\n    pp_Var6[5] = (_func_int_varargs *)0x0;\n    *pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n  }" else (compound_statement "{\n    pp_Var6 = (_func_int_varargs **)operator_new(0x18);\n    pp_Var6[4] = (_func_int_varargs *)0x0;\n    pp_Var6[5] = (_func_int_varargs *)0x0;\n    *pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;\n    pp_Var6[1] = (_func_int_varargs *)options;\n    pp_Var6[2] = (_func_int_varargs *)layout;\n    pp_Var6[3] = (_func_int_varargs *)of;\n    pTVar4 = (Task *)operator_new(0x30);\n    pTVar4->list_next_ = (Task *)0x0;\n    (pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;\n    pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    (pTVar4->name_)._M_string_length = 0;\n    (pTVar4->name_).field_2._M_local_buf[0] = '\0';\n    pTVar4->should_run_soon_ = false;\n    pTVar4[1]._vptr_Task = pp_Var6;\n    pTVar4[1].list_next_ = pTVar5;\n  }" { (expression_statement "pp_Var6 = (_func_int_varargs **)operator_new(0x18);" (assignment_expression "pp_Var6 = (_func_int_varargs **)operator_new(0x18)" identifier = (cast_expression "(_func_int_varargs **)operator_new(0x18)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "operator_new(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "pp_Var6[4] = (_func_int_varargs *)0x0;" (assignment_expression "pp_Var6[4] = (_func_int_varargs *)0x0" (subscript_expression "pp_Var6[4]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_Var6[5] = (_func_int_varargs *)0x0;" (assignment_expression "pp_Var6[5] = (_func_int_varargs *)0x0" (subscript_expression "pp_Var6[5]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460;" (assignment_expression "*pp_Var6 = (_func_int_varargs *)&PTR__Close_task_runner_00383460" (pointer_expression "*pp_Var6" * identifier) = (cast_expression "(_func_int_varargs *)&PTR__Close_task_runner_00383460" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR__Close_task_runner_00383460" & identifier))) ;) (expression_statement "pp_Var6[1] = (_func_int_varargs *)options;" (assignment_expression "pp_Var6[1] = (_func_int_varargs *)options" (subscript_expression "pp_Var6[1]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)options" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pp_Var6[2] = (_func_int_varargs *)layout;" (assignment_expression "pp_Var6[2] = (_func_int_varargs *)layout" (subscript_expression "pp_Var6[2]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)layout" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pp_Var6[3] = (_func_int_varargs *)of;" (assignment_expression "pp_Var6[3] = (_func_int_varargs *)of" (subscript_expression "pp_Var6[3]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)of" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTVar4 = (Task *)operator_new(0x30);" (assignment_expression "pTVar4 = (Task *)operator_new(0x30)" identifier = (cast_expression "(Task *)operator_new(0x30)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "pTVar4->list_next_ = (Task *)0x0;" (assignment_expression "pTVar4->list_next_ = (Task *)0x0" (field_expression "pTVar4->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2;" (assignment_expression "(pTVar4->name_)._M_dataplus._M_p = (pointer)&(pTVar4->name_).field_2" (field_expression "(pTVar4->name_)._M_dataplus._M_p" (field_expression "(pTVar4->name_)._M_dataplus" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar4->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar4->name_).field_2" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14;" (assignment_expression "pTVar4->_vptr_Task = (_func_int_varargs **)&PTR__Task_function_00382e14" (field_expression "pTVar4->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Task_function_00382e14" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Task_function_00382e14" & identifier))) ;) (expression_statement "pcVar7 = "Task_function Close_task_runner";" (assignment_expression "pcVar7 = "Task_function Close_task_runner"" identifier = (string_literal ""Task_function Close_task_runner"" " string_content ")) ;) (expression_statement "(pTVar4->name_)._M_string_length = 0;" (assignment_expression "(pTVar4->name_)._M_string_length = 0" (field_expression "(pTVar4->name_)._M_string_length" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar4->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar4->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar4->name_).field_2._M_local_buf[0]" (field_expression "(pTVar4->name_).field_2._M_local_buf" (field_expression "(pTVar4->name_).field_2" (parenthesized_expression "(pTVar4->name_)" ( (field_expression "pTVar4->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar4->should_run_soon_ = false;" (assignment_expression "pTVar4->should_run_soon_ = false" (field_expression "pTVar4->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar4[1]._vptr_Task = pp_Var6;" (assignment_expression "pTVar4[1]._vptr_Task = pp_Var6" (field_expression "pTVar4[1]._vptr_Task" (subscript_expression "pTVar4[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pTVar4[1].list_next_ = pTVar5;" (assignment_expression "pTVar4[1].list_next_ = pTVar5" (field_expression "pTVar4[1].list_next_" (subscript_expression "pTVar4[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) }))) (expression_statement "pTVar4[1].name_._M_dataplus._M_p = pcVar7;" (assignment_expression "pTVar4[1].name_._M_dataplus._M_p = pcVar7" (field_expression "pTVar4[1].name_._M_dataplus._M_p" (field_expression "pTVar4[1].name_._M_dataplus" (field_expression "pTVar4[1].name_" (subscript_expression "pTVar4[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (labeled_statement "Workqueue::queue(workqueue,pTVar4);" statement_identifier : (ERROR ":" :) (expression_statement "queue(workqueue,pTVar4);" (call_expression "queue(workqueue,pTVar4)" identifier (argument_list "(workqueue,pTVar4)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}\n\n" (function_definition "void FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}" primitive_type (function_declarator "FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)" identifier (parameter_list "(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 *puStack_38;" type_identifier (pointer_declarator "*puStack_38" * identifier) ;) (declaration "undefined1 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined1 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined **local_24;" type_identifier (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)) ;) (declaration "char local_1d;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x6abf9;" (assignment_expression "uStack_14 = 0x6abf9" identifier = number_literal) ;) (expression_statement "local_3c = *(int *)(DAT_0038f378 + 4);" (assignment_expression "local_3c = *(int *)(DAT_0038f378 + 4)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 4)" * (cast_expression "(int *)(DAT_0038f378 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 4)" ( (binary_expression "DAT_0038f378 + 4" identifier + number_literal) ))))) ;) (if_statement "if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }" if (parenthesized_expression "(local_3c != 0)" ( (binary_expression "local_3c != 0" identifier != number_literal) )) (compound_statement "{\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }" { (expression_statement "puStack_38 = (undefined4 *)0x1;" (assignment_expression "puStack_38 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_00190080();" (call_expression "FUN_00190080()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);" (assignment_expression "puStack_38 = *(undefined4 **)(param_1 + 0x3eb4)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x3eb4)" * (cast_expression "(undefined4 **)(param_1 + 0x3eb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3eb4)" ( (binary_expression "param_1 + 0x3eb4" identifier + number_literal) ))))) ;) (if_statement "if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }" if (parenthesized_expression "(puStack_38 == (undefined4 *)0x0)" ( (binary_expression "puStack_38 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }" { (expression_statement "puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));" (assignment_expression "puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" identifier = (cast_expression "(undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" ( (binary_expression "(param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2)" (parenthesized_expression "(param_2[4] - param_2[3] >> 2)" ( (binary_expression "param_2[4] - param_2[3] >> 2" (binary_expression "param_2[4] - param_2[3]" (subscript_expression "param_2[4]" identifier [ number_literal ]) - (subscript_expression "param_2[3]" identifier [ number_literal ])) >> number_literal) )) + (parenthesized_expression "(param_2[1] - *param_2 >> 2)" ( (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) - (pointer_expression "*param_2" * identifier)) >> number_literal) ))) )))) ;) (if_statement "if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }" if (parenthesized_expression "((int)puStack_38 < 2)" ( (binary_expression "(int)puStack_38 < 2" (cast_expression "(int)puStack_38" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      puStack_38 = (undefined4 *)0x2;\n    }" { (expression_statement "puStack_38 = (undefined4 *)0x2;" (assignment_expression "puStack_38 = (undefined4 *)0x2" identifier = (cast_expression "(undefined4 *)0x2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_00190d80();" (call_expression "FUN_00190d80()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_1d = *(char *)(param_4 + 0x1ca);" (assignment_expression "local_1d = *(char *)(param_4 + 0x1ca)" identifier = (pointer_expression "*(char *)(param_4 + 0x1ca)" * (cast_expression "(char *)(param_4 + 0x1ca)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x1ca)" ( (binary_expression "param_4 + 0x1ca" identifier + number_literal) ))))) ;) (expression_statement "local_2c = (undefined1 *)0x0;" (assignment_expression "local_2c = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }" if (parenthesized_expression "(local_1d == '\0')" ( (binary_expression "local_1d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }" { (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "local_2c = (undefined1 *)FUN_001e5200();" (assignment_expression "local_2c = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*local_2c = 1;" (assignment_expression "*local_2c = 1" (pointer_expression "*local_2c" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + 8) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 8) = 0" (pointer_expression "*(undefined4 *)(local_2c + 8)" * (cast_expression "(undefined4 *)(local_2c + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 8)" ( (binary_expression "local_2c + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + 0xc) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 0xc) = 0" (pointer_expression "*(undefined4 *)(local_2c + 0xc)" * (cast_expression "(undefined4 *)(local_2c + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 0xc)" ( (binary_expression "local_2c + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + 0x10) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 0x10) = 0" (pointer_expression "*(undefined4 *)(local_2c + 0x10)" * (cast_expression "(undefined4 *)(local_2c + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 0x10)" ( (binary_expression "local_2c + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;" (assignment_expression "*(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1" (pointer_expression "*(int *)(local_2c + 4)" * (cast_expression "(int *)(local_2c + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + 4)" ( (binary_expression "local_2c + 4" identifier + number_literal) )))) = (binary_expression "(param_2[1] - *param_2 >> 2) + 1" (parenthesized_expression "(param_2[1] - *param_2 >> 2)" ( (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) - (pointer_expression "*param_2" * identifier)) >> number_literal) )) + number_literal)) ;) })) (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "puVar2 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar2 = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 8)" * (cast_expression "(undefined4 *)(puVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 8)" ( (binary_expression "puVar2 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0xc)" * (cast_expression "(undefined4 *)(puVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0x10)" * (cast_expression "(undefined4 *)(puVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x10)" ( (binary_expression "puVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar2 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar2 + 4)" * (cast_expression "(undefined4 *)(puVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "local_28 = puVar2;" (assignment_expression "local_28 = puVar2" identifier = identifier) ;) (expression_statement "puVar3 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar3 = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 8)" * (cast_expression "(undefined4 *)(puVar3 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 8)" ( (binary_expression "puVar3 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0xc)" * (cast_expression "(undefined4 *)(puVar3 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0xc)" ( (binary_expression "puVar3 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x10)" * (cast_expression "(undefined4 *)(puVar3 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x10)" ( (binary_expression "puVar3 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = param_2[1] - *param_2 >> 2;" (assignment_expression "iVar4 = param_2[1] - *param_2 >> 2" identifier = (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" identifier [ number_literal ]) - (pointer_expression "*param_2" * identifier)) >> number_literal)) ;) (expression_statement "iVar6 = iVar4 + 3;" (assignment_expression "iVar6 = iVar4 + 3" identifier = (binary_expression "iVar4 + 3" identifier + number_literal)) ;) (if_statement "if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }" if (parenthesized_expression "(local_1d == '\0')" ( (binary_expression "local_1d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar6 = iVar4 + 4;\n  }" { (expression_statement "iVar6 = iVar4 + 4;" (assignment_expression "iVar6 = iVar4 + 4" identifier = (binary_expression "iVar4 + 4" identifier + number_literal)) ;) })) (expression_statement "*(int *)(puVar3 + 4) = iVar6;" (assignment_expression "*(int *)(puVar3 + 4) = iVar6" (pointer_expression "*(int *)(puVar3 + 4)" * (cast_expression "(int *)(puVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 4)" ( (binary_expression "puVar3 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_3c = 0x3c;" (assignment_expression "local_3c = 0x3c" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_0038340c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038340c" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_0038340c" & identifier)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[10] = param_3;" (assignment_expression "puStack_38[10] = param_3" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xb] = param_4 + 0x54;" (assignment_expression "puStack_38[0xb] = param_4 + 0x54" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = (binary_expression "param_4 + 0x54" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[0xc] = param_4 + 0xa0;" (assignment_expression "puStack_38[0xc] = param_4 + 0xa0" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = (binary_expression "param_4 + 0xa0" identifier + number_literal)) ;) (expression_statement "puStack_38[0xd] = param_6;" (assignment_expression "puStack_38[0xd] = param_6" (subscript_expression "puStack_38[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xe] = puVar3;" (assignment_expression "puStack_38[0xe] = puVar3" (subscript_expression "puStack_38[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_3c = 0x38;" (assignment_expression "local_3c = 0x38" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[0xb] = puVar2;" (assignment_expression "puStack_38[0xb] = puVar2" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_003833cc;" (assignment_expression "*puStack_38 = &PTR_FUN_003833cc" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_003833cc" & identifier)) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = local_2c;" (assignment_expression "puStack_38[0xc] = local_2c" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xd] = puVar3;" (assignment_expression "puStack_38[0xd] = puVar3" (subscript_expression "puStack_38[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[10] = param_3;" (assignment_expression "puStack_38[10] = param_3" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_003833ec;" (assignment_expression "*puStack_38 = &PTR_FUN_003833ec" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_003833ec" & identifier)) ;) (expression_statement "puStack_38[0xb] = param_6;" (assignment_expression "puStack_38[0xb] = param_6" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = puVar3;" (assignment_expression "puStack_38[0xc] = puVar3" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined4 *)*param_2;" (assignment_expression "puVar5 = (undefined4 *)*param_2" identifier = (cast_expression "(undefined4 *)*param_2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (if_statement "if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }" if (parenthesized_expression "(puVar5 != (undefined4 *)param_2[1])" ( (binary_expression "puVar5 != (undefined4 *)param_2[1]" identifier != (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }" { (expression_statement "local_24 = &PTR_FUN_00384ef0;" (assignment_expression "local_24 = &PTR_FUN_00384ef0" identifier = (pointer_expression "&PTR_FUN_00384ef0" & identifier)) ;) (do_statement "do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);" do (compound_statement "{\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    }" { (expression_statement "uVar1 = *puVar5;" (assignment_expression "uVar1 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) (expression_statement "local_3c = 0x40;" (assignment_expression "local_3c = 0x40" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[0xb] = uVar1;" (assignment_expression "puStack_38[0xb] = uVar1" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[0xc] = param_6;" (assignment_expression "puStack_38[0xc] = param_6" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puStack_38 = local_24;" (assignment_expression "*puStack_38 = local_24" (pointer_expression "*puStack_38" * identifier) = identifier) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[9] = param_3;" (assignment_expression "puStack_38[9] = param_3" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[10] = param_4;" (assignment_expression "puStack_38[10] = param_4" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xd] = local_2c;" (assignment_expression "puStack_38[0xd] = local_2c" (subscript_expression "puStack_38[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xe] = local_28;" (assignment_expression "puStack_38[0xe] = local_28" (subscript_expression "puStack_38[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xf] = puVar3;" (assignment_expression "puStack_38[0xf] = puVar3" (subscript_expression "puStack_38[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "((undefined4 *)param_2[1] != puVar5)" ( (binary_expression "(undefined4 *)param_2[1] != puVar5" (cast_expression "(undefined4 *)param_2[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ])) != identifier) )) ;) })) (if_statement "if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" if (parenthesized_expression "(local_1d == '\0')" ( (binary_expression "local_1d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }" { (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_0038342c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038342c" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_0038342c" & identifier)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xb] = local_2c;" (assignment_expression "puStack_38[0xb] = local_2c" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = puVar3;" (assignment_expression "puStack_38[0xc] = puVar3" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar2 = puVar3;" (assignment_expression "puVar2 = puVar3" identifier = identifier) ;) }) (else_clause "else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" else (compound_statement "{\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" { (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" identifier = number_literal) ;) (expression_statement "puVar2 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar2 = (undefined1 *)FUN_001e5200()" identifier = (cast_expression "(undefined1 *)FUN_001e5200()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 8)" * (cast_expression "(undefined4 *)(puVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 8)" ( (binary_expression "puVar2 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0xc)" * (cast_expression "(undefined4 *)(puVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0x10)" * (cast_expression "(undefined4 *)(puVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x10)" ( (binary_expression "puVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar2 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar2 + 4)" * (cast_expression "(undefined4 *)(puVar2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 4)" ( (binary_expression "puVar2 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puStack_38 = &PTR_FUN_0038342c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038342c" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_0038342c" & identifier)) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xb] = puVar3;" (assignment_expression "puStack_38[0xb] = puVar3" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[0xc] = puVar2;" (assignment_expression "puStack_38[0xc] = puVar2" (subscript_expression "puStack_38[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "bVar10 = (undefined1 *)0xffffffef < &local_3c;" (assignment_expression "bVar10 = (undefined1 *)0xffffffef < &local_3c" identifier = (binary_expression "(undefined1 *)0xffffffef < &local_3c" (cast_expression "(undefined1 *)0xffffffef" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (pointer_expression "&local_3c" & identifier))) ;) (expression_statement "bVar11 = &stack0x00000000 == (undefined1 *)0x2c;" (assignment_expression "bVar11 = &stack0x00000000 == (undefined1 *)0x2c" identifier = (binary_expression "&stack0x00000000 == (undefined1 *)0x2c" (pointer_expression "&stack0x00000000" & identifier) == (cast_expression "(undefined1 *)0x2c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "iVar6 = 5;" (assignment_expression "iVar6 = 5" identifier = number_literal) ;) (expression_statement "pbVar8 = *(byte **)(param_1 + 0x478);" (assignment_expression "pbVar8 = *(byte **)(param_1 + 0x478)" identifier = (pointer_expression "*(byte **)(param_1 + 0x478)" * (cast_expression "(byte **)(param_1 + 0x478)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x478)" ( (binary_expression "param_1 + 0x478" identifier + number_literal) ))))) ;) (expression_statement "pbVar9 = &DAT_00287726;" (assignment_expression "pbVar9 = &DAT_00287726" identifier = (pointer_expression "&DAT_00287726" & identifier)) ;) (do_statement "do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);" do (compound_statement "{\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar10 = *pbVar8 < *pbVar9;" (assignment_expression "bVar10 = *pbVar8 < *pbVar9" identifier = (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" * identifier) < (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "bVar11 = *pbVar8 == *pbVar9;" (assignment_expression "bVar11 = *pbVar8 == *pbVar9" identifier = (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" * identifier) == (pointer_expression "*pbVar9" * identifier))) ;) (expression_statement "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar8 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar12 * -2" identifier + (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar11)" ( identifier )) ;) (if_statement "if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" if (parenthesized_expression "((!bVar10 && !bVar11) == bVar10)" ( (binary_expression "(!bVar10 && !bVar11) == bVar10" (parenthesized_expression "(!bVar10 && !bVar11)" ( (binary_expression "!bVar10 && !bVar11" (unary_expression "!bVar10" ! identifier) && (unary_expression "!bVar11" ! identifier)) )) == identifier) )) (compound_statement "{\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }" { (expression_statement "local_3c = 0x10;" (assignment_expression "local_3c = 0x10" identifier = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)FUN_001e5200();" (assignment_expression "puVar5 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar5 = &PTR_FUN_0038344c;" (assignment_expression "*puVar5 = &PTR_FUN_0038344c" (pointer_expression "*puVar5" * identifier) = (pointer_expression "&PTR_FUN_0038344c" & identifier)) ;) (expression_statement "puVar5[1] = param_1;" (assignment_expression "puVar5[1] = param_1" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = param_4;" (assignment_expression "puVar5[2] = param_4" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[3] = param_6;" (assignment_expression "puVar5[3] = param_6" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = 0x30;" (assignment_expression "local_3c = 0x30" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = puVar5;" (assignment_expression "puStack_38[9] = puVar5" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = puVar2;" (assignment_expression "puStack_38[10] = puVar2" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "*puStack_38 = &PTR_FUN_00382e14;" (assignment_expression "*puStack_38 = &PTR_FUN_00382e14" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_00382e14" & identifier)) ;) (expression_statement "pcVar7 = "Task_function Build_id_task_runner";" (assignment_expression "pcVar7 = "Task_function Build_id_task_runner"" identifier = (string_literal ""Task_function Build_id_task_runner"" " string_content ")) ;) }) (else_clause "else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" else (compound_statement "{\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" { (expression_statement "local_3c = 0x18;" (assignment_expression "local_3c = 0x18" identifier = number_literal) ;) (expression_statement "puVar5 = (undefined4 *)FUN_001e5200();" (assignment_expression "puVar5 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puVar5[4] = 0;" (assignment_expression "puVar5[4] = 0" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[5] = 0;" (assignment_expression "puVar5[5] = 0" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar5 = &PTR_FUN_00383460;" (assignment_expression "*puVar5 = &PTR_FUN_00383460" (pointer_expression "*puVar5" * identifier) = (pointer_expression "&PTR_FUN_00383460" & identifier)) ;) (expression_statement "puVar5[1] = param_1;" (assignment_expression "puVar5[1] = param_1" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[2] = param_4;" (assignment_expression "puVar5[2] = param_4" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[3] = param_6;" (assignment_expression "puVar5[3] = param_6" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = 0x30;" (assignment_expression "local_3c = 0x30" identifier = number_literal) ;) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" identifier = (cast_expression "(undefined4 *)FUN_001e5200()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e5200()" identifier (argument_list "()" ( ))))) ;) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" identifier [ number_literal ]) = (binary_expression "puStack_38 + 4" identifier + number_literal)) ;) (expression_statement "*puStack_38 = &PTR_FUN_00382e14;" (assignment_expression "*puStack_38 = &PTR_FUN_00382e14" (pointer_expression "*puStack_38" * identifier) = (pointer_expression "&PTR_FUN_00382e14" & identifier)) ;) (expression_statement "pcVar7 = "Task_function Close_task_runner";" (assignment_expression "pcVar7 = "Task_function Close_task_runner"" identifier = (string_literal ""Task_function Close_task_runner"" " string_content ")) ;) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" * (cast_expression "(undefined1 *)(puStack_38 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 4)" ( (binary_expression "puStack_38 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" * (cast_expression "(undefined1 *)(puStack_38 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_38 + 8)" ( (binary_expression "puStack_38 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puStack_38[9] = puVar5;" (assignment_expression "puStack_38[9] = puVar5" (subscript_expression "puStack_38[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puStack_38[10] = puVar2;" (assignment_expression "puStack_38[10] = puVar2" (subscript_expression "puStack_38[10]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puStack_38[0xb] = pcVar7;" (assignment_expression "puStack_38[0xb] = pcVar7" (subscript_expression "puStack_38[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" identifier = identifier) ;) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )) + (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT) )) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (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 ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (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 IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (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 ]) = IDENT) ;) (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 (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (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 IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0006abf0(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)" (identifier "FUN_0006abf0") (parameter_list "(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,\n                 undefined4 param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  undefined1 *puVar2;\n  undefined1 *puVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  int iVar6;\n  char *pcVar7;\n  byte *pbVar8;\n  byte *pbVar9;\n  bool bVar10;\n  bool bVar11;\n  byte bVar12;\n  int local_3c;\n  undefined4 *puStack_38;\n  undefined1 *local_2c;\n  undefined1 *local_28;\n  undefined **local_24;\n  char local_1d;\n  undefined4 uStack_14;\n  \n  bVar12 = 0;\n  uStack_14 = 0x6abf9;\n  local_3c = *(int *)(DAT_0038f378 + 4);\n  if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }\n  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);\n  if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }\n  local_3c = param_5;\n  FUN_00190d80();\n  local_1d = *(char *)(param_4 + 0x1ca);\n  local_2c = (undefined1 *)0x0;\n  if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }\n  local_3c = 0x14;\n  puVar2 = (undefined1 *)FUN_001e5200();\n  *puVar2 = 1;\n  *(undefined4 *)(puVar2 + 8) = 0;\n  *(undefined4 *)(puVar2 + 0xc) = 0;\n  *(undefined4 *)(puVar2 + 0x10) = 0;\n  *(undefined4 *)(puVar2 + 4) = 1;\n  local_3c = 0x14;\n  local_28 = puVar2;\n  puVar3 = (undefined1 *)FUN_001e5200();\n  *puVar3 = 1;\n  *(undefined4 *)(puVar3 + 8) = 0;\n  *(undefined4 *)(puVar3 + 0xc) = 0;\n  *(undefined4 *)(puVar3 + 0x10) = 0;\n  iVar4 = param_2[1] - *param_2 >> 2;\n  iVar6 = iVar4 + 3;\n  if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }\n  *(int *)(puVar3 + 4) = iVar6;\n  local_3c = 0x3c;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  *puStack_38 = &PTR_FUN_0038340c;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  puStack_38[10] = param_3;\n  puStack_38[0xb] = param_4 + 0x54;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[0xc] = param_4 + 0xa0;\n  puStack_38[0xd] = param_6;\n  puStack_38[0xe] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x38;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[0xb] = puVar2;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[10] = param_6;\n  puStack_38[1] = 0;\n  *puStack_38 = &PTR_FUN_003833cc;\n  puStack_38[3] = 0;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  puStack_38[9] = param_4;\n  puStack_38[0xc] = local_2c;\n  puStack_38[0xd] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  local_3c = 0x34;\n  puStack_38 = (undefined4 *)FUN_001e5200();\n  puStack_38[1] = 0;\n  puStack_38[2] = puStack_38 + 4;\n  puStack_38[9] = param_4;\n  puStack_38[3] = 0;\n  puStack_38[10] = param_3;\n  *(undefined1 *)(puStack_38 + 4) = 0;\n  *(undefined1 *)(puStack_38 + 8) = 0;\n  *puStack_38 = &PTR_FUN_003833ec;\n  puStack_38[0xb] = param_6;\n  puStack_38[0xc] = puVar3;\n  local_3c = param_5;\n  FUN_001906a0();\n  puVar5 = (undefined4 *)*param_2;\n  if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }\n  if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }\n  bVar10 = (undefined1 *)0xffffffef < &local_3c;\n  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;\n  iVar6 = 5;\n  pbVar8 = *(byte **)(param_1 + 0x478);\n  pbVar9 = &DAT_00287726;\n  do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);\n  if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }\n  puStack_38[0xb] = pcVar7;\n  local_3c = param_5;\n  FUN_001906a0();\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined1 *puVar2;" (type_identifier "undefined1") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined1 *puVar3;" (type_identifier "undefined1") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "bool bVar10;" (primitive_type "bool") (identifier "bVar10") (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 *puStack_38;" (type_identifier "undefined4") (pointer_declarator "*puStack_38" (* "*") (identifier "puStack_38")) (; ";")) (declaration "undefined1 *local_2c;" (type_identifier "undefined1") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined1 *local_28;" (type_identifier "undefined1") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "undefined **local_24;" (type_identifier "undefined") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24"))) (; ";")) (declaration "char local_1d;" (primitive_type "char") (identifier "local_1d") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" (identifier "bVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x6abf9;" (assignment_expression "uStack_14 = 0x6abf9" (identifier "uStack_14") (= "=") (number_literal "0x6abf9")) (; ";")) (expression_statement "local_3c = *(int *)(DAT_0038f378 + 4);" (assignment_expression "local_3c = *(int *)(DAT_0038f378 + 4)" (identifier "local_3c") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 4)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 4)" (( "(") (binary_expression "DAT_0038f378 + 4" (identifier "DAT_0038f378") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (local_3c != 0) {\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }" (if "if") (parenthesized_expression "(local_3c != 0)" (( "(") (binary_expression "local_3c != 0" (identifier "local_3c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puStack_38 = (undefined4 *)0x1;\n    FUN_00190080();\n  }" ({ "{") (expression_statement "puStack_38 = (undefined4 *)0x1;" (assignment_expression "puStack_38 = (undefined4 *)0x1" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "FUN_00190080();" (call_expression "FUN_00190080()" (identifier "FUN_00190080") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);" (assignment_expression "puStack_38 = *(undefined4 **)(param_1 + 0x3eb4)" (identifier "puStack_38") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x3eb4)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x3eb4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3eb4)" (( "(") (binary_expression "param_1 + 0x3eb4" (identifier "param_1") (+ "+") (number_literal "0x3eb4")) () ")"))))) (; ";")) (if_statement "if (puStack_38 == (undefined4 *)0x0) {\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }" (if "if") (parenthesized_expression "(puStack_38 == (undefined4 *)0x0)" (( "(") (binary_expression "puStack_38 == (undefined4 *)0x0" (identifier "puStack_38") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));\n    if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }\n  }" ({ "{") (expression_statement "puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));" (assignment_expression "puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2))" (( "(") (binary_expression "(param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2)" (parenthesized_expression "(param_2[4] - param_2[3] >> 2)" (( "(") (binary_expression "param_2[4] - param_2[3] >> 2" (binary_expression "param_2[4] - param_2[3]" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (- "-") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (>> ">>") (number_literal "2")) () ")")) (+ "+") (parenthesized_expression "(param_2[1] - *param_2 >> 2)" (( "(") (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (>> ">>") (number_literal "2")) () ")"))) () ")")))) (; ";")) (if_statement "if ((int)puStack_38 < 2) {\n      puStack_38 = (undefined4 *)0x2;\n    }" (if "if") (parenthesized_expression "((int)puStack_38 < 2)" (( "(") (binary_expression "(int)puStack_38 < 2" (cast_expression "(int)puStack_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_38")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      puStack_38 = (undefined4 *)0x2;\n    }" ({ "{") (expression_statement "puStack_38 = (undefined4 *)0x2;" (assignment_expression "puStack_38 = (undefined4 *)0x2" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)0x2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_00190d80();" (call_expression "FUN_00190d80()" (identifier "FUN_00190d80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_1d = *(char *)(param_4 + 0x1ca);" (assignment_expression "local_1d = *(char *)(param_4 + 0x1ca)" (identifier "local_1d") (= "=") (pointer_expression "*(char *)(param_4 + 0x1ca)" (* "*") (cast_expression "(char *)(param_4 + 0x1ca)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x1ca)" (( "(") (binary_expression "param_4 + 0x1ca" (identifier "param_4") (+ "+") (number_literal "0x1ca")) () ")"))))) (; ";")) (expression_statement "local_2c = (undefined1 *)0x0;" (assignment_expression "local_2c = (undefined1 *)0x0" (identifier "local_2c") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_1d == '\0') {\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }" (if "if") (parenthesized_expression "(local_1d == '\0')" (( "(") (binary_expression "local_1d == '\0'" (identifier "local_1d") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_3c = 0x14;\n    local_2c = (undefined1 *)FUN_001e5200();\n    *local_2c = 1;\n    *(undefined4 *)(local_2c + 8) = 0;\n    *(undefined4 *)(local_2c + 0xc) = 0;\n    *(undefined4 *)(local_2c + 0x10) = 0;\n    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;\n  }" ({ "{") (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" (identifier "local_3c") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "local_2c = (undefined1 *)FUN_001e5200();" (assignment_expression "local_2c = (undefined1 *)FUN_001e5200()" (identifier "local_2c") (= "=") (cast_expression "(undefined1 *)FUN_001e5200()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*local_2c = 1;" (assignment_expression "*local_2c = 1" (pointer_expression "*local_2c" (* "*") (identifier "local_2c")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(local_2c + 8) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 8) = 0" (pointer_expression "*(undefined4 *)(local_2c + 8)" (* "*") (cast_expression "(undefined4 *)(local_2c + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2c + 8)" (( "(") (binary_expression "local_2c + 8" (identifier "local_2c") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(local_2c + 0xc) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 0xc) = 0" (pointer_expression "*(undefined4 *)(local_2c + 0xc)" (* "*") (cast_expression "(undefined4 *)(local_2c + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2c + 0xc)" (( "(") (binary_expression "local_2c + 0xc" (identifier "local_2c") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(local_2c + 0x10) = 0;" (assignment_expression "*(undefined4 *)(local_2c + 0x10) = 0" (pointer_expression "*(undefined4 *)(local_2c + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_2c + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2c + 0x10)" (( "(") (binary_expression "local_2c + 0x10" (identifier "local_2c") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;" (assignment_expression "*(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1" (pointer_expression "*(int *)(local_2c + 4)" (* "*") (cast_expression "(int *)(local_2c + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2c + 4)" (( "(") (binary_expression "local_2c + 4" (identifier "local_2c") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "(param_2[1] - *param_2 >> 2) + 1" (parenthesized_expression "(param_2[1] - *param_2 >> 2)" (( "(") (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (>> ">>") (number_literal "2")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" (identifier "local_3c") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "puVar2 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar2 = (undefined1 *)FUN_001e5200()" (identifier "puVar2") (= "=") (cast_expression "(undefined1 *)FUN_001e5200()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 8)" (( "(") (binary_expression "puVar2 + 8" (identifier "puVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xc)" (( "(") (binary_expression "puVar2 + 0xc" (identifier "puVar2") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x10)" (( "(") (binary_expression "puVar2 + 0x10" (identifier "puVar2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar2 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar2 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 4)" (( "(") (binary_expression "puVar2 + 4" (identifier "puVar2") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" (identifier "local_3c") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "local_28 = puVar2;" (assignment_expression "local_28 = puVar2" (identifier "local_28") (= "=") (identifier "puVar2")) (; ";")) (expression_statement "puVar3 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar3 = (undefined1 *)FUN_001e5200()" (identifier "puVar3") (= "=") (cast_expression "(undefined1 *)FUN_001e5200()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 8)" (( "(") (binary_expression "puVar3 + 8" (identifier "puVar3") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0xc)" (( "(") (binary_expression "puVar3 + 0xc" (identifier "puVar3") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar3 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar3 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar3 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar3 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x10)" (( "(") (binary_expression "puVar3 + 0x10" (identifier "puVar3") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = param_2[1] - *param_2 >> 2;" (assignment_expression "iVar4 = param_2[1] - *param_2 >> 2" (identifier "iVar4") (= "=") (binary_expression "param_2[1] - *param_2 >> 2" (binary_expression "param_2[1] - *param_2" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar6 = iVar4 + 3;" (assignment_expression "iVar6 = iVar4 + 3" (identifier "iVar6") (= "=") (binary_expression "iVar4 + 3" (identifier "iVar4") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (local_1d == '\0') {\n    iVar6 = iVar4 + 4;\n  }" (if "if") (parenthesized_expression "(local_1d == '\0')" (( "(") (binary_expression "local_1d == '\0'" (identifier "local_1d") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar6 = iVar4 + 4;\n  }" ({ "{") (expression_statement "iVar6 = iVar4 + 4;" (assignment_expression "iVar6 = iVar4 + 4" (identifier "iVar6") (= "=") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar3 + 4) = iVar6;" (assignment_expression "*(int *)(puVar3 + 4) = iVar6" (pointer_expression "*(int *)(puVar3 + 4)" (* "*") (cast_expression "(int *)(puVar3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 4)" (( "(") (binary_expression "puVar3 + 4" (identifier "puVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "local_3c = 0x3c;" (assignment_expression "local_3c = 0x3c" (identifier "local_3c") (= "=") (number_literal "0x3c")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puStack_38 = &PTR_FUN_0038340c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038340c" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (pointer_expression "&PTR_FUN_0038340c" (& "&") (identifier "PTR_FUN_0038340c"))) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[10] = param_3;" (assignment_expression "puStack_38[10] = param_3" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "puStack_38[0xb] = param_4 + 0x54;" (assignment_expression "puStack_38[0xb] = param_4 + 0x54" (subscript_expression "puStack_38[0xb]" (identifier "puStack_38") ([ "[") (number_literal "0xb") (] "]")) (= "=") (binary_expression "param_4 + 0x54" (identifier "param_4") (+ "+") (number_literal "0x54"))) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[0xc] = param_4 + 0xa0;" (assignment_expression "puStack_38[0xc] = param_4 + 0xa0" (subscript_expression "puStack_38[0xc]" (identifier "puStack_38") ([ "[") (number_literal "0xc") (] "]")) (= "=") (binary_expression "param_4 + 0xa0" (identifier "param_4") (+ "+") (number_literal "0xa0"))) (; ";")) (expression_statement "puStack_38[0xd] = param_6;" (assignment_expression "puStack_38[0xd] = param_6" (subscript_expression "puStack_38[0xd]" (identifier "puStack_38") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "puStack_38[0xe] = puVar3;" (assignment_expression "puStack_38[0xe] = puVar3" (subscript_expression "puStack_38[0xe]" (identifier "puStack_38") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" (identifier "FUN_001906a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_3c = 0x38;" (assignment_expression "local_3c = 0x38" (identifier "local_3c") (= "=") (number_literal "0x38")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[0xb] = puVar2;" (assignment_expression "puStack_38[0xb] = puVar2" (subscript_expression "puStack_38[0xb]" (identifier "puStack_38") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puStack_38 = &PTR_FUN_003833cc;" (assignment_expression "*puStack_38 = &PTR_FUN_003833cc" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (pointer_expression "&PTR_FUN_003833cc" (& "&") (identifier "PTR_FUN_003833cc"))) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_38[0xc] = local_2c;" (assignment_expression "puStack_38[0xc] = local_2c" (subscript_expression "puStack_38[0xc]" (identifier "puStack_38") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puStack_38[0xd] = puVar3;" (assignment_expression "puStack_38[0xd] = puVar3" (subscript_expression "puStack_38[0xd]" (identifier "puStack_38") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" (identifier "FUN_001906a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" (identifier "local_3c") (= "=") (number_literal "0x34")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[10] = param_3;" (assignment_expression "puStack_38[10] = param_3" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puStack_38 = &PTR_FUN_003833ec;" (assignment_expression "*puStack_38 = &PTR_FUN_003833ec" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (pointer_expression "&PTR_FUN_003833ec" (& "&") (identifier "PTR_FUN_003833ec"))) (; ";")) (expression_statement "puStack_38[0xb] = param_6;" (assignment_expression "puStack_38[0xb] = param_6" (subscript_expression "puStack_38[0xb]" (identifier "puStack_38") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "puStack_38[0xc] = puVar3;" (assignment_expression "puStack_38[0xc] = puVar3" (subscript_expression "puStack_38[0xc]" (identifier "puStack_38") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" (identifier "FUN_001906a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = (undefined4 *)*param_2;" (assignment_expression "puVar5 = (undefined4 *)*param_2" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)*param_2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (if_statement "if (puVar5 != (undefined4 *)param_2[1]) {\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }" (if "if") (parenthesized_expression "(puVar5 != (undefined4 *)param_2[1])" (( "(") (binary_expression "puVar5 != (undefined4 *)param_2[1]" (identifier "puVar5") (!= "!=") (cast_expression "(undefined4 *)param_2[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n    local_24 = &PTR_FUN_00384ef0;\n    do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);\n  }" ({ "{") (expression_statement "local_24 = &PTR_FUN_00384ef0;" (assignment_expression "local_24 = &PTR_FUN_00384ef0" (identifier "local_24") (= "=") (pointer_expression "&PTR_FUN_00384ef0" (& "&") (identifier "PTR_FUN_00384ef0"))) (; ";")) (do_statement "do {\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    } while ((undefined4 *)param_2[1] != puVar5);" (do "do") (compound_statement "{\n      uVar1 = *puVar5;\n      puVar5 = puVar5 + 1;\n      local_3c = 0x40;\n      puStack_38 = (undefined4 *)FUN_001e5200();\n      puStack_38[0xb] = uVar1;\n      puStack_38[2] = puStack_38 + 4;\n      puStack_38[0xc] = param_6;\n      *puStack_38 = local_24;\n      puStack_38[1] = 0;\n      puStack_38[9] = param_3;\n      puStack_38[3] = 0;\n      *(undefined1 *)(puStack_38 + 4) = 0;\n      *(undefined1 *)(puStack_38 + 8) = 0;\n      puStack_38[10] = param_4;\n      puStack_38[0xd] = local_2c;\n      puStack_38[0xe] = local_28;\n      puStack_38[0xf] = puVar3;\n      local_3c = param_5;\n      FUN_001906a0();\n    }" ({ "{") (expression_statement "uVar1 = *puVar5;" (assignment_expression "uVar1 = *puVar5" (identifier "uVar1") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (expression_statement "puVar5 = puVar5 + 1;" (assignment_expression "puVar5 = puVar5 + 1" (identifier "puVar5") (= "=") (binary_expression "puVar5 + 1" (identifier "puVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_3c = 0x40;" (assignment_expression "local_3c = 0x40" (identifier "local_3c") (= "=") (number_literal "0x40")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[0xb] = uVar1;" (assignment_expression "puStack_38[0xb] = uVar1" (subscript_expression "puStack_38[0xb]" (identifier "puStack_38") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puStack_38[0xc] = param_6;" (assignment_expression "puStack_38[0xc] = param_6" (subscript_expression "puStack_38[0xc]" (identifier "puStack_38") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*puStack_38 = local_24;" (assignment_expression "*puStack_38 = local_24" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (identifier "local_24")) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[9] = param_3;" (assignment_expression "puStack_38[9] = param_3" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[10] = param_4;" (assignment_expression "puStack_38[10] = param_4" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_38[0xd] = local_2c;" (assignment_expression "puStack_38[0xd] = local_2c" (subscript_expression "puStack_38[0xd]" (identifier "puStack_38") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puStack_38[0xe] = local_28;" (assignment_expression "puStack_38[0xe] = local_28" (subscript_expression "puStack_38[0xe]" (identifier "puStack_38") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "local_28")) (; ";")) (expression_statement "puStack_38[0xf] = puVar3;" (assignment_expression "puStack_38[0xf] = puVar3" (subscript_expression "puStack_38[0xf]" (identifier "puStack_38") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" (identifier "FUN_001906a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)param_2[1] != puVar5)" (( "(") (binary_expression "(undefined4 *)param_2[1] != puVar5" (cast_expression "(undefined4 *)param_2[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "puVar5")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_1d == '\0') {\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }\n  else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" (if "if") (parenthesized_expression "(local_1d == '\0')" (( "(") (binary_expression "local_1d == '\0'" (identifier "local_1d") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = local_2c;\n    puStack_38[0xc] = puVar3;\n    local_3c = param_5;\n    FUN_001906a0();\n    puVar2 = puVar3;\n  }" ({ "{") (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" (identifier "local_3c") (= "=") (number_literal "0x34")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puStack_38 = &PTR_FUN_0038342c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038342c" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (pointer_expression "&PTR_FUN_0038342c" (& "&") (identifier "PTR_FUN_0038342c"))) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "puStack_38[0xb] = local_2c;" (assignment_expression "puStack_38[0xb] = local_2c" (subscript_expression "puStack_38[0xb]" (identifier "puStack_38") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puStack_38[0xc] = puVar3;" (assignment_expression "puStack_38[0xc] = puVar3" (subscript_expression "puStack_38[0xc]" (identifier "puStack_38") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" (identifier "FUN_001906a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar2 = puVar3;" (assignment_expression "puVar2 = puVar3" (identifier "puVar2") (= "=") (identifier "puVar3")) (; ";")) (} "}")) (else_clause "else {\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" (else "else") (compound_statement "{\n    local_3c = 0x14;\n    puVar2 = (undefined1 *)FUN_001e5200();\n    *puVar2 = 1;\n    *(undefined4 *)(puVar2 + 8) = 0;\n    *(undefined4 *)(puVar2 + 0xc) = 0;\n    *(undefined4 *)(puVar2 + 0x10) = 0;\n    *(undefined4 *)(puVar2 + 4) = 1;\n    local_3c = 0x34;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *puStack_38 = &PTR_FUN_0038342c;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = param_4;\n    puStack_38[10] = param_6;\n    puStack_38[0xb] = puVar3;\n    puStack_38[0xc] = puVar2;\n    local_3c = param_5;\n    FUN_001906a0();\n  }" ({ "{") (expression_statement "local_3c = 0x14;" (assignment_expression "local_3c = 0x14" (identifier "local_3c") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "puVar2 = (undefined1 *)FUN_001e5200();" (assignment_expression "puVar2 = (undefined1 *)FUN_001e5200()" (identifier "puVar2") (= "=") (cast_expression "(undefined1 *)FUN_001e5200()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar2 = 1;" (assignment_expression "*puVar2 = 1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 8)" (( "(") (binary_expression "puVar2 + 8" (identifier "puVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xc)" (( "(") (binary_expression "puVar2 + 0xc" (identifier "puVar2") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(puVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x10)" (( "(") (binary_expression "puVar2 + 0x10" (identifier "puVar2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar2 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar2 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar2 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 4)" (( "(") (binary_expression "puVar2 + 4" (identifier "puVar2") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_3c = 0x34;" (assignment_expression "local_3c = 0x34" (identifier "local_3c") (= "=") (number_literal "0x34")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puStack_38 = &PTR_FUN_0038342c;" (assignment_expression "*puStack_38 = &PTR_FUN_0038342c" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (pointer_expression "&PTR_FUN_0038342c" (& "&") (identifier "PTR_FUN_0038342c"))) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[9] = param_4;" (assignment_expression "puStack_38[9] = param_4" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puStack_38[10] = param_6;" (assignment_expression "puStack_38[10] = param_6" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "puStack_38[0xb] = puVar3;" (assignment_expression "puStack_38[0xb] = puVar3" (subscript_expression "puStack_38[0xb]" (identifier "puStack_38") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puStack_38[0xc] = puVar2;" (assignment_expression "puStack_38[0xc] = puVar2" (subscript_expression "puStack_38[0xc]" (identifier "puStack_38") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" (identifier "FUN_001906a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "bVar10 = (undefined1 *)0xffffffef < &local_3c;" (assignment_expression "bVar10 = (undefined1 *)0xffffffef < &local_3c" (identifier "bVar10") (= "=") (binary_expression "(undefined1 *)0xffffffef < &local_3c" (cast_expression "(undefined1 *)0xffffffef" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffef")) (< "<") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")))) (; ";")) (expression_statement "bVar11 = &stack0x00000000 == (undefined1 *)0x2c;" (assignment_expression "bVar11 = &stack0x00000000 == (undefined1 *)0x2c" (identifier "bVar11") (= "=") (binary_expression "&stack0x00000000 == (undefined1 *)0x2c" (pointer_expression "&stack0x00000000" (& "&") (identifier "stack0x00000000")) (== "==") (cast_expression "(undefined1 *)0x2c" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2c")))) (; ";")) (expression_statement "iVar6 = 5;" (assignment_expression "iVar6 = 5" (identifier "iVar6") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar8 = *(byte **)(param_1 + 0x478);" (assignment_expression "pbVar8 = *(byte **)(param_1 + 0x478)" (identifier "pbVar8") (= "=") (pointer_expression "*(byte **)(param_1 + 0x478)" (* "*") (cast_expression "(byte **)(param_1 + 0x478)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x478)" (( "(") (binary_expression "param_1 + 0x478" (identifier "param_1") (+ "+") (number_literal "0x478")) () ")"))))) (; ";")) (expression_statement "pbVar9 = &DAT_00287726;" (assignment_expression "pbVar9 = &DAT_00287726" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_00287726" (& "&") (identifier "DAT_00287726"))) (; ";")) (do_statement "do {\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  } while (bVar11);" (do "do") (compound_statement "{\n    if (iVar6 == 0) break;\n    iVar6 = iVar6 + -1;\n    bVar10 = *pbVar8 < *pbVar9;\n    bVar11 = *pbVar8 == *pbVar9;\n    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;\n    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;\n  }" ({ "{") (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar10 = *pbVar8 < *pbVar9;" (assignment_expression "bVar10 = *pbVar8 < *pbVar9" (identifier "bVar10") (= "=") (binary_expression "*pbVar8 < *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (< "<") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "bVar11 = *pbVar8 == *pbVar9;" (assignment_expression "bVar11 = *pbVar8 == *pbVar9" (identifier "bVar11") (= "=") (binary_expression "*pbVar8 == *pbVar9" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (== "==") (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")))) (; ";")) (expression_statement "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1" (identifier "pbVar8") (= "=") (binary_expression "pbVar8 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar8 + (uint)bVar12 * -2" (identifier "pbVar8") (+ "+") (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (uint)bVar12 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar12 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(uint)bVar12 * -2" (cast_expression "(uint)bVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar11)" (( "(") (identifier "bVar11") () ")")) (; ";")) (if_statement "if ((!bVar10 && !bVar11) == bVar10) {\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }\n  else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" (if "if") (parenthesized_expression "((!bVar10 && !bVar11) == bVar10)" (( "(") (binary_expression "(!bVar10 && !bVar11) == bVar10" (parenthesized_expression "(!bVar10 && !bVar11)" (( "(") (binary_expression "!bVar10 && !bVar11" (unary_expression "!bVar10" (! "!") (identifier "bVar10")) (&& "&&") (unary_expression "!bVar11" (! "!") (identifier "bVar11"))) () ")")) (== "==") (identifier "bVar10")) () ")")) (compound_statement "{\n    local_3c = 0x10;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    *puVar5 = &PTR_FUN_0038344c;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Build_id_task_runner";\n  }" ({ "{") (expression_statement "local_3c = 0x10;" (assignment_expression "local_3c = 0x10" (identifier "local_3c") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "puVar5 = (undefined4 *)FUN_001e5200();" (assignment_expression "puVar5 = (undefined4 *)FUN_001e5200()" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar5 = &PTR_FUN_0038344c;" (assignment_expression "*puVar5 = &PTR_FUN_0038344c" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (pointer_expression "&PTR_FUN_0038344c" (& "&") (identifier "PTR_FUN_0038344c"))) (; ";")) (expression_statement "puVar5[1] = param_1;" (assignment_expression "puVar5[1] = param_1" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar5[2] = param_4;" (assignment_expression "puVar5[2] = param_4" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puVar5[3] = param_6;" (assignment_expression "puVar5[3] = param_6" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_3c = 0x30;" (assignment_expression "local_3c = 0x30" (identifier "local_3c") (= "=") (number_literal "0x30")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[9] = puVar5;" (assignment_expression "puStack_38[9] = puVar5" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "puStack_38[10] = puVar2;" (assignment_expression "puStack_38[10] = puVar2" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*puStack_38 = &PTR_FUN_00382e14;" (assignment_expression "*puStack_38 = &PTR_FUN_00382e14" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (pointer_expression "&PTR_FUN_00382e14" (& "&") (identifier "PTR_FUN_00382e14"))) (; ";")) (expression_statement "pcVar7 = "Task_function Build_id_task_runner";" (assignment_expression "pcVar7 = "Task_function Build_id_task_runner"" (identifier "pcVar7") (= "=") (string_literal ""Task_function Build_id_task_runner"" (" """) (string_content "Task_function Build_id_task_runner") (" """))) (; ";")) (} "}")) (else_clause "else {\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" (else "else") (compound_statement "{\n    local_3c = 0x18;\n    puVar5 = (undefined4 *)FUN_001e5200();\n    puVar5[4] = 0;\n    puVar5[5] = 0;\n    *puVar5 = &PTR_FUN_00383460;\n    puVar5[1] = param_1;\n    puVar5[2] = param_4;\n    puVar5[3] = param_6;\n    local_3c = 0x30;\n    puStack_38 = (undefined4 *)FUN_001e5200();\n    puStack_38[1] = 0;\n    puStack_38[2] = puStack_38 + 4;\n    *puStack_38 = &PTR_FUN_00382e14;\n    pcVar7 = "Task_function Close_task_runner";\n    puStack_38[3] = 0;\n    *(undefined1 *)(puStack_38 + 4) = 0;\n    *(undefined1 *)(puStack_38 + 8) = 0;\n    puStack_38[9] = puVar5;\n    puStack_38[10] = puVar2;\n  }" ({ "{") (expression_statement "local_3c = 0x18;" (assignment_expression "local_3c = 0x18" (identifier "local_3c") (= "=") (number_literal "0x18")) (; ";")) (expression_statement "puVar5 = (undefined4 *)FUN_001e5200();" (assignment_expression "puVar5 = (undefined4 *)FUN_001e5200()" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar5[4] = 0;" (assignment_expression "puVar5[4] = 0" (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[5] = 0;" (assignment_expression "puVar5[5] = 0" (subscript_expression "puVar5[5]" (identifier "puVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar5 = &PTR_FUN_00383460;" (assignment_expression "*puVar5 = &PTR_FUN_00383460" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (pointer_expression "&PTR_FUN_00383460" (& "&") (identifier "PTR_FUN_00383460"))) (; ";")) (expression_statement "puVar5[1] = param_1;" (assignment_expression "puVar5[1] = param_1" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar5[2] = param_4;" (assignment_expression "puVar5[2] = param_4" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puVar5[3] = param_6;" (assignment_expression "puVar5[3] = param_6" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "local_3c = 0x30;" (assignment_expression "local_3c = 0x30" (identifier "local_3c") (= "=") (number_literal "0x30")) (; ";")) (expression_statement "puStack_38 = (undefined4 *)FUN_001e5200();" (assignment_expression "puStack_38 = (undefined4 *)FUN_001e5200()" (identifier "puStack_38") (= "=") (cast_expression "(undefined4 *)FUN_001e5200()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e5200()" (identifier "FUN_001e5200") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puStack_38[1] = 0;" (assignment_expression "puStack_38[1] = 0" (subscript_expression "puStack_38[1]" (identifier "puStack_38") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[2] = puStack_38 + 4;" (assignment_expression "puStack_38[2] = puStack_38 + 4" (subscript_expression "puStack_38[2]" (identifier "puStack_38") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*puStack_38 = &PTR_FUN_00382e14;" (assignment_expression "*puStack_38 = &PTR_FUN_00382e14" (pointer_expression "*puStack_38" (* "*") (identifier "puStack_38")) (= "=") (pointer_expression "&PTR_FUN_00382e14" (& "&") (identifier "PTR_FUN_00382e14"))) (; ";")) (expression_statement "pcVar7 = "Task_function Close_task_runner";" (assignment_expression "pcVar7 = "Task_function Close_task_runner"" (identifier "pcVar7") (= "=") (string_literal ""Task_function Close_task_runner"" (" """) (string_content "Task_function Close_task_runner") (" """))) (; ";")) (expression_statement "puStack_38[3] = 0;" (assignment_expression "puStack_38[3] = 0" (subscript_expression "puStack_38[3]" (identifier "puStack_38") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 4) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 4) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 4)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 4)" (( "(") (binary_expression "puStack_38 + 4" (identifier "puStack_38") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puStack_38 + 8) = 0;" (assignment_expression "*(undefined1 *)(puStack_38 + 8) = 0" (pointer_expression "*(undefined1 *)(puStack_38 + 8)" (* "*") (cast_expression "(undefined1 *)(puStack_38 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_38 + 8)" (( "(") (binary_expression "puStack_38 + 8" (identifier "puStack_38") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puStack_38[9] = puVar5;" (assignment_expression "puStack_38[9] = puVar5" (subscript_expression "puStack_38[9]" (identifier "puStack_38") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "puStack_38[10] = puVar2;" (assignment_expression "puStack_38[10] = puVar2" (subscript_expression "puStack_38[10]" (identifier "puStack_38") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "puVar2")) (; ";")) (} "}")))) (expression_statement "puStack_38[0xb] = pcVar7;" (assignment_expression "puStack_38[0xb] = pcVar7" (subscript_expression "puStack_38[0xb]" (identifier "puStack_38") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "local_3c = param_5;" (assignment_expression "local_3c = param_5" (identifier "local_3c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001906a0();" (call_expression "FUN_001906a0()" (identifier "FUN_001906a0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "DT": Some values do not have unique names */

void var_3::function_1
               (type_1 *options,type_2 *input_objects,type_3 *symtab,
               type_4 *layout,type_5 *workqueue,type_6 *of)

{
  type_7 *pRVar1;
  int var_2;
  type_8 pcVar3;
  type_9 *pTVar4;
  type_9 *pTVar5;
  type_10 **pp_Var6;
  type_9 *t;
  char *pcVar7;
  type_11 *var_12;
  type_8 var_11;
  type_11 *var_13;
  bool var_7;
  bool bVar12;
  type_11 bVar13;
  type_8 var_9;
  
  bVar13 = 0;
  if (parameters->timer_ != (type_12 *)0x0) {
    Timer::var_1(parameters->timer_,1);
  }
  var_2 = (options->thread_count_final_).value;
  if ((var_2 == 0) &&
     (var_2 = ((int)(input_objects->dynobj_list_).
                    super__Vector_base<var_3::Dynobj*,var_4::allocator<var_3::Dynobj*>var_5>._M_impl.
                    _M_finish -
               (int)(input_objects->dynobj_list_).
                    super__Vector_base<var_3::Dynobj*,var_4::allocator<var_3::Dynobj*>var_5>._M_impl.
                    _M_start >> 2) +
              ((int)(input_objects->relobj_list_).
                    super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl.
                    _M_finish -
               (int)(input_objects->relobj_list_).
                    super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl.
                    _M_start >> 2), var_2 < 2)) {
    var_2 = 2;
  }
  Workqueue::var_6(workqueue,var_2);
  var_7 = layout->any_postprocessing_sections_;
  var_9 = (type_8)0x0;
  if (var_7 == false) {
    var_9 = (type_8)var_8(0x14);
    *var_9 = '\x01';
    var_9[8] = '\0';
    var_9[9] = '\0';
    var_9[10] = '\0';
    var_9[0xb] = '\0';
    var_9[0xc] = '\0';
    var_9[0xd] = '\0';
    var_9[0xe] = '\0';
    var_9[0xf] = '\0';
    var_9[0x10] = '\0';
    var_9[0x11] = '\0';
    var_9[0x12] = '\0';
    var_9[0x13] = '\0';
    *(int *)(var_9 + 4) =
         ((int)(input_objects->relobj_list_).
               super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl._M_finish -
          (int)(input_objects->relobj_list_).
               super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl._M_start >>
         2) + 1;
  }
  pcVar3 = (type_8)var_8(0x14);
  *pcVar3 = '\x01';
  pcVar3[8] = '\0';
  pcVar3[9] = '\0';
  pcVar3[10] = '\0';
  pcVar3[0xb] = '\0';
  pcVar3[0xc] = '\0';
  pcVar3[0xd] = '\0';
  pcVar3[0xe] = '\0';
  pcVar3[0xf] = '\0';
  pcVar3[0x10] = '\0';
  pcVar3[0x11] = '\0';
  pcVar3[0x12] = '\0';
  pcVar3[0x13] = '\0';
  pcVar3[4] = '\x01';
  pcVar3[5] = '\0';
  pcVar3[6] = '\0';
  pcVar3[7] = '\0';
  pTVar4 = (type_9 *)var_8(0x14);
  *(type_13 *)&pTVar4->_vptr_Task = 1;
  (pTVar4->name_)._M_dataplus._M_p = (type_8)0x0;
  (pTVar4->name_)._M_string_length = 0;
  (pTVar4->name_).field_2._M_allocated_capacity = 0;
  var_2 = (int)(input_objects->relobj_list_).
               super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl._M_finish -
          (int)(input_objects->relobj_list_).
               super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl._M_start >>
          2;
  pTVar5 = (type_9 *)(var_2 + 3);
  if (var_7 == false) {
    pTVar5 = (type_9 *)(var_2 + 4);
  }
  pTVar4->list_next_ = pTVar5;
  pTVar5 = (type_9 *)var_8(0x3c);
  pTVar5->list_next_ = (type_9 *)0x0;
  (pTVar5->name_)._M_dataplus._M_p = (type_8)&(pTVar5->name_).field_2;
  pTVar5[1]._vptr_Task = (type_10 **)layout;
  (pTVar5->name_)._M_string_length = 0;
  pTVar5->_vptr_Task = (type_10 **)&PTR__Write_symbols_task_0038340c;
  (pTVar5->name_).field_2._M_local_buf[0] = '\0';
  pTVar5[1].list_next_ = (type_9 *)symtab;
  pTVar5[1].name_._M_dataplus._M_p = (type_8)&layout->sympool_;
  pTVar5->should_run_soon_ = false;
  pTVar5[1].name_._M_string_length = (type_14)&layout->dynpool_;
  pTVar5[1].name_.field_2._M_allocated_capacity = (type_14)of;
  *(type_9 **)((int)&pTVar5[1].name_.field_2 + 4) = pTVar4;
  Workqueue::var_10(workqueue,pTVar5);
  pTVar5 = (type_9 *)var_8(0x38);
  pTVar5[1].name_._M_dataplus._M_p = pcVar3;
  (pTVar5->name_)._M_dataplus._M_p = (type_8)&(pTVar5->name_).field_2;
  pTVar5[1].list_next_ = (type_9 *)of;
  pTVar5->list_next_ = (type_9 *)0x0;
  pTVar5->_vptr_Task = (type_10 **)&PTR__Write_sections_task_003833cc;
  (pTVar5->name_)._M_string_length = 0;
  (pTVar5->name_).field_2._M_local_buf[0] = '\0';
  pTVar5->should_run_soon_ = false;
  pTVar5[1]._vptr_Task = (type_10 **)layout;
  pTVar5[1].name_._M_string_length = (type_14)var_9;
  pTVar5[1].name_.field_2._M_allocated_capacity = (type_14)pTVar4;
  Workqueue::var_10(workqueue,pTVar5);
  pTVar5 = (type_9 *)var_8(0x34);
  pTVar5->list_next_ = (type_9 *)0x0;
  (pTVar5->name_)._M_dataplus._M_p = (type_8)&(pTVar5->name_).field_2;
  pTVar5[1]._vptr_Task = (type_10 **)layout;
  (pTVar5->name_)._M_string_length = 0;
  pTVar5[1].list_next_ = (type_9 *)symtab;
  (pTVar5->name_).field_2._M_local_buf[0] = '\0';
  pTVar5->should_run_soon_ = false;
  pTVar5->_vptr_Task = (type_10 **)&PTR__Write_data_task_003833ec;
  pTVar5[1].name_._M_dataplus._M_p = (type_8)of;
  pTVar5[1].name_._M_string_length = (type_14)pTVar4;
  Workqueue::var_10(workqueue,pTVar5);
  var_11 = (input_objects->relobj_list_).
            super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl._M_start;
  if (var_11 !=
      (input_objects->relobj_list_).
      super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl._M_finish) {
    do {
      pRVar1 = *var_11;
      var_11 = var_11 + 1;
      pTVar5 = (type_9 *)var_8(0x40);
      pTVar5[1].name_._M_dataplus._M_p = (type_8)pRVar1;
      (pTVar5->name_)._M_dataplus._M_p = (type_8)&(pTVar5->name_).field_2;
      pTVar5[1].name_._M_string_length = (type_14)of;
      pTVar5->_vptr_Task = (type_10 **)&PTR__Relocate_task_00384ef0;
      pTVar5->list_next_ = (type_9 *)0x0;
      pTVar5[1]._vptr_Task = (type_10 **)symtab;
      (pTVar5->name_)._M_string_length = 0;
      (pTVar5->name_).field_2._M_local_buf[0] = '\0';
      pTVar5->should_run_soon_ = false;
      pTVar5[1].list_next_ = (type_9 *)layout;
      pTVar5[1].name_.field_2._M_allocated_capacity = (type_14)var_9;
      *(type_8 *)((int)&pTVar5[1].name_.field_2 + 4) = pcVar3;
      *(type_9 **)((int)&pTVar5[1].name_.field_2 + 8) = pTVar4;
      Workqueue::var_10(workqueue,pTVar5);
    } while ((input_objects->relobj_list_).
             super__Vector_base<var_3::type_7*,var_4::allocator<var_3::type_7*>var_5>._M_impl._M_finish !=
             var_11);
  }
  if (var_7 == false) {
    pTVar5 = (type_9 *)var_8(0x34);
    pTVar5->list_next_ = (type_9 *)0x0;
    (pTVar5->name_)._M_dataplus._M_p = (type_8)&(pTVar5->name_).field_2;
    (pTVar5->name_)._M_string_length = 0;
    (pTVar5->name_).field_2._M_local_buf[0] = '\0';
    pTVar5->_vptr_Task = (type_10 **)&PTR__Write_after_input_sections_task_0038342c;
    pTVar5->should_run_soon_ = false;
    pTVar5[1]._vptr_Task = (type_10 **)layout;
    pTVar5[1].list_next_ = (type_9 *)of;
    pTVar5[1].name_._M_dataplus._M_p = var_9;
    pTVar5[1].name_._M_string_length = (type_14)pTVar4;
    Workqueue::var_10(workqueue,pTVar5);
    pTVar5 = pTVar4;
  }
  else {
    pTVar5 = (type_9 *)var_8(0x14);
    *(type_13 *)&pTVar5->_vptr_Task = 1;
    (pTVar5->name_)._M_dataplus._M_p = (type_8)0x0;
    (pTVar5->name_)._M_string_length = 0;
    (pTVar5->name_).field_2._M_allocated_capacity = 0;
    pTVar5->list_next_ = (type_9 *)0x1;
    t = (type_9 *)var_8(0x34);
    t->list_next_ = (type_9 *)0x0;
    (t->name_)._M_dataplus._M_p = (type_8)&(t->name_).field_2;
    (t->name_)._M_string_length = 0;
    (t->name_).field_2._M_local_buf[0] = '\0';
    t->_vptr_Task = (type_10 **)&PTR__Write_after_input_sections_task_0038342c;
    t->should_run_soon_ = false;
    t[1]._vptr_Task = (type_10 **)layout;
    t[1].list_next_ = (type_9 *)of;
    t[1].name_._M_dataplus._M_p = (type_8)pTVar4;
    t[1].name_._M_string_length = (type_14)pTVar5;
    Workqueue::var_10(workqueue,t);
  }
  var_7 = (type_13 *)0xffffffef < &stack0xffffffc4;
  bVar12 = &stack0x00000000 == (type_13 *)0x2c;
  var_2 = 5;
  var_12 = (type_11 *)(options->build_id_).value;
  var_13 = &DAT_00287726;
  do {
    if (var_2 == 0) break;
    var_2 = var_2 + -1;
    var_7 = *var_12 < *var_13;
    bVar12 = *var_12 == *var_13;
    var_12 = var_12 + (type_15)bVar13 * -2 + 1;
    var_13 = var_13 + (type_15)bVar13 * -2 + 1;
  } while (bVar12);
  if ((!var_7 && !bVar12) == var_7) {
    pp_Var6 = (type_10 **)var_8(0x10);
    *pp_Var6 = (type_10 *)&PTR__Build_id_task_runner_0038344c;
    pp_Var6[1] = (type_10 *)options;
    pp_Var6[2] = (type_10 *)layout;
    pp_Var6[3] = (type_10 *)of;
    pTVar4 = (type_9 *)var_8(0x30);
    pTVar4->list_next_ = (type_9 *)0x0;
    (pTVar4->name_)._M_string_length = 0;
    (pTVar4->name_).field_2._M_local_buf[0] = '\0';
    pTVar4->should_run_soon_ = false;
    pTVar4[1]._vptr_Task = pp_Var6;
    pTVar4[1].list_next_ = pTVar5;
    (pTVar4->name_)._M_dataplus._M_p = (type_8)&(pTVar4->name_).field_2;
    pTVar4->_vptr_Task = (type_10 **)&PTR__Task_function_00382e14;
    pcVar7 = "Task_function Build_id_task_runner";
  }
  else {
    pp_Var6 = (type_10 **)var_8(0x18);
    pp_Var6[4] = (type_10 *)0x0;
    pp_Var6[5] = (type_10 *)0x0;
    *pp_Var6 = (type_10 *)&PTR__Close_task_runner_00383460;
    pp_Var6[1] = (type_10 *)options;
    pp_Var6[2] = (type_10 *)layout;
    pp_Var6[3] = (type_10 *)of;
    pTVar4 = (type_9 *)var_8(0x30);
    pTVar4->list_next_ = (type_9 *)0x0;
    (pTVar4->name_)._M_dataplus._M_p = (type_8)&(pTVar4->name_).field_2;
    pTVar4->_vptr_Task = (type_10 **)&PTR__Task_function_00382e14;
    pcVar7 = "Task_function Close_task_runner";
    (pTVar4->name_)._M_string_length = 0;
    (pTVar4->name_).field_2._M_local_buf[0] = '\0';
    pTVar4->should_run_soon_ = false;
    pTVar4[1]._vptr_Task = pp_Var6;
    pTVar4[1].list_next_ = pTVar5;
  }
  pTVar4[1].name_._M_dataplus._M_p = pcVar7;
  Workqueue::var_10(workqueue,pTVar4);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (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: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (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: (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: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (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: (identifier) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (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: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (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: (number_literal))) (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: (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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (identifier))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) 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: (identifier)) right: (pointer_expression argument: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (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: (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: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) 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: (identifier)) right: (pointer_expression argument: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) condition: (parenthesized_expression (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (unary_expression argument: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (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: (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (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: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(int param_1,int *param_2,undefined4 param_3,int param_4,int param_5,
                 undefined4 param_6)

{
  undefined4 uVar1;
  undefined1 *puVar2;
  undefined1 *puVar3;
  int iVar4;
  undefined4 *puVar5;
  int iVar6;
  char *pcVar7;
  byte *pbVar8;
  byte *pbVar9;
  bool bVar10;
  bool bVar11;
  byte bVar12;
  int local_3c;
  undefined4 *puStack_38;
  undefined1 *local_2c;
  undefined1 *local_28;
  undefined **local_24;
  char local_1d;
  undefined4 uStack_14;
  
  bVar12 = 0;
  uStack_14 = 0x6abf9;
  local_3c = *(int *)(DAT_0038f378 + 4);
  if (local_3c != 0) {
    puStack_38 = (undefined4 *)0x1;
    FUN_00190080();
  }
  puStack_38 = *(undefined4 **)(param_1 + 0x3eb4);
  if (puStack_38 == (undefined4 *)0x0) {
    puStack_38 = (undefined4 *)((param_2[4] - param_2[3] >> 2) + (param_2[1] - *param_2 >> 2));
    if ((int)puStack_38 < 2) {
      puStack_38 = (undefined4 *)0x2;
    }
  }
  local_3c = param_5;
  FUN_00190d80();
  local_1d = *(char *)(param_4 + 0x1ca);
  local_2c = (undefined1 *)0x0;
  if (local_1d == '\0') {
    local_3c = 0x14;
    local_2c = (undefined1 *)FUN_001e5200();
    *local_2c = 1;
    *(undefined4 *)(local_2c + 8) = 0;
    *(undefined4 *)(local_2c + 0xc) = 0;
    *(undefined4 *)(local_2c + 0x10) = 0;
    *(int *)(local_2c + 4) = (param_2[1] - *param_2 >> 2) + 1;
  }
  local_3c = 0x14;
  puVar2 = (undefined1 *)FUN_001e5200();
  *puVar2 = 1;
  *(undefined4 *)(puVar2 + 8) = 0;
  *(undefined4 *)(puVar2 + 0xc) = 0;
  *(undefined4 *)(puVar2 + 0x10) = 0;
  *(undefined4 *)(puVar2 + 4) = 1;
  local_3c = 0x14;
  local_28 = puVar2;
  puVar3 = (undefined1 *)FUN_001e5200();
  *puVar3 = 1;
  *(undefined4 *)(puVar3 + 8) = 0;
  *(undefined4 *)(puVar3 + 0xc) = 0;
  *(undefined4 *)(puVar3 + 0x10) = 0;
  iVar4 = param_2[1] - *param_2 >> 2;
  iVar6 = iVar4 + 3;
  if (local_1d == '\0') {
    iVar6 = iVar4 + 4;
  }
  *(int *)(puVar3 + 4) = iVar6;
  local_3c = 0x3c;
  puStack_38 = (undefined4 *)FUN_001e5200();
  puStack_38[1] = 0;
  puStack_38[2] = puStack_38 + 4;
  puStack_38[9] = param_4;
  puStack_38[3] = 0;
  *puStack_38 = &PTR_FUN_0038340c;
  *(undefined1 *)(puStack_38 + 4) = 0;
  puStack_38[10] = param_3;
  puStack_38[0xb] = param_4 + 0x54;
  *(undefined1 *)(puStack_38 + 8) = 0;
  puStack_38[0xc] = param_4 + 0xa0;
  puStack_38[0xd] = param_6;
  puStack_38[0xe] = puVar3;
  local_3c = param_5;
  FUN_001906a0();
  local_3c = 0x38;
  puStack_38 = (undefined4 *)FUN_001e5200();
  puStack_38[0xb] = puVar2;
  puStack_38[2] = puStack_38 + 4;
  puStack_38[10] = param_6;
  puStack_38[1] = 0;
  *puStack_38 = &PTR_FUN_003833cc;
  puStack_38[3] = 0;
  *(undefined1 *)(puStack_38 + 4) = 0;
  *(undefined1 *)(puStack_38 + 8) = 0;
  puStack_38[9] = param_4;
  puStack_38[0xc] = local_2c;
  puStack_38[0xd] = puVar3;
  local_3c = param_5;
  FUN_001906a0();
  local_3c = 0x34;
  puStack_38 = (undefined4 *)FUN_001e5200();
  puStack_38[1] = 0;
  puStack_38[2] = puStack_38 + 4;
  puStack_38[9] = param_4;
  puStack_38[3] = 0;
  puStack_38[10] = param_3;
  *(undefined1 *)(puStack_38 + 4) = 0;
  *(undefined1 *)(puStack_38 + 8) = 0;
  *puStack_38 = &PTR_FUN_003833ec;
  puStack_38[0xb] = param_6;
  puStack_38[0xc] = puVar3;
  local_3c = param_5;
  FUN_001906a0();
  puVar5 = (undefined4 *)*param_2;
  if (puVar5 != (undefined4 *)param_2[1]) {
    local_24 = &PTR_FUN_00384ef0;
    do {
      uVar1 = *puVar5;
      puVar5 = puVar5 + 1;
      local_3c = 0x40;
      puStack_38 = (undefined4 *)FUN_001e5200();
      puStack_38[0xb] = uVar1;
      puStack_38[2] = puStack_38 + 4;
      puStack_38[0xc] = param_6;
      *puStack_38 = local_24;
      puStack_38[1] = 0;
      puStack_38[9] = param_3;
      puStack_38[3] = 0;
      *(undefined1 *)(puStack_38 + 4) = 0;
      *(undefined1 *)(puStack_38 + 8) = 0;
      puStack_38[10] = param_4;
      puStack_38[0xd] = local_2c;
      puStack_38[0xe] = local_28;
      puStack_38[0xf] = puVar3;
      local_3c = param_5;
      FUN_001906a0();
    } while ((undefined4 *)param_2[1] != puVar5);
  }
  if (local_1d == '\0') {
    local_3c = 0x34;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[2] = puStack_38 + 4;
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *puStack_38 = &PTR_FUN_0038342c;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = param_4;
    puStack_38[10] = param_6;
    puStack_38[0xb] = local_2c;
    puStack_38[0xc] = puVar3;
    local_3c = param_5;
    FUN_001906a0();
    puVar2 = puVar3;
  }
  else {
    local_3c = 0x14;
    puVar2 = (undefined1 *)FUN_001e5200();
    *puVar2 = 1;
    *(undefined4 *)(puVar2 + 8) = 0;
    *(undefined4 *)(puVar2 + 0xc) = 0;
    *(undefined4 *)(puVar2 + 0x10) = 0;
    *(undefined4 *)(puVar2 + 4) = 1;
    local_3c = 0x34;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[2] = puStack_38 + 4;
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *puStack_38 = &PTR_FUN_0038342c;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = param_4;
    puStack_38[10] = param_6;
    puStack_38[0xb] = puVar3;
    puStack_38[0xc] = puVar2;
    local_3c = param_5;
    FUN_001906a0();
  }
  bVar10 = (undefined1 *)0xffffffef < &local_3c;
  bVar11 = &stack0x00000000 == (undefined1 *)0x2c;
  iVar6 = 5;
  pbVar8 = *(byte **)(param_1 + 0x478);
  pbVar9 = &DAT_00287726;
  do {
    if (iVar6 == 0) break;
    iVar6 = iVar6 + -1;
    bVar10 = *pbVar8 < *pbVar9;
    bVar11 = *pbVar8 == *pbVar9;
    pbVar8 = pbVar8 + (uint)bVar12 * -2 + 1;
    pbVar9 = pbVar9 + (uint)bVar12 * -2 + 1;
  } while (bVar11);
  if ((!bVar10 && !bVar11) == bVar10) {
    local_3c = 0x10;
    puVar5 = (undefined4 *)FUN_001e5200();
    *puVar5 = &PTR_FUN_0038344c;
    puVar5[1] = param_1;
    puVar5[2] = param_4;
    puVar5[3] = param_6;
    local_3c = 0x30;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = puVar5;
    puStack_38[10] = puVar2;
    puStack_38[2] = puStack_38 + 4;
    *puStack_38 = &PTR_FUN_00382e14;
    pcVar7 = "Task_function Build_id_task_runner";
  }
  else {
    local_3c = 0x18;
    puVar5 = (undefined4 *)FUN_001e5200();
    puVar5[4] = 0;
    puVar5[5] = 0;
    *puVar5 = &PTR_FUN_00383460;
    puVar5[1] = param_1;
    puVar5[2] = param_4;
    puVar5[3] = param_6;
    local_3c = 0x30;
    puStack_38 = (undefined4 *)FUN_001e5200();
    puStack_38[1] = 0;
    puStack_38[2] = puStack_38 + 4;
    *puStack_38 = &PTR_FUN_00382e14;
    pcVar7 = "Task_function Close_task_runner";
    puStack_38[3] = 0;
    *(undefined1 *)(puStack_38 + 4) = 0;
    *(undefined1 *)(puStack_38 + 8) = 0;
    puStack_38[9] = puVar5;
    puStack_38[10] = puVar2;
  }
  puStack_38[0xb] = pcVar7;
  local_3c = param_5;
  FUN_001906a0();
  return;
}

