// Decompiled from acclient.exe — chunk 0x006A0000
// Ghidra 12.0.4 + pyghidra headless

// --- FUN_006a0020 at 0x006A0020 (size: 209) ---


void __thiscall

FUN_006a0020(int param_1,int *param_2,undefined4 param_3,int *param_4,undefined4 param_5)



{

  int iVar1;

  int iVar2;

  int *piVar3;

  int iVar4;

  int local_14;

  int local_10;

  int local_c;

  int local_8;

  int local_4;

  

  iVar1 = param_2[1];

  iVar2 = *param_2;

  if ((*(int *)(param_1 + 0x98) != 0) && (local_14 = param_4[2], local_14 != 0)) {

    iVar4 = local_14 << 4;

    do {

      iVar4 = iVar4 + -0x10;

      piVar3 = (int *)(*param_4 + iVar4);

      local_10 = *piVar3 - iVar2;

      local_c = piVar3[1] - iVar1;

      local_8 = piVar3[2] - iVar2;

      local_4 = piVar3[3] - iVar1;

      FUN_00694a40(*(undefined4 *)(param_1 + 0xa8),*(undefined4 *)(param_1 + 0xa0),param_2,piVar3,

                   &local_10,param_1 + 0x8c,param_5);

      local_14 = local_14 + -1;

    } while (local_14 != 0);

  }

  return;

}





// --- FUN_006a0100 at 0x006A0100 (size: 142) ---


int * __thiscall FUN_006a0100(int param_1,int *param_2)



{

  int iVar1;

  int iVar2;

  int iVar3;

  int iVar4;

  int iVar5;

  int iVar6;

  undefined8 uVar7;

  

  iVar5 = *(int *)(param_1 + 0xb0);

  iVar1 = *(int *)(param_1 + 0x84);

  iVar2 = *(int *)(param_1 + 0x7c);

  iVar3 = *(int *)(param_1 + 0x80);

  iVar4 = *(int *)(param_1 + 0x88);

  if ((iVar5 == 0) && (*(int *)(param_1 + 0xac) != 0)) {

    uVar7 = FUN_0069fd70();

    param_1 = (int)((ulonglong)uVar7 >> 0x20);

    iVar6 = (int)uVar7 + iVar3;

  }

  else {

    iVar6 = 0;

  }

  if ((iVar5 == 0) && (*(int *)(param_1 + 0xac) != 0)) {

    uVar7 = FUN_0069fd40();

    iVar5 = (int)uVar7 + *(int *)((int)((ulonglong)uVar7 >> 0x20) + 0x7c);

  }

  else {

    iVar5 = 0;

  }

  *param_2 = iVar5;

  param_2[1] = iVar6;

  param_2[3] = (iVar4 - iVar3) + iVar6;

  param_2[2] = (iVar5 - iVar2) + iVar1;

  return param_2;

}





// --- FUN_006a0190 at 0x006A0190 (size: 73) ---


int __fastcall FUN_006a0190(int param_1)



{

  int iVar1;

  undefined8 uVar2;

  

  if (*(int *)(param_1 + 0xb0) != 0) {

    return (*(int *)(param_1 + 0x84) - *(int *)(param_1 + 0x7c)) +

           *(int *)(*(int *)(param_1 + 0xb0) + 0x20);

  }

  if (*(int *)(param_1 + 0xac) != 0) {

    uVar2 = FUN_0069fe00();

    iVar1 = (int)((ulonglong)uVar2 >> 0x20);

    return (*(int *)(iVar1 + 0x84) - *(int *)(iVar1 + 0x7c)) + (int)uVar2 + *(int *)(iVar1 + 0x7c);

  }

  return *(int *)(param_1 + 0x84) - *(int *)(param_1 + 0x7c);

}





// --- FUN_006a01e0 at 0x006A01E0 (size: 85) ---


int __fastcall FUN_006a01e0(int param_1)



{

  int iVar1;

  undefined8 uVar2;

  

  if (*(int *)(param_1 + 0xb0) != 0) {

    return (*(int *)(param_1 + 0x88) - *(int *)(param_1 + 0x80)) +

           *(int *)(*(int *)(param_1 + 0xb0) + 0x24);

  }

  if (*(int *)(param_1 + 0xac) != 0) {

    uVar2 = FUN_0069fe30();

    iVar1 = (int)((ulonglong)uVar2 >> 0x20);

    return (*(int *)(iVar1 + 0x88) - *(int *)(iVar1 + 0x80)) + (int)uVar2 + *(int *)(iVar1 + 0x80);

  }

  return *(int *)(param_1 + 0x88) - *(int *)(param_1 + 0x80);

}





// --- FUN_006a0240 at 0x006A0240 (size: 243) ---


void __thiscall FUN_006a0240(int param_1,undefined4 *param_2)



{

  int iVar1;

  char cVar2;

  undefined4 *puVar3;

  undefined4 uVar4;

  undefined4 local_30;

  undefined4 local_2c;

  int local_28;

  int local_24;

  undefined4 local_20;

  undefined4 local_1c;

  undefined4 local_18;

  undefined4 local_14;

  undefined4 local_10 [4];

  

  iVar1 = *(int *)(param_1 + 0xb0);

  local_30 = 0;

  local_28 = -1;

  local_2c = 0;

  local_24 = -1;

  if (iVar1 == 0) {

    if (*(int *)(param_1 + 0xac) != 0) {

      puVar3 = (undefined4 *)FUN_006a0240(&local_20);

      if (&local_30 != puVar3) {

        local_30 = *puVar3;

        local_28 = puVar3[2];

        local_2c = puVar3[1];

        local_24 = puVar3[3];

      }

    }

  }

  else {

    local_28 = *(int *)(iVar1 + 0x28) + -1;

    local_24 = *(int *)(iVar1 + 0x2c) + -1;

    local_30 = 0;

    local_2c = 0;

  }

  puVar3 = &local_20;

  local_20 = 0;

  local_1c = 0;

  local_18 = 0;

  local_14 = 0;

  uVar4 = FUN_006a0100(local_10);

  cVar2 = FUN_00466680(uVar4,puVar3);

  if (cVar2 == '\0') {

    if (param_2 != local_10) {

      *param_2 = 0;

      param_2[1] = 0;

      param_2[2] = 0xffffffff;

      param_2[3] = 0xffffffff;

      return;

    }

  }

  else if (param_2 != &local_20) {

    *param_2 = local_20;

    param_2[2] = local_18;

    param_2[1] = local_1c;

    param_2[3] = local_14;

  }

  return;

}





// --- FUN_006a0340 at 0x006A0340 (size: 169) ---


void __thiscall FUN_006a0340(int param_1,int *param_2)



{

  int iVar1;

  int iVar2;

  undefined8 uVar3;

  int local_20;

  int local_1c;

  int local_18;

  int local_14;

  int local_10;

  int local_c;

  

  FUN_006a0240(&local_20);

  FUN_006a0100(&local_10);

  iVar1 = *(int *)(param_1 + 0xb0);

  if (iVar1 == 0) {

    if (*(int *)(param_1 + 0xac) == 0) {

      iVar2 = 0;

    }

    else {

      iVar2 = FUN_0069fe30();

      iVar2 = iVar2 + *(int *)(param_1 + 0x80);

    }

  }

  else {

    iVar2 = *(int *)(iVar1 + 0x24);

  }

  if (iVar1 == 0) {

    if (*(int *)(param_1 + 0xac) == 0) {

      iVar1 = 0;

    }

    else {

      uVar3 = FUN_0069fe00();

      iVar2 = (int)((ulonglong)uVar3 >> 0x20);

      iVar1 = (int)uVar3 + *(int *)(param_1 + 0x7c);

    }

  }

  else {

    iVar1 = *(int *)(iVar1 + 0x20);

  }

  iVar2 = (local_1c - local_c) + iVar2;

  iVar1 = (iVar1 - local_10) + local_20;

  param_2[1] = iVar2;

  *param_2 = iVar1;

  param_2[2] = (local_18 - local_20) + iVar1;

  param_2[3] = (iVar2 - local_1c) + local_14;

  return;

}





// --- FUN_006a03f0 at 0x006A03F0 (size: 64) ---


undefined4 * __thiscall FUN_006a03f0(undefined4 *param_1,byte param_2)



{

  *param_1 = &PTR_FUN_0080286c;

  if ((undefined4 *)param_1[0x18] != param_1 + 1) {

    operator_delete__((undefined4 *)param_1[0x18]);

  }

  param_1[0x18] = 0;

  param_1[0x19] = 0;

  param_1[0x1a] = 0;

  param_1[0x1b] = 0;

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006a0430 at 0x006A0430 (size: 35) ---


void __fastcall FUN_006a0430(int *param_1)



{

  undefined1 local_10 [16];

  

  (**(code **)(*param_1 + 0x34))(local_10);

  FUN_0069ff00(&stack0xffffffec);

  return;

}





// --- FUN_006a0460 at 0x006A0460 (size: 128) ---


/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */



void __thiscall FUN_006a0460(int *param_1,float param_2)



{

  float fVar1;

  float fVar2;

  undefined1 local_10 [16];

  

  fVar2 = DAT_00796344;

  if ((DAT_00796344 <= param_2) && (fVar2 = param_2, _DAT_007938b0 < param_2)) {

    fVar2 = _DAT_007938b0;

  }

  fVar1 = (float)param_1[0x28];

  param_1[0x28] = (int)fVar2;

  if ((fVar2 != fVar1) && (param_1[0x2a] != 0)) {

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a04e0 at 0x006A04E0 (size: 136) ---


void __thiscall FUN_006a04e0(int *param_1,int param_2)



{

  undefined1 *puStack_1c;

  undefined1 local_10 [16];

  

  if (param_1[0x2b] != param_2) {

    puStack_1c = local_10;

    (**(code **)(*param_1 + 0x34))();

    FUN_0069ff00(&stack0xffffffec);

    if ((int *)param_1[0x2b] != (int *)0x0) {

      (**(code **)(*(int *)param_1[0x2b] + 0x70))(param_1);

    }

    param_1[0x2b] = param_2;

    (**(code **)(*param_1 + 0x18))((uint)param_1[0x29] >> 1 & 0xffffff01);

    (**(code **)(*param_1 + 0x34))(&stack0xffffffe8);

    FUN_0069ff00(&puStack_1c);

    if ((int *)param_1[0x2b] != (int *)0x0) {

      (**(code **)(*(int *)param_1[0x2b] + 0x6c))(param_1);

    }

  }

  return;

}





// --- FUN_006a0570 at 0x006A0570 (size: 55) ---


void __thiscall FUN_006a0570(int *param_1,int param_2)



{

  undefined1 local_10 [16];

  

  if (param_1[0x2a] != param_2) {

    param_1[0x2a] = param_2;

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a05b0 at 0x006A05B0 (size: 81) ---


void __thiscall FUN_006a05b0(int *param_1,int *param_2)



{

  undefined1 local_10 [16];

  

  if ((param_1[0x23] != *param_2) || (param_1[0x24] != param_2[1])) {

    param_1[0x23] = *param_2;

    param_1[0x24] = param_2[1];

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a0610 at 0x006A0610 (size: 67) ---


void __thiscall FUN_006a0610(int *param_1,undefined4 *param_2)



{

  undefined4 *puVar1;

  undefined1 local_10 [16];

  

  puVar1 = (undefined4 *)param_1[0x26];

  param_1[0x26] = (int)param_2;

  if (puVar1 != param_2) {

    if (puVar1 != (undefined4 *)0x0) {

      (**(code **)*puVar1)(1);

    }

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a0660 at 0x006A0660 (size: 69) ---


void __fastcall FUN_006a0660(int *param_1)



{

  undefined4 *puVar1;

  undefined1 local_10 [16];

  

  puVar1 = (undefined4 *)param_1[0x26];

  if (puVar1 != (undefined4 *)0x0) {

    (**(code **)*puVar1)(1);

  }

  param_1[0x26] = 0;

  if (puVar1 != (undefined4 *)0x0) {

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a06b0 at 0x006A06B0 (size: 144) ---


void __thiscall FUN_006a06b0(int *param_1,int param_2,int param_3)



{

  int iVar1;

  int iVar2;

  undefined1 local_10 [16];

  

  if ((param_2 != param_1[0x1f]) || (param_3 != param_1[0x20])) {

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

    iVar1 = param_1[0x1f];

    iVar2 = param_1[0x20];

    param_1[0x1f] = param_2;

    param_1[0x20] = param_3;

    param_1[0x21] = (param_2 - iVar1) + param_1[0x21];

    param_1[0x22] = (param_1[0x20] - iVar2) + param_1[0x22];

    (**(code **)(*param_1 + 0x34))(&stack0xffffffec);

    FUN_0069ff00(&stack0xffffffe8);

  }

  return;

}





// --- FUN_006a0740 at 0x006A0740 (size: 145) ---


void __thiscall FUN_006a0740(int *param_1,int param_2,int param_3)



{

  int iVar1;

  int iVar2;

  undefined1 local_10 [16];

  

  iVar1 = (param_1[0x21] - param_1[0x1f]) + 1;

  iVar2 = (param_1[0x22] - param_1[0x20]) + 1;

  if ((param_2 != iVar1) || (param_3 != iVar2)) {

    if ((param_2 < iVar1) || (param_3 < iVar2)) {

      (**(code **)(*param_1 + 0x34))(local_10);

      FUN_0069ff00(local_10);

    }

    param_1[0x21] = param_1[0x1f] + -1 + param_2;

    param_1[0x22] = param_1[0x20] + -1 + param_3;

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a07e0 at 0x006A07E0 (size: 197) ---


void __thiscall FUN_006a07e0(int *param_1,undefined4 param_2,int param_3)



{

  undefined4 *puVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined1 local_10 [16];

  

  puVar3 = (undefined4 *)param_1[0x26];

  if (puVar3 != (undefined4 *)0x0) {

    (**(code **)*puVar3)(1);

  }

  param_1[0x26] = 0;

  if (puVar3 != (undefined4 *)0x0) {

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(local_10);

  }

  if (param_3 == 2) {

    param_1[0x2a] = 1;

  }

  else if (param_3 == 3) {

    param_1[0x2a] = 2;

  }

  else {

    param_1[0x2a] = 0;

  }

  iVar2 = FUN_005df0f5(0xc);

  if (iVar2 == 0) {

    puVar3 = (undefined4 *)0x0;

  }

  else {

    puVar3 = (undefined4 *)FUN_00694e00(param_2);

  }

  puVar1 = (undefined4 *)param_1[0x26];

  param_1[0x26] = (int)puVar3;

  if (puVar1 != puVar3) {

    if (puVar1 != (undefined4 *)0x0) {

      (**(code **)*puVar1)(1);

    }

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a0b20 at 0x006A0B20 (size: 237) ---


void __thiscall

FUN_006a0b20(int param_1,int *param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5)



{

  int *piVar1;

  char cVar2;

  int iVar3;

  undefined4 uStack_30;

  undefined4 uStack_2c;

  undefined4 uStack_28;

  undefined4 uStack_24;

  int iStack_20;

  int iStack_1c;

  int iStack_18;

  int iStack_14;

  int local_10;

  int iStack_c;

  int iStack_8;

  int iStack_4;

  

  iVar3 = 0;

  if (*(int *)(param_1 + 0x120) != 0) {

    if (*(int *)(param_1 + 0x124) == 0) {

      iVar3 = 0;

    }

    else {

      iVar3 = *(int *)(param_1 + 0x124) + -8;

    }

  }

  while( true ) {

    if (iVar3 == 0) {

      return;

    }

    piVar1 = *(int **)(iVar3 + 0x10);

    if (piVar1[0x2c] == 0) {

      (**(code **)(*piVar1 + 0x34))(&local_10);

      iStack_1c = param_2[1] + iStack_c;

      iStack_20 = *param_2 + local_10;

      iStack_18 = (iStack_8 - local_10) + iStack_20;

      iStack_14 = (iStack_1c - iStack_c) + iStack_4;

      uStack_30 = 0;

      uStack_2c = 0;

      uStack_28 = 0;

      uStack_24 = 0;

      cVar2 = FUN_00466680(&iStack_20,&uStack_30);

      if (cVar2 != '\0') {

        (**(code **)(*piVar1 + 0x3c))(&iStack_20,&uStack_30,param_4,param_5);

      }

    }

    if (*(int *)(iVar3 + 8) == 0) break;

    iVar3 = *(int *)(iVar3 + 8) + -8;

  }

  return;

}





// --- FUN_006a0c10 at 0x006A0C10 (size: 143) ---


void __thiscall FUN_006a0c10(int *param_1,uint param_2)



{

  int iVar1;

  undefined1 local_10 [4];

  int *piStack_c;

  

  if (((param_2 & 2) != 0) && ((int *)param_1[0x2c] != (int *)0x0)) {

    (**(code **)(*(int *)param_1[0x2c] + 8))();

  }

  if ((param_2 & 1) != 0) {

    (**(code **)(*param_1 + 0x34))(local_10);

    FUN_0069ff00(local_10);

  }

  if ((param_2 & 4) != 0) {

    piStack_c = param_1 + 0x2d;

    iVar1 = 0;

    if (param_1[0x48] != 0) {

      if (param_1[0x49] == 0) {

        iVar1 = 0;

      }

      else {

        iVar1 = param_1[0x49] + -8;

      }

    }

    for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 8) + -8) {

      FUN_006a0c10(param_2);

      if (*(int *)(iVar1 + 8) == 0) {

        return;

      }

    }

  }

  return;

}





// --- FUN_006a0d50 at 0x006A0D50 (size: 184) ---


void __thiscall FUN_006a0d50(int *param_1,byte param_2)



{

  uint uVar1;

  int iVar2;

  int *piVar3;

  undefined1 auStack_10 [4];

  int *local_c;

  

  uVar1 = param_1[0x29];

  local_c = param_1 + 0x2d;

  param_1[0x29] = ((uint)param_2 * 2 ^ uVar1) & 2 ^ uVar1;

  piVar3 = (int *)0x0;

  if (param_1[0x48] != 0) {

    if (param_1[0x49] == 0) {

      piVar3 = (int *)0x0;

    }

    else {

      piVar3 = (int *)(param_1[0x49] + -8);

    }

  }

  for (; piVar3 != (int *)0x0; piVar3 = (int *)(piVar3[2] + -8)) {

    (**(code **)(*(int *)*piVar3 + 0x18))((uint)((int *)*piVar3)[0x29] >> 1 & 0xffffff01);

    if (piVar3[2] == 0) break;

  }

  if ((uVar1 >> 1 & 1) != (uint)param_2) {

    iVar2 = param_1[0x2c];

    if ((iVar2 != 0) && (*(byte *)(iVar2 + 8) = param_2, *(int *)(iVar2 + 0xc) != 0)) {

      FUN_00448be0();

    }

    (**(code **)(*param_1 + 0x34))(auStack_10);

    FUN_0069ff00(&stack0xffffffec);

  }

  return;

}





// --- FUN_006a0e10 at 0x006A0E10 (size: 143) ---


undefined4 * __thiscall FUN_006a0e10(undefined4 *param_1,undefined4 param_2)



{

  undefined *puVar1;

  uint *puVar2;

  undefined4 uVar3;

  uint uVar4;

  int iVar5;

  undefined4 *puVar6;

  

  param_1[0x18] = 0;

  param_1[0x19] = 0;

  param_1[0x1a] = 0;

  param_1[0x1b] = 0;

  *param_1 = &PTR_FUN_0080286c;

  puVar1 = PTR_DAT_00818558;

  puVar2 = (uint *)FUN_00422d20(PTR_DAT_00818554,PTR_DAT_00818558,&param_2,param_2,0);

  if (puVar2 == (uint *)puVar1) {

    puVar2 = puVar2 + -1;

  }

  uVar4 = *puVar2;

  param_1[0x1a] = uVar4;

  if (uVar4 < 0x18) {

    param_1[0x18] = param_1 + 1;

  }

  else {

    uVar3 = thunk_FUN_005df0f5(uVar4 << 2);

    param_1[0x18] = uVar3;

  }

  param_1[0x19] = (undefined4 *)param_1[0x18] + param_1[0x1a];

  puVar6 = (undefined4 *)param_1[0x18];

  for (uVar4 = param_1[0x1a] & 0x3fffffff; uVar4 != 0; uVar4 = uVar4 - 1) {

    *puVar6 = 0;

    puVar6 = puVar6 + 1;

  }

  for (iVar5 = 0; iVar5 != 0; iVar5 = iVar5 + -1) {

    *(undefined1 *)puVar6 = 0;

    puVar6 = (undefined4 *)((int)puVar6 + 1);

  }

  return param_1;

}





// --- FUN_006a0ea0 at 0x006A0EA0 (size: 19) ---


void FUN_006a0ea0(void)



{

  FUN_0045ce60(&stack0x0000000c);

  return;

}





// --- FUN_006a0ec0 at 0x006A0EC0 (size: 30) ---


void FUN_006a0ec0(void)



{

  void *pvVar1;

  

  pvVar1 = (void *)FUN_004171e0(&stack0x0000000c);

  if (pvVar1 != (void *)0x0) {

    operator_delete(pvVar1);

  }

  return;

}





// --- FUN_006a0ee0 at 0x006A0EE0 (size: 131) ---


undefined4 __thiscall FUN_006a0ee0(int param_1,uint *param_2)



{

  uint uVar1;

  uint *puVar2;

  undefined3 uVar3;

  

  uVar1 = *param_2;

  puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +

                     ((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

  do {

    if (puVar2 == (uint *)0x0) {

LAB_006a0f12:

      FUN_00464bd0(param_2);

LAB_006a0f1a:

      puVar2 = param_2 + 2;

      *puVar2 = *(uint *)(param_1 + 0x70);

      uVar3 = (undefined3)((uint)puVar2 >> 8);

      if (*(int *)(param_1 + 0x70) == 0) {

        *(uint **)(param_1 + 0x74) = puVar2;

        *(uint **)(param_1 + 0x70) = puVar2;

        param_2[3] = 0;

        return CONCAT31(uVar3,1);

      }

      *(uint **)(*(int *)(param_1 + 0x70) + 4) = puVar2;

      *(uint **)(param_1 + 0x70) = puVar2;

      param_2[3] = 0;

      return CONCAT31(uVar3,1);

    }

    if (*puVar2 == uVar1) {

      if (puVar2 != (uint *)0x0) {

        FUN_00410880(param_2 + 2);

        goto LAB_006a0f1a;

      }

      goto LAB_006a0f12;

    }

    puVar2 = (uint *)puVar2[1];

  } while( true );

}





// --- FUN_006a0f70 at 0x006A0F70 (size: 193) ---


undefined4 * __thiscall

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



{

  FUN_00466380();

  *param_1 = &PTR_FUN_00802870;

  param_1[0x1f] = param_3;

  param_1[0x20] = param_4;

  param_1[0x21] = param_3 + -1 + param_5;

  param_1[0x22] = param_4 + -1 + param_6;

  param_1[0x29] = param_1[0x29] & 0xffffff06 | 2;

  param_1[0x25] = 0;

  param_1[0x26] = 0;

  param_1[0x27] = 0;

  param_1[0x28] = 0x3f800000;

  param_1[0x2a] = 0;

  param_1[0x2b] = 0;

  param_1[0x2c] = 0;

  FUN_006a0e10(0);

  param_1[0x49] = 0;

  param_1[0x4a] = 0;

  param_1[0x4b] = &PTR_FUN_0079cdb0;

  FUN_0045bac0(4);

  param_1[0x23] = 0;

  param_1[0x24] = 0;

  return param_1;

}





// --- FUN_006a1050 at 0x006A1050 (size: 3) ---


undefined1 FUN_006a1050(void)



{

  return 0;

}





// --- FUN_006a1070 at 0x006A1070 (size: 219) ---


void __fastcall FUN_006a1070(undefined4 *param_1)



{

  int *piVar1;

  undefined4 *puVar2;

  

  *param_1 = &PTR_FUN_00802870;

  if ((undefined4 *)param_1[0x26] != (undefined4 *)0x0) {

    (*(code *)**(undefined4 **)param_1[0x26])(1);

  }

  param_1[0x26] = 0;

  if ((undefined4 *)param_1[0x27] != (undefined4 *)0x0) {

    (*(code *)**(undefined4 **)param_1[0x27])(1);

  }

  param_1[0x27] = 0;

  FUN_00464b50();

  puVar2 = (undefined4 *)param_1[0x2c];

  if (puVar2 != (undefined4 *)0x0) {

    piVar1 = puVar2 + 1;

    *piVar1 = *piVar1 + -1;

    if (*piVar1 == 0) {

      (**(code **)*puVar2)(1);

    }

    param_1[0x2c] = 0;

  }

  param_1[0x2b] = 0;

  param_1[0x4b] = &PTR_FUN_0079cdb0;

  FUN_005870f0();

  param_1[0x4c] = &PTR_FUN_0079cda8;

  if ((undefined4 *)param_1[100] != param_1 + 0x4d) {

    operator_delete__((undefined4 *)param_1[100]);

  }

  param_1[100] = 0;

  param_1[0x65] = 0;

  param_1[0x66] = 0;

  param_1[0x67] = 0;

  FUN_00676850();

  param_1[0x2d] = &PTR_FUN_0080286c;

  if ((undefined4 *)param_1[0x45] != param_1 + 0x2e) {

    operator_delete__((undefined4 *)param_1[0x45]);

  }

  param_1[0x45] = 0;

  param_1[0x46] = 0;

  param_1[0x47] = 0;

  param_1[0x48] = 0;

  FUN_004663b0();

  return;

}





// --- FUN_006a1150 at 0x006A1150 (size: 30) ---


void FUN_006a1150(void)



{

  void *pvVar1;

  

  pvVar1 = (void *)FUN_00464840(&stack0x00000004);

  if (pvVar1 != (void *)0x0) {

    operator_delete(pvVar1);

  }

  return;

}





// --- FUN_006a1170 at 0x006A1170 (size: 73) ---


undefined4 __thiscall FUN_006a1170(int param_1,uint *param_2)



{

  uint uVar1;

  uint *puVar2;

  undefined4 uVar3;

  

  uVar1 = *param_2;

  puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +

                     ((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

  if (puVar2 != (uint *)0x0) {

    while (*puVar2 != uVar1) {

      puVar2 = (uint *)puVar2[1];

      if (puVar2 == (uint *)0x0) {

        return 0;

      }

    }

    if (puVar2 != (uint *)0x0) {

      uVar3 = FUN_006a0ee0();

      return uVar3;

    }

  }

  return 0;

}





// --- FUN_006a11c0 at 0x006A11C0 (size: 124) ---


uint __thiscall FUN_006a11c0(int param_1,uint *param_2)



{

  uint uVar1;

  uint *puVar2;

  undefined3 uVar3;

  

  uVar1 = *param_2;

  puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +

                     ((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

  do {

    if (puVar2 == (uint *)0x0) {

LAB_006a11f2:

      FUN_00464bd0(param_2);

      puVar2 = param_2 + 2;

      *puVar2 = *(uint *)(param_1 + 0x70);

      uVar3 = (undefined3)((uint)puVar2 >> 8);

      if (*(int *)(param_1 + 0x70) == 0) {

        *(uint **)(param_1 + 0x74) = puVar2;

        *(uint **)(param_1 + 0x70) = puVar2;

        param_2[3] = 0;

        return CONCAT31(uVar3,1);

      }

      *(uint **)(*(int *)(param_1 + 0x70) + 4) = puVar2;

      *(uint **)(param_1 + 0x70) = puVar2;

      param_2[3] = 0;

      return CONCAT31(uVar3,1);

    }

    if (*puVar2 == uVar1) {

      if (puVar2 != (uint *)0x0) {

        return (uint)puVar2 & 0xffffff00;

      }

      goto LAB_006a11f2;

    }

    puVar2 = (uint *)puVar2[1];

  } while( true );

}





// --- FUN_006a1240 at 0x006A1240 (size: 106) ---


undefined4 FUN_006a1240(int param_1,int param_2)



{

  char cVar1;

  undefined4 uVar2;

  

  if (param_1 == 0) {

    uVar2 = FUN_006a11c0(param_2);

    return uVar2;

  }

  cVar1 = FUN_00463650(param_2);

  if (cVar1 != '\0') {

    return 0;

  }

  FUN_00464bd0(param_2);

  if (param_2 != 0) {

    FUN_00410820(param_2 + 8,param_1 + 8);

    return 1;

  }

  FUN_00410820(0,param_1 + 8);

  return 1;

}





// --- FUN_006a12b0 at 0x006A12B0 (size: 129) ---


undefined4 FUN_006a12b0(int param_1,int param_2)



{

  char cVar1;

  undefined4 uVar2;

  

  if (param_1 == 0) {

    uVar2 = FUN_006a0ee0(param_2);

    return uVar2;

  }

  cVar1 = FUN_00463650(param_2);

  if (cVar1 == '\0') {

    FUN_00464bd0(param_2);

  }

  else if (param_2 == 0) {

    FUN_00410880(0);

  }

  else {

    FUN_00410880(param_2 + 8);

  }

  if (param_2 != 0) {

    FUN_00410820(param_2 + 8,param_1 + 8);

    return 1;

  }

  FUN_00410820(0,param_1 + 8);

  return 1;

}





// --- FUN_006a1340 at 0x006A1340 (size: 30) ---


void * __thiscall FUN_006a1340(void *param_1,byte param_2)



{

  FUN_006a1070();

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006a1360 at 0x006A1360 (size: 155) ---


char __thiscall FUN_006a1360(int param_1,uint *param_2,uint *param_3)



{

  uint uVar1;

  char cVar2;

  uint *puVar3;

  

  uVar1 = *param_2;

  puVar3 = *(uint **)(*(int *)(param_1 + 0x60) +

                     ((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

  do {

    if (puVar3 == (uint *)0x0) {

LAB_006a1390:

      puVar3 = (uint *)FUN_005df0f5(0x14);

      if (puVar3 == (uint *)0x0) {

        puVar3 = (uint *)0x0;

      }

      else {

        *puVar3 = *param_2;

        puVar3[1] = 0;

        puVar3[2] = 0;

        puVar3[3] = 0;

        puVar3[4] = *param_3;

      }

      cVar2 = FUN_006a11c0(puVar3);

      if ((cVar2 == '\0') && (puVar3 != (uint *)0x0)) {

        operator_delete(puVar3);

      }

      return cVar2;

    }

    if (*puVar3 == uVar1) {

      if (puVar3 != (uint *)0x0) {

        cVar2 = FUN_006a1170(param_2);

        return cVar2;

      }

      goto LAB_006a1390;

    }

    puVar3 = (uint *)puVar3[1];

  } while( true );

}





// --- FUN_006a1400 at 0x006A1400 (size: 135) ---


uint __thiscall FUN_006a1400(int param_1,uint *param_2,uint *param_3)



{

  uint *puVar1;

  uint *puVar2;

  uint uVar3;

  

  uVar3 = *param_2;

  for (puVar1 = *(uint **)(*(int *)(param_1 + 0x60) +

                          ((uVar3 << 0x18 | uVar3 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

      (puVar1 != (uint *)0x0 && (*puVar1 != uVar3)); puVar1 = (uint *)puVar1[1]) {

  }

  uVar3 = *param_3;

  for (puVar2 = *(uint **)(*(int *)(param_1 + 0x60) +

                          ((uVar3 << 0x18 | uVar3 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

      (puVar2 != (uint *)0x0 && (*puVar2 != uVar3)); puVar2 = (uint *)puVar2[1]) {

  }

  if ((puVar1 != (uint *)0x0) && (puVar2 != (uint *)0x0)) {

    uVar3 = FUN_006a12b0(puVar1,puVar2);

    return uVar3;

  }

  return (uint)puVar2 & 0xffffff00;

}





// --- FUN_006a1490 at 0x006A1490 (size: 238) ---


undefined4 __thiscall

FUN_006a1490(int param_1,uint *param_2,undefined4 *param_3,undefined4 *param_4)



{

  uint uVar1;

  char cVar2;

  undefined4 uVar3;

  undefined4 *puVar4;

  uint *puVar5;

  

  uVar1 = *param_2;

  puVar5 = *(uint **)(*(int *)(param_1 + 0x60) +

                     ((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

  if (puVar5 != (uint *)0x0) {

    while (*puVar5 != uVar1) {

      puVar5 = (uint *)puVar5[1];

      if (puVar5 == (uint *)0x0) {

        return 0;

      }

    }

    if (puVar5 != (uint *)0x0) {

      cVar2 = FUN_00463650(param_3);

      if (cVar2 != '\0') {

        uVar3 = FUN_006a1400(param_2,param_3);

        return uVar3;

      }

      puVar4 = (undefined4 *)FUN_005df0f5(0x14);

      if (puVar4 == (undefined4 *)0x0) {

        puVar4 = (undefined4 *)0x0;

      }

      else {

        *puVar4 = *param_3;

        puVar4[1] = 0;

        puVar4[2] = 0;

        puVar4[3] = 0;

        puVar4[4] = *param_4;

      }

      uVar1 = *param_2;

      puVar5 = *(uint **)(*(int *)(param_1 + 0x60) +

                         ((uVar1 << 0x18 | uVar1 >> 8) % *(uint *)(param_1 + 0x68)) * 4);

      do {

        if (puVar5 == (uint *)0x0) {

LAB_006a1550:

          if (puVar4 != (undefined4 *)0x0) {

            operator_delete(puVar4);

          }

          return 0;

        }

        if (*puVar5 == uVar1) {

          if ((puVar5 != (uint *)0x0) && (cVar2 = FUN_006a1240(puVar5,puVar4), cVar2 != '\0')) {

            return 1;

          }

          goto LAB_006a1550;

        }

        puVar5 = (uint *)puVar5[1];

      } while( true );

    }

  }

  return 0;

}





// --- FUN_006a1730 at 0x006A1730 (size: 11) ---


void FUN_006a1730(void)



{

                    /* WARNING: Could not recover jumptable at 0x006a1738. Too many branches */

                    /* WARNING: Treating indirect jump as call */

  (**(code **)(*DAT_0083e72c + 0x24))();

  return;

}





// --- FUN_006a1740 at 0x006A1740 (size: 11) ---


void FUN_006a1740(void)



{

                    /* WARNING: Could not recover jumptable at 0x006a1748. Too many branches */

                    /* WARNING: Treating indirect jump as call */

  (**(code **)(*DAT_0083e72c + 0x1c))();

  return;

}





// --- FUN_006a1750 at 0x006A1750 (size: 102) ---


void __thiscall FUN_006a1750(int param_1,undefined1 param_2)



{

  undefined1 uVar1;

  int *piVar2;

  uint uVar3;

  

  if ((*(char *)(param_1 + 0x7c) == '\0') || (*(char *)(param_1 + 0x7d) == '\0')) {

    *(undefined1 *)(param_1 + 0x7e) = param_2;

  }

  uVar3 = 0;

  if (*(int *)(param_1 + 0x88) != 0) {

    do {

      piVar2 = *(int **)(*(int *)(param_1 + 0x80) + uVar3 * 4);

      if (piVar2 != (int *)0x0) {

        uVar1 = *(undefined1 *)((int)piVar2 + 0x7e);

        if (((char)piVar2[0x1f] != '\0') && (*(char *)((int)piVar2 + 0x7d) != '\0')) {

          uVar1 = 0;

        }

        (**(code **)(*piVar2 + 0x24))(uVar1);

      }

      uVar3 = uVar3 + 1;

    } while (uVar3 < *(uint *)(param_1 + 0x88));

  }

  return;

}





// --- FUN_006a17c0 at 0x006A17C0 (size: 91) ---


void __thiscall FUN_006a17c0(int param_1,undefined4 param_2)



{

  int *piVar1;

  uint uVar2;

  

  uVar2 = 0;

  *(char *)(param_1 + 0x7d) = (char)param_2;

  if (*(int *)(param_1 + 0x88) != 0) {

    do {

      piVar1 = *(int **)(*(int *)(param_1 + 0x80) + uVar2 * 4);

      if (piVar1 != (int *)0x0) {

        (**(code **)(*piVar1 + 0x2c))(param_2);

      }

      uVar2 = uVar2 + 1;

    } while (uVar2 < *(uint *)(param_1 + 0x88));

  }

  if (DAT_0083e03c == 0) {

    return;

  }

  FUN_00459440();

  return;

}





// --- FUN_006a1860 at 0x006A1860 (size: 76) ---


int __thiscall FUN_006a1860(int param_1,undefined4 param_2)



{

  int iVar1;

  int iVar2;

  int iVar3;

  

  iVar3 = *(int *)(param_1 + 0x88);

  iVar2 = 0;

  while( true ) {

    if (iVar3 == 0) {

      return iVar2;

    }

    iVar1 = iVar3 * 4;

    iVar3 = iVar3 + -1;

    iVar1 = (**(code **)(**(int **)(*(int *)(param_1 + 0x80) + -4 + iVar1) + 0xc))(param_2);

    if (iVar1 == 2) break;

    if (iVar1 != 0) {

      iVar2 = iVar1;

    }

    if (iVar2 == 2) {

      return 2;

    }

  }

  return 2;

}





// --- FUN_006a18b0 at 0x006A18B0 (size: 76) ---


void __thiscall FUN_006a18b0(int *param_1,undefined4 param_2)



{

  uint uVar1;

  uint uVar2;

  

  uVar1 = (**(code **)(*param_1 + 0x38))(param_2);

  if ((uVar1 != 0xffffffff) && (uVar1 < (uint)param_1[0x22])) {

    uVar2 = param_1[0x22] - 1;

    param_1[0x22] = uVar2;

    if (uVar1 != uVar2) {

      *(undefined4 *)(param_1[0x20] + uVar1 * 4) = *(undefined4 *)(param_1[0x20] + uVar2 * 4);

      *(undefined4 *)(param_1[0x20] + param_1[0x22] * 4) = 0;

    }

  }

  return;

}





// --- FUN_006a1900 at 0x006A1900 (size: 48) ---


undefined4 * __fastcall FUN_006a1900(undefined4 *param_1)



{

  FUN_00466380();

  *(undefined1 *)(param_1 + 0x1f) = 0;

  *(undefined1 *)((int)param_1 + 0x7d) = 0;

  *param_1 = &PTR_FUN_00802914;

  *(undefined1 *)((int)param_1 + 0x7e) = 1;

  param_1[0x20] = 0;

  param_1[0x21] = 0;

  param_1[0x22] = 0;

  return param_1;

}





// --- FUN_006a1930 at 0x006A1930 (size: 50) ---


void __fastcall FUN_006a1930(undefined4 *param_1)



{

  *param_1 = &PTR_FUN_00802914;

  if ((param_1[0x21] & 0x80000000) == 0x80000000) {

    operator_delete__((void *)param_1[0x20]);

  }

  FUN_004663b0();

  return;

}





// --- FUN_006a1970 at 0x006A1970 (size: 71) ---


undefined4 * __thiscall FUN_006a1970(undefined4 *param_1,byte param_2)



{

  *param_1 = &PTR_FUN_00802914;

  if ((param_1[0x21] & 0x80000000) == 0x80000000) {

    operator_delete__((void *)param_1[0x20]);

  }

  FUN_004663b0();

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006a1a20 at 0x006A1A20 (size: 56) ---


undefined4 __thiscall FUN_006a1a20(int *param_1,int param_2,undefined4 param_3)



{

  undefined4 uVar1;

  

  FUN_00415640(&param_2,param_2,5);

  uVar1 = 0;

  if (param_2 != DAT_008faca0) {

    uVar1 = (**(code **)(*param_1 + 0x1c))(param_2,param_3);

  }

  return uVar1;

}





// --- FUN_006a1a60 at 0x006A1A60 (size: 66) ---


void __thiscall FUN_006a1a60(undefined4 param_1,int *param_2)



{

  char cVar1;

  

  if (*param_2 != 0) {

    cVar1 = FUN_00693b70(param_2);

    FUN_00464b00(param_1);

    if (cVar1 != '\0') {

      FUN_0045c160(*param_2);

    }

    *param_2 = 0;

  }

  return;

}





// --- FUN_006a1ab0 at 0x006A1AB0 (size: 38) ---


undefined4 * __fastcall FUN_006a1ab0(undefined4 *param_1)



{

  FUN_006a1900();

  *param_1 = &PTR_FUN_00802958;

  param_1[0x23] = 0;

  param_1[0x24] = 0;

  param_1[0x25] = 0;

  return param_1;

}





// --- FUN_006a1ae0 at 0x006A1AE0 (size: 55) ---


void __fastcall FUN_006a1ae0(undefined4 *param_1)



{

  *param_1 = &PTR_FUN_00802958;

  FUN_00477d50();

  if ((param_1[0x24] & 0x80000000) == 0x80000000) {

    operator_delete__((void *)param_1[0x23]);

  }

  FUN_006a1930();

  return;

}





// --- FUN_006a1b20 at 0x006A1B20 (size: 76) ---


undefined4 * __thiscall FUN_006a1b20(undefined4 *param_1,byte param_2)



{

  *param_1 = &PTR_FUN_00802958;

  FUN_00477d50();

  if ((param_1[0x24] & 0x80000000) == 0x80000000) {

    operator_delete__((void *)param_1[0x23]);

  }

  FUN_006a1930();

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006a1bc0 at 0x006A1BC0 (size: 29) ---


undefined4 * __fastcall FUN_006a1bc0(undefined4 *param_1)



{

  FUN_006a1ab0();

  *param_1 = &PTR_FUN_00802a08;

  FUN_00451d70();

  return param_1;

}





// --- FUN_006a1be0 at 0x006A1BE0 (size: 28) ---


void __fastcall FUN_006a1be0(undefined4 *param_1)



{

  *param_1 = &PTR_FUN_00802a08;

  FUN_00451d80();

  FUN_006a1ae0();

  return;

}





// --- FUN_006a1c00 at 0x006A1C00 (size: 49) ---


undefined4 * __thiscall FUN_006a1c00(undefined4 *param_1,byte param_2)



{

  *param_1 = &PTR_FUN_00802a08;

  FUN_00451d80();

  FUN_006a1ae0();

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006a1c40 at 0x006A1C40 (size: 48) ---


undefined4 FUN_006a1c40(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    if (*param_2 == 0x276) {

      uVar1 = FUN_00564f20(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a1c70 at 0x006A1C70 (size: 35) ---


undefined4 FUN_006a1c70(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x40) != 0)) && (*param_2 == 0xf7df)) {

    uVar1 = FUN_0055f210();

    return uVar1;

  }

  return 0;

}





// --- FUN_006a1ca0 at 0x006A1CA0 (size: 35) ---


undefined4 FUN_006a1ca0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) && (*param_2 == 0x1ea)) {

    uVar1 = FUN_00564e30();

    return uVar1;

  }

  return 0;

}





// --- FUN_006a1cd0 at 0x006A1CD0 (size: 179) ---


char FUN_006a1cd0(int *param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_1 + 0xc))(&local_c,0);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x19c;

  (**(code **)(*param_1 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)(puVar4 + 1)));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar4 + 1);

  }

  return cVar1;

}





// --- FUN_006a1d90 at 0x006A1D90 (size: 322) ---


char FUN_006a1d90(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1e3;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a1ee0 at 0x006A1EE0 (size: 179) ---


char FUN_006a1ee0(int *param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_1 + 0xc))(&local_c,0);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x1a1;

  (**(code **)(*param_1 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)(puVar4 + 1)));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar4 + 1);

  }

  return cVar1;

}





// --- FUN_006a1fa0 at 0x006A1FA0 (size: 141) ---


char FUN_006a1fa0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x216;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2030 at 0x006A2030 (size: 322) ---


char FUN_006a2030(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x275;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2180 at 0x006A2180 (size: 141) ---


char FUN_006a2180(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x217;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2210 at 0x006A2210 (size: 141) ---


char FUN_006a2210(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x28f;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a22a0 at 0x006A22A0 (size: 141) ---


char FUN_006a22a0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xa1;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2330 at 0x006A2330 (size: 265) ---


char FUN_006a2330(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 5;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2440 at 0x006A2440 (size: 201) ---


char FUN_006a2440(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1c2;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2510 at 0x006A2510 (size: 201) ---


char FUN_006a2510(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1c4;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a25e0 at 0x006A25E0 (size: 201) ---


char FUN_006a25e0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x19d;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a26b0 at 0x006A26B0 (size: 265) ---


char FUN_006a26b0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1e4;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a27c0 at 0x006A27C0 (size: 141) ---


char FUN_006a27c0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1e9;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2850 at 0x006A2850 (size: 201) ---


char FUN_006a2850(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x286;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2920 at 0x006A2920 (size: 141) ---


char FUN_006a2920(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x279;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a29b0 at 0x006A29B0 (size: 141) ---


char FUN_006a29b0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 99;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2a40 at 0x006A2A40 (size: 141) ---


char FUN_006a2a40(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x28d;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2ad0 at 0x006A2AD0 (size: 141) ---


char FUN_006a2ad0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x27;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2b60 at 0x006A2B60 (size: 141) ---


char FUN_006a2b60(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x26;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a2bf0 at 0x006A2BF0 (size: 229) ---


undefined4 FUN_006a2bf0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    if (*param_2 == 0x75) {

      uVar1 = FUN_00565050(param_2[1],param_2[2],param_2[3],param_2[4],param_2[5],param_2[6],

                           param_2[7],param_2[8],param_2[9],param_2[10],param_2[0xb],param_2[0xc],

                           param_2[0xd],param_2[0xe],param_2[0xf],param_2[0x10]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a2ce0 at 0x006A2CE0 (size: 1154) ---


char FUN_006a2ce0(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,

                 undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,

                 undefined4 param_9,undefined4 param_10,undefined4 param_11,undefined4 param_12,

                 undefined4 param_13,undefined4 param_14,undefined4 param_15,undefined4 param_16)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x44;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x311;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_4;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_5;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_6;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_7;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_8;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_9;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_10;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_11;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_12;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_13;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_14;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_15;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_16;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a3170 at 0x006A3170 (size: 265) ---


char FUN_006a3170(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x224;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a3280 at 0x006A3280 (size: 79) ---


undefined4 FUN_006a3280(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20d);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x78))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a32d0 at 0x006A32D0 (size: 72) ---


undefined4 FUN_006a32d0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd221);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x7c))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a3320 at 0x006A3320 (size: 82) ---


undefined4 FUN_006a3320(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20a);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x84))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a3380 at 0x006A3380 (size: 82) ---


undefined4 FUN_006a3380(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd209);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x88))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a33e0 at 0x006A33E0 (size: 82) ---


undefined4 FUN_006a33e0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20b);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x8c))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a3440 at 0x006A3440 (size: 75) ---


undefined4 FUN_006a3440(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fd);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x90))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a3490 at 0x006A3490 (size: 72) ---


undefined4 FUN_006a3490(int param_1)



{

  int *piVar1;

  int *piVar2;

  char cVar3;

  int iVar4;

  

  iVar4 = (**(code **)(*(int *)(param_1 + 0xc) + 0x10))(0x4dd245);

  if (iVar4 != 0) {

    piVar1 = *(int **)(iVar4 + 4);

    while (piVar1 != (int *)0x0) {

      piVar2 = (int *)*piVar1;

      piVar1 = (int *)piVar1[1];

      if ((piVar2 != (int *)0x0) && (cVar3 = (**(code **)*piVar2)(), cVar3 == '\0')) {

        (**(code **)(*piVar2 + 0x94))(param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a34e0 at 0x006A34E0 (size: 82) ---


undefined4 FUN_006a34e0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20c);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x98))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a3540 at 0x006A3540 (size: 75) ---


undefined4 FUN_006a3540(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fe);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x9c))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a3590 at 0x006A3590 (size: 75) ---


undefined4 FUN_006a3590(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd220);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xa0))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a35e0 at 0x006A35E0 (size: 70) ---


undefined4 FUN_006a35e0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd21d);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xa4))();

      }

    }

  }

  return 1;

}





// --- FUN_006a3630 at 0x006A3630 (size: 75) ---


undefined4 FUN_006a3630(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd242);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xa8))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a3680 at 0x006A3680 (size: 70) ---


undefined4 FUN_006a3680(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd216);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xac))();

      }

    }

  }

  return 1;

}





// --- FUN_006a36d0 at 0x006A36D0 (size: 82) ---


undefined4 FUN_006a36d0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1e6);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xb4))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a3730 at 0x006A3730 (size: 183) ---


undefined4

FUN_006a3730(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,

            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,

            undefined4 param_9,undefined4 param_10,undefined4 param_11,undefined4 param_12,

            undefined4 param_13,undefined4 param_14,undefined4 param_15)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd27e);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xb8))

                  (unaff_retaddr,param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,

                   param_9,param_10,param_11,param_12,param_13,param_14,param_15);

      }

    }

  }

  return 1;

}





// --- FUN_006a37f0 at 0x006A37F0 (size: 82) ---


undefined4 FUN_006a37f0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd27a);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xc0))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a3850 at 0x006A3850 (size: 282) ---


char FUN_006a3850(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  int iVar4;

  undefined4 *puVar5;

  uint uVar6;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_004fd290(&local_c,0);

  iVar4 = FUN_006b4010(&local_c,0);

  iVar4 = iVar2 + iVar3 + 8 + iVar4;

  puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);

  local_c = puVar5;

  FUN_006b4010(&local_c,iVar4);

  *local_c = 0x140;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));

  *local_c = param_2;

  local_c = local_c + 1;

  uVar6 = (uint)local_c & 0x80000003;

  if ((int)uVar6 < 0) {

    uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;

  }

  if (uVar6 != 0) {

    for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));

  cVar1 = FUN_005473d0(puVar5,iVar4);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a3970 at 0x006A3970 (size: 179) ---


char FUN_006a3970(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x219;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a3a30 at 0x006A3A30 (size: 179) ---


char FUN_006a3a30(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x218;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a3af0 at 0x006A3AF0 (size: 179) ---


char FUN_006a3af0(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x21a;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a3bb0 at 0x006A3BB0 (size: 164) ---


undefined4 FUN_006a3bb0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int iVar2;

  int *piVar3;

  undefined4 *puVar4;

  undefined4 uVar5;

  LONG LVar6;

  int *piVar7;

  undefined4 *local_4;

  

  piVar3 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    if (*param_2 != 0x274) {

      return 0;

    }

    iVar1 = param_2[1];

    iVar2 = param_2[2];

    local_4 = DAT_008ef11c;

    piVar7 = param_2 + 3;

    param_2 = piVar7;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar3 + (param_3 - (int)piVar7));

    uVar5 = FUN_00564e40(iVar1,iVar2,&local_4);

    puVar4 = local_4;

    LVar6 = InterlockedDecrement(local_4 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    return uVar5;

  }

  return 0;

}





// --- FUN_006a3c60 at 0x006A3C60 (size: 224) ---


undefined4 FUN_006a3c60(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  int iVar3;

  undefined4 uVar4;

  LONG LVar5;

  int *piVar6;

  undefined4 *local_4;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar6 = param_2 + 1;

    if (*param_2 != 0x1c3) {

      return 0;

    }

    local_4 = DAT_008ef11c;

    param_2 = piVar6;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar6));

    param_1 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    uVar4 = FUN_00571fa0(&local_4,&param_1);

    puVar1 = param_1;

    LVar5 = InterlockedDecrement(param_1 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_4;

    LVar5 = InterlockedDecrement(local_4 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar4;

  }

  return 0;

}





// --- FUN_006a3d40 at 0x006A3D40 (size: 40) ---


undefined4 FUN_006a3d40(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c7)) {

    uVar1 = FUN_005698b0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a3d70 at 0x006A3D70 (size: 35) ---


undefined4 FUN_006a3d70(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x312)) {

    uVar1 = FUN_005688a0();

    return uVar1;

  }

  return 0;

}





// --- FUN_006a3da0 at 0x006A3DA0 (size: 35) ---


undefined4 FUN_006a3da0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c6)) {

    uVar1 = FUN_00568810();

    return uVar1;

  }

  return 0;

}





// --- FUN_006a3dd0 at 0x006A3DD0 (size: 42) ---


undefined4 FUN_006a3dd0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c3)) {

    uVar1 = FUN_005696f0(param_2[1],1);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a3e00 at 0x006A3E00 (size: 40) ---


undefined4 FUN_006a3e00(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x1a8)) {

    uVar1 = FUN_00568630(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a3e30 at 0x006A3E30 (size: 40) ---


undefined4 FUN_006a3e30(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) && (*param_2 == 0x2c1)) {

    uVar1 = FUN_00568590(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a3e60 at 0x006A3E60 (size: 265) ---


char FUN_006a3e60(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x4a;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a3f70 at 0x006A3F70 (size: 201) ---


char FUN_006a3f70(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x48;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4040 at 0x006A4040 (size: 201) ---


char FUN_006a4040(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1a8;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4110 at 0x006A4110 (size: 113) ---


undefined4 FUN_006a4110(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_50 [80];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x2c2) {

      return 0;

    }

    FUN_005cbdd0();

    FUN_005cbf70(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_005686d0(local_50);

    return uVar3;

  }

  return 0;

}





// --- FUN_006a4190 at 0x006A4190 (size: 75) ---


undefined4 FUN_006a4190(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd202);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x168))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a41e0 at 0x006A41E0 (size: 70) ---


undefined4 FUN_006a41e0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24e);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x16c))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4230 at 0x006A4230 (size: 75) ---


undefined4 FUN_006a4230(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24f);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x170))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a4280 at 0x006A4280 (size: 70) ---


undefined4 FUN_006a4280(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd201);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x174))();

      }

    }

  }

  return 1;

}





// --- FUN_006a42d0 at 0x006A42D0 (size: 70) ---


undefined4 FUN_006a42d0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd26a);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x178))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4320 at 0x006A4320 (size: 70) ---


undefined4 FUN_006a4320(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd268);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x17c))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4370 at 0x006A4370 (size: 70) ---


undefined4 FUN_006a4370(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd269);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x180))();

      }

    }

  }

  return 1;

}





// --- FUN_006a43c0 at 0x006A43C0 (size: 70) ---


undefined4 FUN_006a43c0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd26b);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x184))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4410 at 0x006A4410 (size: 70) ---


undefined4 FUN_006a4410(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24c);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x188))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4460 at 0x006A4460 (size: 70) ---


undefined4 FUN_006a4460(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24a);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x18c))();

      }

    }

  }

  return 1;

}





// --- FUN_006a44b0 at 0x006A44B0 (size: 70) ---


undefined4 FUN_006a44b0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24d);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 400))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4500 at 0x006A4500 (size: 70) ---


undefined4 FUN_006a4500(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd24b);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x194))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4550 at 0x006A4550 (size: 75) ---


undefined4 FUN_006a4550(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd25f);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1a0))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a45a0 at 0x006A45A0 (size: 75) ---


undefined4 FUN_006a45a0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd260);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1a4))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a45f0 at 0x006A45F0 (size: 75) ---


undefined4 FUN_006a45f0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd255);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1a8))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a4640 at 0x006A4640 (size: 70) ---


undefined4 FUN_006a4640(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd215);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1ac))();

      }

    }

  }

  return 1;

}





// --- FUN_006a4690 at 0x006A4690 (size: 136) ---


undefined4 FUN_006a4690(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {

    if (*param_2 != 0x2c8) {

      return 0;

    }

    iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));

    local_10 = &PTR_FUN_007a4ed0;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = param_2 + 1;

    FUN_0048bce0(&param_2,iVar1);

    uVar2 = FUN_005698c0(&local_10);

    local_10 = &PTR_FUN_007a4ed0;

    FUN_0048bc30();

    return uVar2;

  }

  return 0;

}





// --- FUN_006a4720 at 0x006A4720 (size: 138) ---


undefined4 FUN_006a4720(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {

    if (*param_2 != 0x2c5) {

      return 0;

    }

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));

    local_10 = &PTR_FUN_007a4ed0;

    param_2 = param_2 + 1;

    FUN_0048bce0(&param_2,iVar1);

    uVar2 = FUN_005697d0(&local_10,1);

    local_10 = &PTR_FUN_007a4ed0;

    FUN_0048bc30();

    return uVar2;

  }

  return 0;

}





// --- FUN_006a47b0 at 0x006A47B0 (size: 136) ---


undefined4 FUN_006a47b0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x28) != 0)) {

    if (*param_2 != 0x2c4) {

      return 0;

    }

    iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));

    local_10 = &PTR_FUN_007b26fc;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = param_2 + 1;

    FUN_004b8910(&param_2,iVar1);

    uVar2 = FUN_00568780(&local_10);

    local_10 = &PTR_FUN_007b26fc;

    FUN_004b86f0();

    return uVar2;

  }

  return 0;

}





// --- FUN_006a4840 at 0x006A4840 (size: 126) ---


undefined4 FUN_006a4840(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_44 [68];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 500) {

      return 0;

    }

    FUN_006b2a90();

    FUN_006b27d0(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_0056f940(local_44);

    FUN_006b2b10();

    return uVar3;

  }

  return 0;

}





// --- FUN_006a48c0 at 0x006A48C0 (size: 40) ---


undefined4 FUN_006a48c0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) && (*param_2 == 0x28a)) {

    uVar1 = FUN_0057bbc0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a48f0 at 0x006A48F0 (size: 201) ---


char FUN_006a48f0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x145;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a49c0 at 0x006A49C0 (size: 141) ---


char FUN_006a49c0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x149;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4a50 at 0x006A4A50 (size: 201) ---


char FUN_006a4a50(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x148;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4b20 at 0x006A4B20 (size: 265) ---


char FUN_006a4b20(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x5b;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4c30 at 0x006A4C30 (size: 201) ---


char FUN_006a4c30(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x146;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4d00 at 0x006A4D00 (size: 201) ---


char FUN_006a4d00(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xf;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4dd0 at 0x006A4DD0 (size: 113) ---


undefined4 FUN_006a4dd0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_2c [44];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x295) {

      return 0;

    }

    FUN_005ce520();

    FUN_005ce640(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_0056f2a0(local_2c);

    return uVar3;

  }

  return 0;

}





// --- FUN_006a4e50 at 0x006A4E50 (size: 237) ---


char FUN_006a4e50(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x147;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a4f40 at 0x006A4F40 (size: 179) ---


char FUN_006a4f40(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x1df;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a5000 at 0x006A5000 (size: 237) ---


char FUN_006a5000(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x59;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a50f0 at 0x006A50F0 (size: 361) ---


char FUN_006a50f0(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 0x10 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x58;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  *local_c = param_4;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a5260 at 0x006A5260 (size: 179) ---


char FUN_006a5260(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x10;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a5320 at 0x006A5320 (size: 179) ---


char FUN_006a5320(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x1e1;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a53e0 at 0x006A53E0 (size: 179) ---


char FUN_006a53e0(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x15;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a54a0 at 0x006A54A0 (size: 249) ---


char FUN_006a54a0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x32;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a55a0 at 0x006A55A0 (size: 224) ---


char FUN_006a55a0(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  int iVar4;

  undefined4 *puVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_004fd290(&local_c,0);

  iVar4 = FUN_006b4010(&local_c,0);

  iVar4 = iVar2 + iVar3 + 4 + iVar4;

  puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);

  local_c = puVar5;

  FUN_006b4010(&local_c,iVar4);

  *local_c = 0x5d;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));

  FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));

  cVar1 = FUN_005473d0(puVar5,iVar4);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a5680 at 0x006A5680 (size: 105) ---


void __thiscall FUN_006a5680(int param_1,int *param_2)



{

  int iVar1;

  int *piVar2;

  

  piVar2 = (int *)FUN_005df0f5(0xc);

  if (piVar2 == (int *)0x0) {

    piVar2 = (int *)0x0;

  }

  else {

    iVar1 = *param_2;

    *piVar2 = iVar1;

    InterlockedIncrement((LONG *)(iVar1 + 4));

    piVar2[1] = 0;

    piVar2[2] = 0;

  }

  if (*(int *)(param_1 + 4) == 0) {

    *(int **)(param_1 + 4) = piVar2;

    *(int **)(param_1 + 8) = piVar2;

    *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;

    return;

  }

  iVar1 = *(int *)(param_1 + 8);

  *(int **)(iVar1 + 4) = piVar2;

  piVar2[2] = iVar1;

  *(int **)(param_1 + 8) = piVar2;

  *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;

  return;

}





// --- FUN_006a56f0 at 0x006A56F0 (size: 145) ---


undefined4 FUN_006a56f0(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  undefined4 uVar3;

  LONG LVar4;

  int *piVar5;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar5 = param_2 + 1;

    if (*param_2 != 0x317) {

      return 0;

    }

    param_1 = DAT_008ef11c;

    param_2 = piVar5;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar5));

    uVar3 = FUN_0057e170(&param_1);

    puVar1 = param_1;

    LVar4 = InterlockedDecrement(param_1 + 1);

    if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar3;

  }

  return 0;

}





// --- FUN_006a5790 at 0x006A5790 (size: 145) ---


undefined4 FUN_006a5790(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  undefined4 uVar3;

  LONG LVar4;

  int *piVar5;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar5 = param_2 + 1;

    if (*param_2 != 0x318) {

      return 0;

    }

    param_1 = DAT_008ef11c;

    param_2 = piVar5;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar5));

    uVar3 = FUN_00580b90(&param_1);

    puVar1 = param_1;

    LVar4 = InterlockedDecrement(param_1 + 1);

    if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar3;

  }

  return 0;

}





// --- FUN_006a5830 at 0x006A5830 (size: 240) ---


undefined4 FUN_006a5830(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 uVar5;

  LONG LVar6;

  int *piVar7;

  undefined4 *local_8;

  undefined4 *local_4;

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {

    if (*param_2 != 0x147) {

      return 0;

    }

    iVar1 = param_2[1];

    local_4 = DAT_008ef11c;

    piVar7 = param_2 + 2;

    param_2 = piVar7;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar7));

    local_8 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    uVar5 = FUN_00571960(iVar1,&local_4,&local_8);

    puVar4 = local_8;

    LVar6 = InterlockedDecrement(local_8 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    puVar4 = local_4;

    LVar6 = InterlockedDecrement(local_4 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    return uVar5;

  }

  return 0;

}





// --- FUN_006a5920 at 0x006A5920 (size: 251) ---


undefined4 FUN_006a5920(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  int iVar3;

  undefined4 uVar4;

  LONG LVar5;

  int *piVar6;

  undefined4 *local_4;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar6 = param_2 + 1;

    if (*param_2 != 0x2bd) {

      return 0;

    }

    local_4 = DAT_008ef11c;

    param_2 = piVar6;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar6));

    param_1 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    uVar4 = FUN_00572370(&local_4,&param_1,*param_2,param_2[1],param_2[2],param_2[3]);

    puVar1 = param_1;

    LVar5 = InterlockedDecrement(param_1 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_4;

    LVar5 = InterlockedDecrement(local_4 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar4;

  }

  return 0;

}





// --- FUN_006a5a20 at 0x006A5A20 (size: 240) ---


undefined4 FUN_006a5a20(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 uVar5;

  LONG LVar6;

  int *piVar7;

  undefined4 *local_8;

  undefined4 *local_4;

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {

    if (*param_2 != 0x1e0) {

      return 0;

    }

    iVar1 = param_2[1];

    local_4 = DAT_008ef11c;

    piVar7 = param_2 + 2;

    param_2 = piVar7;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar7));

    local_8 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    uVar5 = FUN_0057d9b0(iVar1,&local_4,&local_8);

    puVar4 = local_8;

    LVar6 = InterlockedDecrement(local_8 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    puVar4 = local_4;

    LVar6 = InterlockedDecrement(local_4 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    return uVar5;

  }

  return 0;

}





// --- FUN_006a5b10 at 0x006A5B10 (size: 258) ---


undefined4 FUN_006a5b10(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  int iVar3;

  undefined4 uVar4;

  LONG LVar5;

  int *piVar6;

  undefined4 *local_8;

  int local_4;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar6 = param_2 + 1;

    if (*param_2 != 700) {

      return 0;

    }

    local_8 = DAT_008ef11c;

    param_2 = piVar6;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar6));

    param_1 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    local_4 = param_2[1];

    uVar4 = FUN_0056f300(&local_8,&param_1,*param_2,local_4,param_2[2]);

    puVar1 = param_1;

    LVar5 = InterlockedDecrement(param_1 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_8;

    LVar5 = InterlockedDecrement(local_8 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar4;

  }

  return 0;

}





// --- FUN_006a5c20 at 0x006A5C20 (size: 240) ---


undefined4 FUN_006a5c20(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 uVar5;

  LONG LVar6;

  int *piVar7;

  undefined4 *local_8;

  undefined4 *local_4;

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {

    if (*param_2 != 0x1e2) {

      return 0;

    }

    iVar1 = param_2[1];

    local_4 = DAT_008ef11c;

    piVar7 = param_2 + 2;

    param_2 = piVar7;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar7));

    local_8 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    uVar5 = FUN_0057ddf0(iVar1,&local_4,&local_8);

    puVar4 = local_8;

    LVar6 = InterlockedDecrement(local_8 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    puVar4 = local_4;

    LVar6 = InterlockedDecrement(local_4 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    return uVar5;

  }

  return 0;

}





// --- FUN_006a5d10 at 0x006A5D10 (size: 237) ---


undefined4 FUN_006a5d10(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  int iVar3;

  undefined4 uVar4;

  LONG LVar5;

  int *piVar6;

  undefined4 *local_4;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar6 = param_2 + 1;

    if (*param_2 != 699) {

      return 0;

    }

    local_4 = DAT_008ef11c;

    param_2 = piVar6;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar6));

    param_1 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    uVar4 = FUN_00572070(&local_4,&param_1,*param_2,param_2[1]);

    puVar1 = param_1;

    LVar5 = InterlockedDecrement(param_1 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_4;

    LVar5 = InterlockedDecrement(local_4 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar4;

  }

  return 0;

}





// --- FUN_006a5e00 at 0x006A5E00 (size: 143) ---


undefined4 FUN_006a5e00(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  undefined4 uVar3;

  LONG LVar4;

  int *piVar5;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar5 = param_2 + 1;

    if (*param_2 != 4) {

      return 0;

    }

    param_1 = DAT_008ef11c;

    param_2 = piVar5;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar5));

    uVar3 = FUN_00580b90(&param_1);

    puVar1 = param_1;

    LVar4 = InterlockedDecrement(param_1 + 1);

    if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar3;

  }

  return 0;

}





// --- FUN_006a5e90 at 0x006A5E90 (size: 150) ---


undefined4 FUN_006a5e90(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  undefined4 uVar3;

  LONG LVar4;

  int *piVar5;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar5 = param_2 + 1;

    if (*param_2 != 0xf7e0) {

      return 0;

    }

    param_1 = DAT_008ef11c;

    param_2 = piVar5;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar5));

    uVar3 = FUN_00581570(&param_1,*param_2);

    puVar1 = param_1;

    LVar4 = InterlockedDecrement(param_1 + 1);

    if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar3;

  }

  return 0;

}





// --- FUN_006a5f30 at 0x006A5F30 (size: 145) ---


undefined4 FUN_006a5f30(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  undefined4 uVar3;

  LONG LVar4;

  int *piVar5;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    piVar5 = param_2 + 1;

    if (*param_2 != 0x2eb) {

      return 0;

    }

    param_1 = DAT_008ef11c;

    param_2 = piVar5;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar5));

    uVar3 = FUN_0057e170(&param_1);

    puVar1 = param_1;

    LVar4 = InterlockedDecrement(param_1 + 1);

    if ((LVar4 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar3;

  }

  return 0;

}





// --- FUN_006a5fd0 at 0x006A5FD0 (size: 151) ---


undefined4 FUN_006a5fd0(undefined4 *param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 *puVar2;

  int *piVar3;

  undefined4 uVar4;

  LONG LVar5;

  int *piVar6;

  

  piVar3 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x2c) != 0)) {

    if (*param_2 != 0x28b) {

      return 0;

    }

    iVar1 = param_2[1];

    param_1 = DAT_008ef11c;

    piVar6 = param_2 + 2;

    param_2 = piVar6;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar3 + (param_3 - (int)piVar6));

    uVar4 = FUN_0057d960(iVar1,&param_1);

    puVar2 = param_1;

    LVar5 = InterlockedDecrement(param_1 + 1);

    if ((LVar5 == 0) && (puVar2 != (undefined4 *)0x0)) {

      (**(code **)*puVar2)(1);

    }

    return uVar4;

  }

  return 0;

}





// --- FUN_006a6070 at 0x006A6070 (size: 73) ---


uint __thiscall FUN_006a6070(int param_1,int *param_2,uint param_3)



{

  int iVar1;

  uint uVar2;

  

  uVar2 = FUN_006a60c0();

  if (uVar2 <= param_3) {

    if (3 < param_3) {

      *(undefined4 *)*param_2 = *(undefined4 *)(param_1 + 0xc);

      *param_2 = *param_2 + 4;

    }

    for (iVar1 = *(int *)(param_1 + 4); iVar1 != 0; iVar1 = *(int *)(iVar1 + 4)) {

      FUN_004fd290(param_2,param_3);

    }

  }

  return uVar2;

}





// --- FUN_006a60c0 at 0x006A60C0 (size: 52) ---


int __fastcall FUN_006a60c0(int param_1)



{

  int iVar1;

  int iVar2;

  int iVar3;

  undefined4 local_4;

  

  iVar1 = *(int *)(param_1 + 4);

  iVar3 = 4;

  local_4 = 0;

  for (; iVar1 != 0; iVar1 = *(int *)(iVar1 + 4)) {

    iVar2 = FUN_004fd290(&local_4,0);

    iVar3 = iVar3 + iVar2;

  }

  return iVar3;

}





// --- FUN_006a6100 at 0x006A6100 (size: 150) ---


undefined4 __thiscall FUN_006a6100(int param_1,int *param_2)



{

  int *piVar1;

  int iVar2;

  undefined4 *puVar3;

  LONG LVar4;

  

  piVar1 = *(int **)(param_1 + 4);

  if (piVar1 == (int *)0x0) {

    return 0;

  }

  iVar2 = piVar1[1];

  *(int *)(param_1 + 4) = iVar2;

  if (iVar2 == 0) {

    *(undefined4 *)(param_1 + 8) = 0;

  }

  else {

    *(undefined4 *)(iVar2 + 8) = 0;

  }

  puVar3 = (undefined4 *)*param_2;

  if (puVar3 != (undefined4 *)*piVar1) {

    LVar4 = InterlockedDecrement(puVar3 + 1);

    if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {

      (**(code **)*puVar3)(1);

    }

    iVar2 = *piVar1;

    *param_2 = iVar2;

    InterlockedIncrement((LONG *)(iVar2 + 4));

  }

  puVar3 = (undefined4 *)*piVar1;

  LVar4 = InterlockedDecrement(puVar3 + 1);

  if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {

    (**(code **)*puVar3)(1);

  }

  operator_delete(piVar1);

  *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + -1;

  return 1;

}





// --- FUN_006a61a0 at 0x006A61A0 (size: 85) ---


void __fastcall FUN_006a61a0(int param_1)



{

  int iVar1;

  undefined4 *puVar2;

  LONG LVar3;

  undefined4 *local_4;

  

  puVar2 = DAT_008ef11c;

  local_4 = DAT_008ef11c;

  InterlockedIncrement(DAT_008ef11c + 1);

  iVar1 = *(int *)(param_1 + 4);

  while (iVar1 != 0) {

    FUN_006a6100(&local_4);

    puVar2 = local_4;

    iVar1 = *(int *)(param_1 + 4);

  }

  LVar3 = InterlockedDecrement(puVar2 + 1);

  if ((LVar3 == 0) && (puVar2 != (undefined4 *)0x0)) {

    (**(code **)*puVar2)(1);

  }

  return;

}





// --- FUN_006a6200 at 0x006A6200 (size: 193) ---


undefined4 __thiscall FUN_006a6200(undefined4 param_1,int *param_2,uint param_3)



{

  int iVar1;

  int *piVar2;

  int iVar3;

  LONG LVar4;

  undefined4 *puVar5;

  int iVar6;

  

  FUN_006a61a0(param_1);

  piVar2 = param_2;

  if (param_3 < 4) {

    return 0;

  }

  iVar1 = *(int *)*param_2;

  *param_2 = (int)((int *)*param_2 + 1);

  puVar5 = DAT_008ef11c;

  param_2 = DAT_008ef11c;

  InterlockedIncrement(DAT_008ef11c + 1);

  iVar6 = 0;

  if (0 < iVar1) {

    do {

      iVar3 = FUN_004fd460(piVar2,param_3);

      puVar5 = param_2;

      if (iVar3 == 0) {

        LVar4 = InterlockedDecrement(param_2 + 1);

        if ((LVar4 == 0) && (puVar5 != (undefined4 *)0x0)) {

          (**(code **)*puVar5)(1);

        }

        return 0;

      }

      FUN_006a5680(&param_2);

      iVar6 = iVar6 + 1;

      puVar5 = param_2;

    } while (iVar6 < iVar1);

  }

  LVar4 = InterlockedDecrement(puVar5 + 1);

  if ((LVar4 == 0) && (puVar5 != (undefined4 *)0x0)) {

    (**(code **)*puVar5)(1);

  }

  return 1;

}





// --- FUN_006a62d0 at 0x006A62D0 (size: 42) ---


undefined4 * __thiscall FUN_006a62d0(undefined4 *param_1,byte param_2)



{

  *param_1 = &PTR_FUN_00802ffc;

  FUN_006a61a0();

  *param_1 = &PTR_FUN_0079385c;

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006a6300 at 0x006A6300 (size: 136) ---


undefined4 FUN_006a6300(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {

    if (*param_2 != 0x149) {

      return 0;

    }

    iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));

    local_10 = &PTR_FUN_00802ffc;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = param_2 + 1;

    FUN_006a6200(&param_2,iVar1);

    uVar2 = FUN_0057de90(&local_10);

    local_10 = &PTR_FUN_00802ffc;

    FUN_006a61a0();

    return uVar2;

  }

  return 0;

}





// --- FUN_006a6390 at 0x006A6390 (size: 136) ---


undefined4 FUN_006a6390(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x2c) != 0)) {

    if (*param_2 != 0x148) {

      return 0;

    }

    iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));

    local_10 = &PTR_FUN_00802ffc;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = param_2 + 1;

    FUN_006a6200(&param_2,iVar1);

    uVar2 = FUN_0057e000(&local_10);

    local_10 = &PTR_FUN_00802ffc;

    FUN_006a61a0();

    return uVar2;

  }

  return 0;

}





// --- FUN_006a6420 at 0x006A6420 (size: 45) ---


undefined4 FUN_006a6420(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    if (*param_2 == 0x2b) {

      uVar1 = FUN_00565000(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a6450 at 0x006A6450 (size: 201) ---


char FUN_006a6450(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x316;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a6520 at 0x006A6520 (size: 141) ---


char FUN_006a6520(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x25;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a65b0 at 0x006A65B0 (size: 201) ---


char FUN_006a65b0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x17;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a6680 at 0x006A6680 (size: 201) ---


char FUN_006a6680(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x2c;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a6750 at 0x006A6750 (size: 137) ---


undefined4 FUN_006a6750(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_28 [40];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x315) {

      return 0;

    }

    FUN_0059a100();

    FUN_0059a1e0(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    iVar1 = *param_2;

    piVar2 = param_2 + 1;

    param_2 = param_2 + 2;

    uVar3 = FUN_005654f0(local_28,iVar1,*piVar2);

    return uVar3;

  }

  return 0;

}





// --- FUN_006a67e0 at 0x006A67E0 (size: 75) ---


undefined4 FUN_006a67e0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd279);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1b8))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a6830 at 0x006A6830 (size: 75) ---


undefined4 FUN_006a6830(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd272);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1bc))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a6880 at 0x006A6880 (size: 75) ---


undefined4 FUN_006a6880(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd273);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1c0))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a68d0 at 0x006A68D0 (size: 70) ---


undefined4 FUN_006a68d0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd275);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1c4))();

      }

    }

  }

  return 1;

}





// --- FUN_006a6920 at 0x006A6920 (size: 75) ---


undefined4 FUN_006a6920(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd274);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1c8))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a6970 at 0x006A6970 (size: 75) ---


undefined4 FUN_006a6970(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd278);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1cc))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a69c0 at 0x006A69C0 (size: 75) ---


undefined4 FUN_006a69c0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd27f);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1d0))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a6a10 at 0x006A6A10 (size: 75) ---


undefined4 FUN_006a6a10(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd277);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1d4))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a6a60 at 0x006A6A60 (size: 82) ---


undefined4 FUN_006a6a60(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd282);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1d8))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a6ac0 at 0x006A6AC0 (size: 75) ---


undefined4 FUN_006a6ac0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd281);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1dc))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a6b10 at 0x006A6B10 (size: 82) ---


undefined4 FUN_006a6b10(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd26f);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1e0))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a6b70 at 0x006A6B70 (size: 179) ---


char FUN_006a6b70(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x18;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a6c30 at 0x006A6C30 (size: 126) ---


undefined4 FUN_006a6c30(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_18 [24];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x314) {

      return 0;

    }

    FUN_0059a250();

    FUN_005d2040(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_00565030(local_18);

    FUN_00560020();

    return uVar3;

  }

  return 0;

}





// --- FUN_006a6cb0 at 0x006A6CB0 (size: 123) ---


undefined4 FUN_006a6cb0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_1c [28];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x29) {

      return 0;

    }

    FUN_005c7fc0();

    FUN_005c7e70(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_00564fe0(local_1c);

    FUN_0049ac50();

    return uVar3;

  }

  return 0;

}





// --- FUN_006a6d30 at 0x006A6D30 (size: 168) ---


undefined4 FUN_006a6d30(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  undefined **local_14;

  undefined4 local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined **local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    if (*param_2 != 0x21) {

      return 0;

    }

    iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));

    local_10 = 0;

    local_c = 0;

    local_8 = 0;

    local_14 = &PTR_FUN_007a51a0;

    local_4 = &PTR_LAB_007a518c;

    param_2 = param_2 + 1;

    FUN_0048d010(&param_2,iVar1);

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    uVar2 = FUN_00564fc0(&local_14,iVar1);

    local_4 = &PTR_FUN_0079385c;

    local_14 = &PTR_FUN_007a515c;

    FUN_0048ce50();

    return uVar2;

  }

  return 0;

}





// --- FUN_006a6de0 at 0x006A6DE0 (size: 35) ---


undefined4 FUN_006a6de0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0x2bf)) {

    uVar1 = FUN_0056ac10();

    return uVar1;

  }

  return 0;

}





// --- FUN_006a6e10 at 0x006A6E10 (size: 40) ---


undefined4 FUN_006a6e10(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0xa4)) {

    uVar1 = FUN_0056acb0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a6e40 at 0x006A6E40 (size: 40) ---


undefined4 FUN_006a6e40(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0x1ca)) {

    uVar1 = FUN_004f1b30(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a6e70 at 0x006A6E70 (size: 40) ---


undefined4 FUN_006a6e70(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0x1c9)) {

    uVar1 = FUN_004f1b30(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a6ea0 at 0x006A6EA0 (size: 40) ---


undefined4 FUN_006a6ea0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) && (*param_2 == 0xa3)) {

    uVar1 = FUN_0056ac30(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a6ed0 at 0x006A6ED0 (size: 201) ---


char FUN_006a6ed0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x290;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a6fa0 at 0x006A6FA0 (size: 201) ---


char FUN_006a6fa0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x291;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7070 at 0x006A7070 (size: 201) ---


char FUN_006a7070(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xa4;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7140 at 0x006A7140 (size: 201) ---


char FUN_006a7140(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xa3;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7210 at 0x006A7210 (size: 201) ---


char FUN_006a7210(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xa5;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a72e0 at 0x006A72E0 (size: 201) ---


char FUN_006a72e0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xa6;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a73b0 at 0x006A73B0 (size: 75) ---


undefined4 FUN_006a73b0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd246);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xe0))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a7400 at 0x006A7400 (size: 75) ---


undefined4 FUN_006a7400(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd213);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xe4))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a7450 at 0x006A7450 (size: 75) ---


undefined4 FUN_006a7450(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd212);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xe8))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a74a0 at 0x006A74A0 (size: 87) ---


undefined4 FUN_006a74a0(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd214);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xec))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006a7500 at 0x006A7500 (size: 70) ---


undefined4 FUN_006a7500(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd211);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xf0))();

      }

    }

  }

  return 1;

}





// --- FUN_006a7550 at 0x006A7550 (size: 82) ---


undefined4 FUN_006a7550(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd247);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xf4))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a75b0 at 0x006A75B0 (size: 82) ---


undefined4 FUN_006a75b0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20f);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xf8))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a7610 at 0x006A7610 (size: 75) ---


undefined4 FUN_006a7610(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd210);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xfc))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a7660 at 0x006A7660 (size: 152) ---


undefined4 FUN_006a7660(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int iVar2;

  int *piVar3;

  undefined4 uVar4;

  undefined1 local_30 [48];

  

  piVar3 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) {

    if (*param_2 != 0x2c0) {

      return 0;

    }

    iVar1 = param_2[1];

    param_2 = param_2 + 2;

    FUN_005ba9e0();

    FUN_005bac10(&param_2,(int)piVar3 + (param_3 - (int)param_2));

    iVar2 = *param_2;

    param_2 = param_2 + 1;

    uVar4 = FUN_00569e60(iVar1,local_30,iVar2);

    FUN_0048ed20();

    return uVar4;

  }

  return 0;

}





// --- FUN_006a7700 at 0x006A7700 (size: 249) ---


char FUN_006a7700(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0xa2;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7800 at 0x006A7800 (size: 126) ---


undefined4 FUN_006a7800(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_44 [68];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x3c) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x2be) {

      return 0;

    }

    FUN_0059b570();

    FUN_005ba630(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_0056a160(local_44);

    FUN_0056aa40();

    return uVar3;

  }

  return 0;

}





// --- FUN_006a7880 at 0x006A7880 (size: 48) ---


undefined4 FUN_006a7880(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x38) != 0)) {

    if (*param_2 == 0x27a) {

      uVar1 = FUN_0056ad90(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a78b0 at 0x006A78B0 (size: 37) ---


undefined4 FUN_006a78b0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x38) != 0)) && (*param_2 == 3)) {

    uVar1 = FUN_0056ad70(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a78e0 at 0x006A78E0 (size: 201) ---


char FUN_006a78e0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1e;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a79b0 at 0x006A79B0 (size: 141) ---


char FUN_006a79b0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x31;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7a40 at 0x006A7A40 (size: 141) ---


char FUN_006a7a40(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x3e;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7ad0 at 0x006A7AD0 (size: 141) ---


char FUN_006a7ad0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x2a7;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7b60 at 0x006A7B60 (size: 141) ---


char FUN_006a7b60(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x256;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7bf0 at 0x006A7BF0 (size: 201) ---


char FUN_006a7bf0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x42;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7cc0 at 0x006A7CC0 (size: 201) ---


char FUN_006a7cc0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x3f;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7d90 at 0x006A7D90 (size: 141) ---


char FUN_006a7d90(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x2a3;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7e20 at 0x006A7E20 (size: 141) ---


char FUN_006a7e20(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x3d;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7eb0 at 0x006A7EB0 (size: 141) ---


char FUN_006a7eb0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x2a6;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7f40 at 0x006A7F40 (size: 141) ---


char FUN_006a7f40(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x30;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a7fd0 at 0x006A7FD0 (size: 141) ---


char FUN_006a7fd0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x255;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8060 at 0x006A8060 (size: 141) ---


char FUN_006a8060(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x2ab;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a80f0 at 0x006A80F0 (size: 201) ---


char FUN_006a80f0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1d;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a81c0 at 0x006A81C0 (size: 201) ---


char FUN_006a81c0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1f;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8290 at 0x006A8290 (size: 79) ---


undefined4 FUN_006a8290(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd205);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 100))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a82e0 at 0x006A82E0 (size: 79) ---


undefined4 FUN_006a82e0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd206);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x68))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a8330 at 0x006A8330 (size: 72) ---


undefined4 FUN_006a8330(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd207);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x6c))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a8380 at 0x006A8380 (size: 79) ---


undefined4 FUN_006a8380(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd208);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x70))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a83d0 at 0x006A83D0 (size: 171) ---


undefined4 FUN_006a83d0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_118 [280];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x38) != 0)) {

    if (*param_2 != 0x27c) {

      return 0;

    }

    iVar1 = param_2[1];

    param_2 = param_2 + 2;

    FUN_0059a080();

    FUN_005b7c80(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_0056af70(iVar1,local_118);

    FUN_005b8c00();

    return uVar3;

  }

  return 0;

}





// --- FUN_006a8480 at 0x006A8480 (size: 179) ---


char FUN_006a8480(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x2a1;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8540 at 0x006A8540 (size: 224) ---


char FUN_006a8540(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  int iVar4;

  undefined4 *puVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_004fd290(&local_c,0);

  iVar4 = FUN_006b4010(&local_c,0);

  iVar4 = iVar2 + iVar3 + 4 + iVar4;

  puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);

  local_c = puVar5;

  FUN_006b4010(&local_c,iVar4);

  *local_c = 0x2a0;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));

  FUN_004fd290(&local_c,(int)puVar5 + (iVar4 - (int)local_c));

  cVar1 = FUN_005473d0(puVar5,iVar4);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8620 at 0x006A8620 (size: 249) ---


char FUN_006a8620(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x41;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8720 at 0x006A8720 (size: 179) ---


char FUN_006a8720(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x27b;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a87e0 at 0x006A87E0 (size: 249) ---


char FUN_006a87e0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x277;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a88e0 at 0x006A88E0 (size: 179) ---


char FUN_006a88e0(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x2a2;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a89a0 at 0x006A89A0 (size: 179) ---


char FUN_006a89a0(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x2a5;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8a60 at 0x006A8A60 (size: 179) ---


char FUN_006a8a60(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x40;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8b20 at 0x006A8B20 (size: 179) ---


char FUN_006a8b20(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x33;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8be0 at 0x006A8BE0 (size: 249) ---


char FUN_006a8be0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x3b;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8ce0 at 0x006A8CE0 (size: 237) ---


char FUN_006a8ce0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x3c;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8dd0 at 0x006A8DD0 (size: 179) ---


char FUN_006a8dd0(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x254;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8e90 at 0x006A8E90 (size: 265) ---


char FUN_006a8e90(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x45;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a8fa0 at 0x006A8FA0 (size: 265) ---


char FUN_006a8fa0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x44;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a90b0 at 0x006A90B0 (size: 265) ---


char FUN_006a90b0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x46;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a91c0 at 0x006A91C0 (size: 265) ---


char FUN_006a91c0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x47;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a92d0 at 0x006A92D0 (size: 70) ---


undefined4 FUN_006a92d0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd241);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x210))();

      }

    }

  }

  return 1;

}





// --- FUN_006a9320 at 0x006A9320 (size: 224) ---


char FUN_006a9320(undefined4 param_1,int *param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  int iVar4;

  undefined4 *puVar5;

  undefined4 *puVar6;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = (**(code **)(*param_2 + 0xc))(&local_c,0);

  iVar4 = FUN_006b4010(&stack0xffffffec,0);

  iVar4 = iVar2 + iVar3 + 4 + iVar4;

  puVar5 = (undefined4 *)thunk_FUN_005df0f5(iVar4);

  FUN_006b4010(&stack0xffffffec,iVar4);

  *puVar5 = 0xd6;

  puVar6 = puVar5 + 1;

  FUN_004fd290(&stack0xffffffec,(int)puVar5 + (iVar4 - (int)puVar6));

  (**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar5 + (iVar4 - (int)puVar6));

  cVar1 = FUN_005473d0(puVar5,iVar4);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar6);

  }

  return cVar1;

}





// --- FUN_006a9400 at 0x006A9400 (size: 40) ---


undefined4 FUN_006a9400(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) && (*param_2 == 0x1cb)) {

    uVar1 = FUN_004f1b30(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a9430 at 0x006A9430 (size: 63) ---


undefined4 FUN_006a9430(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    if (*param_2 == 0x264) {

      uVar1 = FUN_00564d80(param_2[1],param_2[2],param_2[3]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a9470 at 0x006A9470 (size: 40) ---


undefined4 FUN_006a9470(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) && (*param_2 == 0x1c7)) {

    uVar1 = FUN_005656a0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006a94a0 at 0x006A94A0 (size: 201) ---


char FUN_006a94a0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 200;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a9570 at 0x006A9570 (size: 201) ---


char FUN_006a9570(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x263;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a9640 at 0x006A9640 (size: 87) ---


undefined4 FUN_006a9640(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd263);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x144))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006a96a0 at 0x006A96A0 (size: 70) ---


undefined4 FUN_006a96a0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd25d);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x148))();

      }

    }

  }

  return 1;

}





// --- FUN_006a96f0 at 0x006A96F0 (size: 82) ---


undefined4 FUN_006a96f0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd256);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x14c))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a9750 at 0x006A9750 (size: 75) ---


undefined4 FUN_006a9750(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1f9);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x154))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a97a0 at 0x006A97A0 (size: 75) ---


undefined4 FUN_006a97a0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd25b);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x158))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a97f0 at 0x006A97F0 (size: 87) ---


undefined4 FUN_006a97f0(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1f5);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x160))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006a9850 at 0x006A9850 (size: 48) ---


undefined4 FUN_006a9850(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {

    if (*param_2 == 0x28c) {

      uVar1 = FUN_005865c0(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a9880 at 0x006A9880 (size: 48) ---


undefined4 FUN_006a9880(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {

    if (*param_2 == 0x281) {

      uVar1 = FUN_00586520(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a98b0 at 0x006A98B0 (size: 48) ---


undefined4 FUN_006a98b0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {

    if (*param_2 == 0x283) {

      uVar1 = FUN_00586560(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a98e0 at 0x006A98E0 (size: 57) ---


undefined4 FUN_006a98e0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {

    if (*param_2 == 0x285) {

      uVar1 = FUN_005865a0(param_2[1],param_2[2],param_2[3]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a9920 at 0x006A9920 (size: 48) ---


undefined4 FUN_006a9920(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {

    if (*param_2 == 0x282) {

      uVar1 = FUN_00586540(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006a9950 at 0x006A9950 (size: 265) ---


char FUN_006a9950(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x269;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a9a60 at 0x006A9A60 (size: 386) ---


char FUN_006a9a60(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x14;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x26b;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_4;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a9bf0 at 0x006A9BF0 (size: 141) ---


char FUN_006a9bf0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x26d;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a9c80 at 0x006A9C80 (size: 141) ---


char FUN_006a9c80(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x26a;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a9d10 at 0x006A9D10 (size: 201) ---


char FUN_006a9d10(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x26e;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006a9de0 at 0x006A9DE0 (size: 128) ---


undefined4 FUN_006a9de0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int iVar2;

  undefined4 uVar3;

  int iVar4;

  undefined **local_1c;

  undefined4 local_18;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x48) != 0)) {

    if (*param_2 == 0x284) {

      iVar1 = param_2[1];

      iVar2 = param_2[2];

      iVar4 = (int)param_2 + (param_3 - (int)(param_2 + 3));

      local_1c = &PTR_FUN_008039ec;

      local_18 = 0;

      param_2 = param_2 + 3;

      FUN_006b8680(&param_2,iVar4);

      uVar3 = FUN_00586580(iVar1,iVar2,&local_1c);

      return uVar3;

    }

  }

  return 0;

}





// --- FUN_006a9e60 at 0x006A9E60 (size: 75) ---


undefined4 FUN_006a9e60(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd219);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x100))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006a9eb0 at 0x006A9EB0 (size: 70) ---


undefined4 FUN_006a9eb0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd21a);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x104))();

      }

    }

  }

  return 1;

}





// --- FUN_006a9f00 at 0x006A9F00 (size: 82) ---


undefined4 FUN_006a9f00(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(FUN_004dd240);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x108))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a9f60 at 0x006A9F60 (size: 82) ---


undefined4 FUN_006a9f60(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23b);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x10c))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006a9fc0 at 0x006A9FC0 (size: 82) ---


undefined4 FUN_006a9fc0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23d);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x110))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006aa020 at 0x006AA020 (size: 87) ---


undefined4 FUN_006aa020(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23f);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x114))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006aa080 at 0x006AA080 (size: 87) ---


undefined4 FUN_006aa080(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23e);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x118))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006aa0e0 at 0x006AA0E0 (size: 82) ---


undefined4 FUN_006aa0e0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23c);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x11c))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006aa140 at 0x006AA140 (size: 75) ---


undefined4 FUN_006aa140(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd250);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x120))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006aa190 at 0x006AA190 (size: 201) ---


char FUN_006aa190(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xac;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aa260 at 0x006AA260 (size: 201) ---


char FUN_006aa260(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xaa;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aa330 at 0x006AA330 (size: 265) ---


char FUN_006aa330(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xad;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aa440 at 0x006AA440 (size: 265) ---


char FUN_006aa440(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xae;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aa550 at 0x006AA550 (size: 87) ---


undefined4 FUN_006aa550(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1ea);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x298))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006aa5b0 at 0x006AA5B0 (size: 87) ---


undefined4 FUN_006aa5b0(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1eb);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x29c))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006aa610 at 0x006AA610 (size: 87) ---


undefined4 FUN_006aa610(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1ec);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x2a0))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006aa670 at 0x006AA670 (size: 102) ---


undefined4

FUN_006aa670(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,

            undefined4 param_5)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1e9);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x2a4))(unaff_retaddr,param_1,param_2,param_3,param_4,param_5);

      }

    }

  }

  return 1;

}





// --- FUN_006aa6e0 at 0x006AA6E0 (size: 296) ---


char FUN_006aa6e0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 0xc + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0xab;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aa810 at 0x006AA810 (size: 237) ---


char FUN_006aa810(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0xbf;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aa900 at 0x006AA900 (size: 52) ---


undefined4 FUN_006aa900(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x50) != 0)) {

    if (*param_2 == 0x1c0) {

      uVar1 = FUN_0056b2a0(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006aa940 at 0x006AA940 (size: 141) ---


char FUN_006aa940(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1b7;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aa9d0 at 0x006AA9D0 (size: 201) ---


char FUN_006aa9d0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x53;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aaaa0 at 0x006AAAA0 (size: 201) ---


char FUN_006aaaa0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1bf;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aab70 at 0x006AAB70 (size: 322) ---


char FUN_006aab70(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 8;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aacc0 at 0x006AACC0 (size: 322) ---


char FUN_006aacc0(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 10;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aae10 at 0x006AAE10 (size: 75) ---


undefined4 FUN_006aae10(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fc);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xc4))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006aae60 at 0x006AAE60 (size: 75) ---


undefined4 FUN_006aae60(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd249);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 200))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006aaeb0 at 0x006AAEB0 (size: 75) ---


undefined4 FUN_006aaeb0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1fb);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xcc))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006aaf00 at 0x006AAF00 (size: 82) ---


undefined4 FUN_006aaf00(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1f4);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0xd0))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006aaf60 at 0x006AAF60 (size: 237) ---


char FUN_006aaf60(undefined4 param_1,int *param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *puVar5;

  uint uVar6;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x60;

  puVar4[1] = local_4;

  puVar5 = puVar4 + 2;

  uVar6 = (uint)puVar5 & 0x80000003;

  if ((int)uVar6 < 0) {

    uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;

  }

  if (uVar6 != 0) {

    for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)puVar5 = 0;

      puVar5 = (undefined4 *)((int)puVar5 + 1);

    }

  }

  (**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar5);

  }

  return cVar1;

}





// --- FUN_006ab050 at 0x006AB050 (size: 300) ---


/* WARNING: Removing unreachable block (ram,0x006ab133) */

/* WARNING: Removing unreachable block (ram,0x006ab13a) */

/* WARNING: Removing unreachable block (ram,0x006ab143) */



char FUN_006ab050(undefined4 param_1,int *param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *puVar5;

  uint uVar6;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_2 + 0xc))(&local_c);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 0xc + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x5f;

  puVar4[1] = local_4;

  puVar5 = puVar4 + 2;

  uVar6 = (uint)puVar5 & 0x80000003;

  if ((int)uVar6 < 0) {

    uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;

  }

  if (uVar6 != 0) {

    for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)puVar5 = 0;

      puVar5 = (undefined4 *)((int)puVar5 + 1);

    }

  }

  (**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));

  uRam00000000 = local_4;

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar5);

  }

  return cVar1;

}





// --- FUN_006ab180 at 0x006AB180 (size: 75) ---


undefined4 FUN_006ab180(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd218);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x28c))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ab1d0 at 0x006AB1D0 (size: 75) ---


undefined4 FUN_006ab1d0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd253);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x290))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ab220 at 0x006AB220 (size: 92) ---


undefined4 FUN_006ab220(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd20e);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x294))(unaff_retaddr,param_1,param_2,param_3);

      }

    }

  }

  return 1;

}





// --- FUN_006ab280 at 0x006AB280 (size: 40) ---


undefined4 FUN_006ab280(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) && (*param_2 == 0x226)) {

    uVar1 = FUN_005867e0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ab2b0 at 0x006AB2B0 (size: 40) ---


undefined4 FUN_006ab2b0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) && (*param_2 == 0x259)) {

    uVar1 = FUN_005867e0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ab2e0 at 0x006AB2E0 (size: 126) ---


undefined4 FUN_006ab2e0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_34 [52];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 599) {

      return 0;

    }

    FUN_005b0df0();

    FUN_005b0a70(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_00586a00(local_34);

    FUN_005b0e60();

    return uVar3;

  }

  return 0;

}





// --- FUN_006ab360 at 0x006AB360 (size: 40) ---


undefined4 FUN_006ab360(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) && (*param_2 == 0x227)) {

    uVar1 = FUN_00586820(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ab390 at 0x006AB390 (size: 190) ---


undefined4 FUN_006ab390(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_84 [132];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {

    if (*param_2 != 0x248) {

      return 0;

    }

    iVar1 = param_2[1];

    uVar3 = *(undefined4 *)((int)param_2 + 5);

    param_2 = (int *)((int)param_2 + 9);

    FUN_005aff60();

    FUN_005afa40(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_00586860((char)iVar1,uVar3,local_84);

    FUN_005affe0();

    return uVar3;

  }

  return 0;

}





// --- FUN_006ab450 at 0x006AB450 (size: 141) ---


char FUN_006ab450(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x21f;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ab4e0 at 0x006AB4E0 (size: 141) ---


char FUN_006ab4e0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x25c;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ab570 at 0x006AB570 (size: 141) ---


char FUN_006ab570(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x25f;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ab600 at 0x006AB600 (size: 237) ---


char FUN_006ab600(undefined4 param_1,int *param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *puVar5;

  uint uVar6;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x21c;

  puVar4[1] = local_4;

  puVar5 = puVar4 + 2;

  uVar6 = (uint)puVar5 & 0x80000003;

  if ((int)uVar6 < 0) {

    uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;

  }

  if (uVar6 != 0) {

    for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)puVar5 = 0;

      puVar5 = (undefined4 *)((int)puVar5 + 1);

    }

  }

  (**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar5);

  }

  return cVar1;

}





// --- FUN_006ab6f0 at 0x006AB6F0 (size: 201) ---


char FUN_006ab6f0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x270;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ab7c0 at 0x006AB7C0 (size: 201) ---


char FUN_006ab7c0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x267;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ab890 at 0x006AB890 (size: 201) ---


char FUN_006ab890(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x268;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ab960 at 0x006AB960 (size: 141) ---


char FUN_006ab960(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x21e;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ab9f0 at 0x006AB9F0 (size: 201) ---


char FUN_006ab9f0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 600;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006abac0 at 0x006ABAC0 (size: 141) ---


char FUN_006abac0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x25e;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006abb50 at 0x006ABB50 (size: 141) ---


char FUN_006abb50(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x24c;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006abbe0 at 0x006ABBE0 (size: 237) ---


char FUN_006abbe0(undefined4 param_1,int *param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *puVar5;

  uint uVar6;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x221;

  puVar4[1] = local_4;

  puVar5 = puVar4 + 2;

  uVar6 = (uint)puVar5 & 0x80000003;

  if ((int)uVar6 < 0) {

    uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;

  }

  if (uVar6 != 0) {

    for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)puVar5 = 0;

      puVar5 = (undefined4 *)((int)puVar5 + 1);

    }

  }

  (**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar5);

  }

  return cVar1;

}





// --- FUN_006abcd0 at 0x006ABCD0 (size: 141) ---


char FUN_006abcd0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x24d;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006abd60 at 0x006ABD60 (size: 201) ---


char FUN_006abd60(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x266;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006abe30 at 0x006ABE30 (size: 201) ---


char FUN_006abe30(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x247;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006abf00 at 0x006ABF00 (size: 141) ---


char FUN_006abf00(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x262;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006abf90 at 0x006ABF90 (size: 141) ---


char FUN_006abf90(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x278;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ac020 at 0x006AC020 (size: 75) ---


undefined4 FUN_006ac020(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd226);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x124))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ac070 at 0x006AC070 (size: 75) ---


undefined4 FUN_006ac070(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd225);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x128))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ac0c0 at 0x006AC0C0 (size: 82) ---


undefined4 FUN_006ac0c0(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd229);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 300))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006ac120 at 0x006AC120 (size: 75) ---


undefined4 FUN_006ac120(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd228);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x130))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ac170 at 0x006AC170 (size: 75) ---


undefined4 FUN_006ac170(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd227);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x134))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ac1c0 at 0x006AC1C0 (size: 179) ---


char FUN_006ac1c0(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x245;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ac280 at 0x006AC280 (size: 179) ---


char FUN_006ac280(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x24a;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ac340 at 0x006AC340 (size: 249) ---


char FUN_006ac340(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x249;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  *local_c = param_2;

  local_c = local_c + 1;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ac440 at 0x006AC440 (size: 179) ---


char FUN_006ac440(void)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x246;

  local_c = local_c + 1;

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ac500 at 0x006AC500 (size: 152) ---


undefined4 FUN_006ac500(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int iVar2;

  undefined4 uVar3;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {

    if (*param_2 != 0x271) {

      return 0;

    }

    iVar1 = param_2[1];

    iVar2 = (int)param_2 + (param_3 - (int)(param_2 + 2));

    local_10 = &PTR_FUN_007a4ed0;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = param_2 + 2;

    FUN_0048bce0(&param_2,iVar2);

    uVar3 = FUN_00586bd0(iVar1,&local_10,*param_2);

    local_10 = &PTR_FUN_007a4ed0;

    FUN_0048bc30();

    return uVar3;

  }

  return 0;

}





// --- FUN_006ac5a0 at 0x006AC5A0 (size: 64) ---


void __fastcall FUN_006ac5a0(undefined4 *param_1)



{

  param_1[0xb] = &PTR_FUN_0079385c;

  param_1[7] = &PTR_FUN_007e83bc;

  FUN_004a2d40();

  param_1[7] = &PTR_FUN_0079385c;

  param_1[3] = &PTR_FUN_007e83bc;

  FUN_004a2d40();

  param_1[3] = &PTR_FUN_0079385c;

  *param_1 = &PTR_FUN_0079385c;

  return;

}





// --- FUN_006ac5e0 at 0x006AC5E0 (size: 138) ---


undefined4 FUN_006ac5e0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_4c [76];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {

    if (*param_2 != 0x21d) {

      return 0;

    }

    iVar1 = param_2[1];

    param_2 = param_2 + 2;

    FUN_005bcd60();

    FUN_005bce90(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_005867c0(iVar1,local_4c);

    FUN_005bcde0();

    return uVar3;

  }

  return 0;

}





// --- FUN_006ac670 at 0x006AC670 (size: 141) ---


undefined4 FUN_006ac670(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {

    if (*param_2 == 0x228) {

      iVar1 = (int)param_2 + (param_3 - (int)(param_2 + 1));

      local_c = 0;

      local_8 = 0;

      local_4 = 0;

      local_10 = &PTR_FUN_007e83bc;

      param_2 = param_2 + 1;

      FUN_005bbe20(&param_2,iVar1);

      uVar2 = FUN_00586840(&local_10);

      local_10 = &PTR_FUN_007e83bc;

      FUN_004a2d40();

      return uVar2;

    }

  }

  return 0;

}





// --- FUN_006ac700 at 0x006AC700 (size: 144) ---


undefined4 FUN_006ac700(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_7c [124];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x44) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x225) {

      return 0;

    }

    FUN_005bc780();

    FUN_005bc6c0(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_00586800(local_7c);

    FUN_006ac5a0();

    return uVar3;

  }

  return 0;

}





// --- FUN_006ac790 at 0x006AC790 (size: 237) ---


char FUN_006ac790(undefined4 param_1,int *param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 *puVar5;

  uint uVar6;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_2 + 0xc))(&local_c,0);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x27d;

  puVar4[1] = local_4;

  puVar5 = puVar4 + 2;

  uVar6 = (uint)puVar5 & 0x80000003;

  if ((int)uVar6 < 0) {

    uVar6 = (uVar6 - 1 | 0xfffffffc) + 1;

  }

  if (uVar6 != 0) {

    for (iVar2 = 4 - uVar6; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)puVar5 = 0;

      puVar5 = (undefined4 *)((int)puVar5 + 1);

    }

  }

  (**(code **)(*param_2 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)puVar5));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar5);

  }

  return cVar1;

}





// --- FUN_006ac880 at 0x006AC880 (size: 201) ---


char FUN_006ac880(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1b;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ac950 at 0x006AC950 (size: 265) ---


char FUN_006ac950(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1a;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aca60 at 0x006ACA60 (size: 322) ---


char FUN_006aca60(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0xcd;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006acbb0 at 0x006ACBB0 (size: 201) ---


char FUN_006acbb0(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x195;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006acc80 at 0x006ACC80 (size: 322) ---


char FUN_006acc80(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x19;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006acdd0 at 0x006ACDD0 (size: 322) ---


char FUN_006acdd0(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x54;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006acf20 at 0x006ACF20 (size: 265) ---


char FUN_006acf20(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x56;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ad030 at 0x006AD030 (size: 386) ---


char FUN_006ad030(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x14;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x55;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_4;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ad1c0 at 0x006AD1C0 (size: 322) ---


char FUN_006ad1c0(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0x10;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x19b;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_3;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ad310 at 0x006AD310 (size: 201) ---


char FUN_006ad310(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x36;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ad3e0 at 0x006AD3E0 (size: 265) ---


char FUN_006ad3e0(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x35;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ad4f0 at 0x006AD4F0 (size: 75) ---


undefined4 FUN_006ad4f0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd222);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x13c))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ad540 at 0x006AD540 (size: 57) ---


void __fastcall FUN_006ad540(undefined4 *param_1)



{

  param_1[6] = &PTR_FUN_007e8ff4;

  FUN_005ca8e0();

  param_1[6] = &PTR_FUN_0079385c;

  param_1[2] = &PTR_FUN_007a4ed0;

  FUN_0048bc30();

  param_1[2] = &PTR_FUN_0079385c;

  *param_1 = &PTR_FUN_0079385c;

  return;

}





// --- FUN_006ad580 at 0x006AD580 (size: 126) ---


undefined4 FUN_006ad580(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int *piVar2;

  undefined4 uVar3;

  undefined1 local_38 [56];

  

  piVar2 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    iVar1 = *param_2;

    param_2 = param_2 + 1;

    if (iVar1 != 0x2b4) {

      return 0;

    }

    FUN_005caa80();

    FUN_005ca770(&param_2,(int)piVar2 + (param_3 - (int)param_2));

    uVar3 = FUN_005663c0(local_38);

    FUN_006ad540();

    return uVar3;

  }

  return 0;

}





// --- FUN_006ad640 at 0x006AD640 (size: 68) ---


undefined4 FUN_006ad640(int param_1,int param_2)



{

  int *piVar1;

  undefined4 uVar2;

  

  if ((param_2 != 0) && (param_1 != 0)) {

    piVar1 = *(int **)(param_2 + 0x2c);

    if (*piVar1 == 0xf755) {

      uVar2 = FUN_004520b0(param_2,piVar1[1],piVar1[2],piVar1[3]);

      return uVar2;

    }

  }

  return 3;

}





// --- FUN_006ad690 at 0x006AD690 (size: 45) ---


undefined4 FUN_006ad690(int param_1,int param_2)



{

  undefined4 uVar1;

  

  if (((param_2 != 0) && (param_1 != 0)) && (**(int **)(param_2 + 0x2c) == 0xf751)) {

    uVar1 = FUN_00452190(param_2,(short)(*(int **)(param_2 + 0x2c))[1]);

    return uVar1;

  }

  return 3;

}





// --- FUN_006ad6c0 at 0x006AD6C0 (size: 68) ---


undefined4 FUN_006ad6c0(int param_1,int param_2)



{

  int *piVar1;

  undefined4 uVar2;

  

  if ((param_2 != 0) && (param_1 != 0)) {

    piVar1 = *(int **)(param_2 + 0x2c);

    if (*piVar1 == 0xf750) {

      uVar2 = FUN_00452000(param_2,piVar1[1],piVar1[2],piVar1[3]);

      return uVar2;

    }

  }

  return 3;

}





// --- FUN_006ad710 at 0x006AD710 (size: 279) ---


undefined4 FUN_006ad710(int param_1,int param_2)



{

  int *piVar1;

  int iVar2;

  int iVar3;

  undefined4 uVar4;

  int *local_1b8;

  undefined1 local_1b4 [44];

  undefined1 local_188 [176];

  undefined1 local_d8 [216];

  

  if ((param_2 != 0) && (param_1 != 0)) {

    piVar1 = *(int **)(param_2 + 0x2c);

    iVar2 = *(int *)(param_2 + 0x30);

    if (*piVar1 != 0xf7db) {

      return 3;

    }

    iVar3 = piVar1[1];

    local_1b8 = piVar1 + 2;

    FUN_005ac9c0();

    FUN_005acda0(&local_1b8,(iVar2 - (int)local_1b8) + (int)piVar1);

    FUN_0051dfe0();

    FUN_0051e8e0(&local_1b8,(iVar2 - (int)local_1b8) + (int)piVar1);

    FUN_005ae4d0();

    FUN_005ae520(&local_1b8,(iVar2 - (int)local_1b8) + (int)piVar1);

    uVar4 = FUN_00455620(param_2,iVar3,local_1b4,local_d8,local_188);

    FUN_005ada90();

    FUN_0051e250();

    FUN_005aca00();

    return uVar4;

  }

  return 3;

}





// --- FUN_006adba0 at 0x006ADBA0 (size: 55) ---


undefined4 FUN_006adba0(int param_1,int param_2)



{

  int *piVar1;

  undefined4 uVar2;

  

  if ((param_2 != 0) && (param_1 != 0)) {

    piVar1 = *(int **)(param_2 + 0x2c);

    if (*piVar1 == 0xf754) {

      uVar2 = FUN_00452060(param_2,piVar1[1],piVar1[2]);

      return uVar2;

    }

  }

  return 3;

}





// --- FUN_006adc80 at 0x006ADC80 (size: 193) ---


undefined4 FUN_006adc80(int param_1,int *param_2)



{

  int *piVar1;

  int iVar2;

  int iVar3;

  int iVar4;

  undefined4 uVar5;

  undefined1 local_20 [8];

  undefined1 local_18 [12];

  undefined1 local_c [12];

  

  iVar4 = (int)param_2;

  if ((param_2 != (int *)0x0) && (param_1 != 0)) {

    piVar1 = *(int **)((int)param_2 + 0x2c);

    iVar2 = *(int *)((int)param_2 + 0x30);

    if (*piVar1 != 0xf74e) {

      return 3;

    }

    iVar3 = piVar1[1];

    param_2 = piVar1 + 2;

    FUN_00517040(&param_2,(iVar2 - (int)param_2) + (int)piVar1);

    FUN_00517040(&param_2,(iVar2 - (int)param_2) + (int)piVar1);

    FUN_005179f0();

    FUN_00517a50(&param_2,(iVar2 - (int)param_2) + (int)piVar1);

    uVar5 = FUN_004534c0(iVar4,iVar3,local_c,local_18,local_20);

    return uVar5;

  }

  return 3;

}





// --- FUN_006add50 at 0x006ADD50 (size: 40) ---


undefined4 FUN_006add50(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x202)) {

    uVar1 = FUN_0056e9f0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006add80 at 0x006ADD80 (size: 57) ---


undefined4 FUN_006add80(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {

    if (*param_2 == 0x200) {

      uVar1 = FUN_0056ef90(param_2[1],param_2[2],param_2[3]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006addc0 at 0x006ADDC0 (size: 35) ---


undefined4 FUN_006addc0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x208)) {

    uVar1 = FUN_0056e770();

    return uVar1;

  }

  return 0;

}





// --- FUN_006addf0 at 0x006ADDF0 (size: 40) ---


undefined4 FUN_006addf0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x1ff)) {

    uVar1 = FUN_0056ebe0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ade20 at 0x006ADE20 (size: 40) ---


undefined4 FUN_006ade20(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x203)) {

    uVar1 = FUN_0056ea90(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ade50 at 0x006ADE50 (size: 40) ---


undefined4 FUN_006ade50(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x1fe)) {

    uVar1 = FUN_0056e6e0(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ade80 at 0x006ADE80 (size: 82) ---


undefined4 FUN_006ade80(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {

    if (*param_2 == 0x1fd) {

      uVar1 = FUN_0056ee00(param_2[1],param_2[2],param_2[3],param_2[4]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006adee0 at 0x006ADEE0 (size: 48) ---


undefined4 FUN_006adee0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {

    if (*param_2 == 0x201) {

      uVar1 = FUN_0056e9b0(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006adf10 at 0x006ADF10 (size: 40) ---


undefined4 FUN_006adf10(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) && (*param_2 == 0x205)) {

    uVar1 = FUN_0056e700(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006adf40 at 0x006ADF40 (size: 48) ---


undefined4 FUN_006adf40(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x54) != 0)) {

    if (*param_2 == 0x207) {

      uVar1 = FUN_0056e740(param_2[1],param_2[2]);

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006adf70 at 0x006ADF70 (size: 179) ---


char FUN_006adf70(int *param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  undefined4 local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = 0;

  iVar2 = (**(code **)(*param_1 + 0xc))(&local_c,0);

  iVar3 = FUN_006b4010(&stack0xffffffec,0);

  iVar3 = iVar2 + 4 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  FUN_006b4010(&stack0xffffffec,iVar3);

  *puVar4 = 0x1fa;

  (**(code **)(*param_1 + 0xc))(&stack0xffffffec,(int)puVar4 + (iVar3 - (int)(puVar4 + 1)));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(puVar4 + 1);

  }

  return cVar1;

}





// --- FUN_006ae030 at 0x006AE030 (size: 265) ---


char FUN_006ae030(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 0xc;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1f8;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ae140 at 0x006AE140 (size: 141) ---


char FUN_006ae140(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1f7;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ae1d0 at 0x006AE1D0 (size: 141) ---


char FUN_006ae1d0(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1fb;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ae260 at 0x006AE260 (size: 201) ---


char FUN_006ae260(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  uint uVar4;

  int iVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 8;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x1f6;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar4 = (uint)local_c & 0x80000003;

  if ((int)uVar4 < 0) {

    uVar4 = (uVar4 - 1 | 0xfffffffc) + 1;

  }

  if (uVar4 != 0) {

    for (iVar5 = 4 - uVar4; iVar5 != 0; iVar5 = iVar5 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ae330 at 0x006AE330 (size: 141) ---


char FUN_006ae330(void)



{

  char cVar1;

  int iVar2;

  undefined4 *puVar3;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_006b4010(&local_c,0);

  iVar2 = iVar2 + 4;

  puVar3 = (undefined4 *)thunk_FUN_005df0f5(iVar2);

  local_c = puVar3;

  FUN_006b4010(&local_c,iVar2);

  *local_c = 0x204;

  local_c = local_c + 1;

  cVar1 = FUN_005473d0(puVar3,iVar2);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006ae3c0 at 0x006AE3C0 (size: 75) ---


undefined4 FUN_006ae3c0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd235);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1e4))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ae410 at 0x006AE410 (size: 87) ---


undefined4 FUN_006ae410(undefined4 param_1,undefined4 param_2)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd233);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1e8))(unaff_retaddr,param_1,param_2);

      }

    }

  }

  return 1;

}





// --- FUN_006ae470 at 0x006AE470 (size: 70) ---


undefined4 FUN_006ae470(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd239);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1ec))();

      }

    }

  }

  return 1;

}





// --- FUN_006ae4c0 at 0x006AE4C0 (size: 75) ---


undefined4 FUN_006ae4c0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd232);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1f0))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ae510 at 0x006AE510 (size: 75) ---


undefined4 FUN_006ae510(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd236);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 500))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ae560 at 0x006AE560 (size: 75) ---


undefined4 FUN_006ae560(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd231);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1f8))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ae5b0 at 0x006AE5B0 (size: 90) ---


undefined4 FUN_006ae5b0(undefined4 param_1,undefined4 param_2,undefined4 param_3)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd230);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x1fc))(unaff_retaddr,param_1,param_2,param_3);

      }

    }

  }

  return 1;

}





// --- FUN_006ae610 at 0x006AE610 (size: 82) ---


undefined4 FUN_006ae610(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd234);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x200))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006ae670 at 0x006AE670 (size: 75) ---


undefined4 FUN_006ae670(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd237);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x204))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ae6c0 at 0x006AE6C0 (size: 75) ---


undefined4 FUN_006ae6c0(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd23a);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x208))(unaff_retaddr);

      }

    }

  }

  return 1;

}





// --- FUN_006ae710 at 0x006AE710 (size: 82) ---


undefined4 FUN_006ae710(undefined4 param_1)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  undefined4 unaff_retaddr;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(&DAT_004dd238);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x20c))(unaff_retaddr,param_1);

      }

    }

  }

  return 1;

}





// --- FUN_006ae770 at 0x006AE770 (size: 70) ---


undefined4 FUN_006ae770(void)



{

  int *piVar1;

  char cVar2;

  int *piVar3;

  int iVar4;

  

  piVar3 = (int *)thunk_FUN_0043c680();

  iVar4 = (**(code **)(*piVar3 + 0x10))(0x4dd1e1);

  if (iVar4 != 0) {

    piVar3 = *(int **)(iVar4 + 4);

    while (piVar3 != (int *)0x0) {

      piVar1 = (int *)*piVar3;

      piVar3 = (int *)piVar3[1];

      if ((piVar1 != (int *)0x0) && (cVar2 = (**(code **)*piVar1)(), cVar2 == '\0')) {

        (**(code **)(*piVar1 + 0x164))();

      }

    }

  }

  return 1;

}





// --- FUN_006ae7c0 at 0x006AE7C0 (size: 164) ---


undefined4 FUN_006ae7c0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int iVar2;

  int *piVar3;

  undefined4 *puVar4;

  undefined4 uVar5;

  LONG LVar6;

  int *piVar7;

  undefined4 *local_4;

  

  piVar3 = param_2;

  if ((param_1 != 0) && (*(int *)(param_1 + 0x34) != 0)) {

    if (*param_2 != 0xf7e1) {

      return 0;

    }

    iVar1 = param_2[1];

    iVar2 = param_2[2];

    local_4 = DAT_008ef11c;

    piVar7 = param_2 + 3;

    param_2 = piVar7;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar3 + (param_3 - (int)piVar7));

    uVar5 = FUN_00564f40(iVar1,iVar2,&local_4);

    puVar4 = local_4;

    LVar6 = InterlockedDecrement(local_4 + 1);

    if ((LVar6 == 0) && (puVar4 != (undefined4 *)0x0)) {

      (**(code **)*puVar4)(1);

    }

    return uVar5;

  }

  return 0;

}





// --- FUN_006ae870 at 0x006AE870 (size: 40) ---


undefined4 FUN_006ae870(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x40) != 0)) && (*param_2 == 60000)) {

    uVar1 = FUN_0055eb40(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ae8a0 at 0x006AE8A0 (size: 40) ---


undefined4 FUN_006ae8a0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if (((param_1 != 0) && (*(int *)(param_1 + 0x4c) != 0)) && (*param_2 == 0x2ae)) {

    uVar1 = FUN_006b6e20(param_2[1]);

    return uVar1;

  }

  return 0;

}





// --- FUN_006ae8d0 at 0x006AE8D0 (size: 68) ---


undefined4 * __thiscall FUN_006ae8d0(undefined4 *param_1,byte param_2)



{

  undefined4 *puVar1;

  LONG LVar2;

  

  puVar1 = (undefined4 *)param_1[1];

  *param_1 = &PTR_FUN_0080468c;

  LVar2 = InterlockedDecrement(puVar1 + 1);

  if ((LVar2 == 0) && (puVar1 != (undefined4 *)0x0)) {

    (**(code **)*puVar1)(1);

  }

  *param_1 = &PTR_FUN_0079385c;

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006ae920 at 0x006AE920 (size: 68) ---


undefined4 * __thiscall FUN_006ae920(undefined4 *param_1,byte param_2)



{

  undefined4 *puVar1;

  LONG LVar2;

  

  puVar1 = (undefined4 *)param_1[1];

  *param_1 = &PTR_FUN_008046a0;

  LVar2 = InterlockedDecrement(puVar1 + 1);

  if ((LVar2 == 0) && (puVar1 != (undefined4 *)0x0)) {

    (**(code **)*puVar1)(1);

  }

  *param_1 = &PTR_FUN_0079385c;

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006ae970 at 0x006AE970 (size: 237) ---


char FUN_006ae970(undefined4 param_1)



{

  char cVar1;

  int iVar2;

  int iVar3;

  undefined4 *puVar4;

  uint uVar5;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_006b4010(&local_c,0);

  iVar3 = iVar2 + 8 + iVar3;

  puVar4 = (undefined4 *)thunk_FUN_005df0f5(iVar3);

  local_c = puVar4;

  FUN_006b4010(&local_c,iVar3);

  *local_c = 0x2af;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar5 = (uint)local_c & 0x80000003;

  if ((int)uVar5 < 0) {

    uVar5 = (uVar5 - 1 | 0xfffffffc) + 1;

  }

  if (uVar5 != 0) {

    for (iVar2 = 4 - uVar5; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar4 + (iVar3 - (int)local_c));

  cVar1 = FUN_005473d0(puVar4,iVar3);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aea60 at 0x006AEA60 (size: 434) ---


char FUN_006aea60(undefined4 param_1,undefined4 param_2)



{

  char cVar1;

  int iVar2;

  int iVar3;

  int iVar4;

  int iVar5;

  int iVar6;

  undefined4 *puVar7;

  uint uVar8;

  undefined4 *local_c;

  undefined **local_8;

  undefined4 local_4;

  

  local_4 = FUN_005473a0();

  local_8 = &PTR_FUN_00802c2c;

  local_c = (undefined4 *)0x0;

  iVar2 = FUN_004fd290(&local_c,0);

  iVar3 = FUN_004fd290(&local_c,0);

  iVar4 = FUN_004fd290(&local_c,0);

  iVar5 = FUN_004fd290(&local_c,0);

  iVar6 = FUN_006b4010(&local_c,0);

  iVar6 = iVar2 + iVar3 + iVar4 + iVar5 + 0xc + iVar6;

  puVar7 = (undefined4 *)thunk_FUN_005df0f5(iVar6);

  local_c = puVar7;

  FUN_006b4010(&local_c,iVar6);

  *local_c = 0x2b2;

  local_c[1] = param_1;

  local_c = local_c + 2;

  uVar8 = (uint)local_c & 0x80000003;

  if ((int)uVar8 < 0) {

    uVar8 = (uVar8 - 1 | 0xfffffffc) + 1;

  }

  if (uVar8 != 0) {

    for (iVar2 = 4 - uVar8; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  *local_c = param_2;

  local_c = local_c + 1;

  uVar8 = (uint)local_c & 0x80000003;

  if ((int)uVar8 < 0) {

    uVar8 = (uVar8 - 1 | 0xfffffffc) + 1;

  }

  if (uVar8 != 0) {

    for (iVar2 = 4 - uVar8; iVar2 != 0; iVar2 = iVar2 + -1) {

      *(undefined1 *)local_c = 0;

      local_c = (undefined4 *)((int)local_c + 1);

    }

  }

  FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));

  FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));

  FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));

  FUN_004fd290(&local_c,(int)puVar7 + (iVar6 - (int)local_c));

  cVar1 = FUN_005473d0(puVar7,iVar6);

  if (cVar1 == '\0') {

    FUN_005473b0(local_4);

  }

  return cVar1;

}





// --- FUN_006aec20 at 0x006AEC20 (size: 75) ---


int __thiscall FUN_006aec20(int param_1,int param_2)



{

  undefined4 *puVar1;

  int iVar2;

  LONG LVar3;

  

  puVar1 = *(undefined4 **)(param_1 + 4);

  if (puVar1 != *(undefined4 **)(param_2 + 4)) {

    LVar3 = InterlockedDecrement(puVar1 + 1);

    if ((LVar3 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    iVar2 = *(int *)(param_2 + 4);

    *(int *)(param_1 + 4) = iVar2;

    InterlockedIncrement((LONG *)(iVar2 + 4));

  }

  *(undefined4 *)(param_1 + 8) = *(undefined4 *)(param_2 + 8);

  return param_1;

}





// --- FUN_006aec70 at 0x006AEC70 (size: 151) ---


undefined4 FUN_006aec70(undefined4 *param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 *puVar2;

  int *piVar3;

  undefined4 uVar4;

  LONG LVar5;

  int *piVar6;

  

  piVar3 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x4c) != 0)) {

    if (*param_2 != 0x2b1) {

      return 0;

    }

    iVar1 = param_2[1];

    param_1 = DAT_008ef11c;

    piVar6 = param_2 + 2;

    param_2 = piVar6;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar3 + (param_3 - (int)piVar6));

    uVar4 = FUN_006b6ec0(iVar1,&param_1);

    puVar2 = param_1;

    LVar5 = InterlockedDecrement(param_1 + 1);

    if ((LVar5 == 0) && (puVar2 != (undefined4 *)0x0)) {

      (**(code **)*puVar2)(1);

    }

    return uVar4;

  }

  return 0;

}





// --- FUN_006aed10 at 0x006AED10 (size: 445) ---


undefined4 FUN_006aed10(undefined4 *param_1,int *param_2,int param_3)



{

  undefined4 *puVar1;

  int *piVar2;

  int iVar3;

  undefined4 uVar4;

  LONG LVar5;

  int *piVar6;

  undefined4 *local_10;

  undefined4 *local_c;

  undefined4 *local_8;

  undefined4 *local_4;

  

  piVar2 = param_2;

  if ((param_1 != (undefined4 *)0x0) && (*(int *)((int)param_1 + 0x4c) != 0)) {

    piVar6 = param_2 + 1;

    if (*param_2 != 0x2b3) {

      return 0;

    }

    local_4 = DAT_008ef11c;

    param_2 = piVar6;

    InterlockedIncrement(DAT_008ef11c + 1);

    iVar3 = param_3;

    FUN_004fd460(&param_2,(int)piVar2 + (param_3 - (int)piVar6));

    local_8 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    local_c = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    local_10 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    param_1 = DAT_008ef11c;

    InterlockedIncrement(DAT_008ef11c + 1);

    FUN_004fd460(&param_2,(int)piVar2 + (iVar3 - (int)param_2));

    uVar4 = FUN_006b6e10(&local_4,&local_8,&local_c,&local_10,&param_1);

    puVar1 = param_1;

    LVar5 = InterlockedDecrement(param_1 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_10;

    LVar5 = InterlockedDecrement(local_10 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_c;

    LVar5 = InterlockedDecrement(local_c + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_8;

    LVar5 = InterlockedDecrement(local_8 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    puVar1 = local_4;

    LVar5 = InterlockedDecrement(local_4 + 1);

    if ((LVar5 == 0) && (puVar1 != (undefined4 *)0x0)) {

      (**(code **)*puVar1)(1);

    }

    return uVar4;

  }

  return 0;

}





// --- FUN_006aeed0 at 0x006AEED0 (size: 121) ---


void __thiscall FUN_006aeed0(int param_1,int param_2)



{

  int iVar1;

  undefined4 *puVar2;

  

  puVar2 = (undefined4 *)FUN_005df0f5(0x14);

  if (puVar2 == (undefined4 *)0x0) {

    puVar2 = (undefined4 *)0x0;

  }

  else {

    *puVar2 = &PTR_FUN_0080468c;

    iVar1 = *(int *)(param_2 + 4);

    puVar2[1] = iVar1;

    InterlockedIncrement((LONG *)(iVar1 + 4));

    puVar2[2] = *(undefined4 *)(param_2 + 8);

    puVar2[3] = 0;

    puVar2[4] = 0;

  }

  if (*(int *)(param_1 + 4) == 0) {

    *(undefined4 **)(param_1 + 4) = puVar2;

    *(undefined4 **)(param_1 + 8) = puVar2;

    *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;

    return;

  }

  iVar1 = *(int *)(param_1 + 8);

  *(undefined4 **)(iVar1 + 0xc) = puVar2;

  puVar2[4] = iVar1;

  *(undefined4 **)(param_1 + 8) = puVar2;

  *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;

  return;

}





// --- FUN_006aef50 at 0x006AEF50 (size: 121) ---


void __thiscall FUN_006aef50(int param_1,int param_2)



{

  int iVar1;

  undefined4 *puVar2;

  

  puVar2 = (undefined4 *)FUN_005df0f5(0x14);

  if (puVar2 == (undefined4 *)0x0) {

    puVar2 = (undefined4 *)0x0;

  }

  else {

    *puVar2 = &PTR_FUN_008046a0;

    iVar1 = *(int *)(param_2 + 4);

    puVar2[1] = iVar1;

    InterlockedIncrement((LONG *)(iVar1 + 4));

    puVar2[2] = *(undefined4 *)(param_2 + 8);

    puVar2[3] = 0;

    puVar2[4] = 0;

  }

  if (*(int *)(param_1 + 4) == 0) {

    *(undefined4 **)(param_1 + 4) = puVar2;

    *(undefined4 **)(param_1 + 8) = puVar2;

    *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;

    return;

  }

  iVar1 = *(int *)(param_1 + 8);

  *(undefined4 **)(iVar1 + 0xc) = puVar2;

  puVar2[4] = iVar1;

  *(undefined4 **)(param_1 + 8) = puVar2;

  *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + 1;

  return;

}





// --- FUN_006aefd0 at 0x006AEFD0 (size: 123) ---


undefined4 __fastcall FUN_006aefd0(int param_1)



{

  undefined4 *puVar1;

  int iVar2;

  undefined4 *puVar3;

  LONG LVar4;

  

  puVar1 = *(undefined4 **)(param_1 + 4);

  if (puVar1 == (undefined4 *)0x0) {

    return 0;

  }

  iVar2 = puVar1[3];

  *(int *)(param_1 + 4) = iVar2;

  if (iVar2 == 0) {

    *(undefined4 *)(param_1 + 8) = 0;

  }

  else {

    *(undefined4 *)(iVar2 + 0x10) = 0;

  }

  FUN_006aec20(puVar1);

  if (puVar1 != (undefined4 *)0x0) {

    puVar3 = (undefined4 *)puVar1[1];

    *puVar1 = &PTR_FUN_0080468c;

    LVar4 = InterlockedDecrement(puVar3 + 1);

    if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {

      (**(code **)*puVar3)(1);

    }

    *puVar1 = &PTR_FUN_0079385c;

    operator_delete(puVar1);

  }

  *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + -1;

  return 1;

}





// --- FUN_006af050 at 0x006AF050 (size: 123) ---


undefined4 __fastcall FUN_006af050(int param_1)



{

  undefined4 *puVar1;

  int iVar2;

  undefined4 *puVar3;

  LONG LVar4;

  

  puVar1 = *(undefined4 **)(param_1 + 4);

  if (puVar1 == (undefined4 *)0x0) {

    return 0;

  }

  iVar2 = puVar1[3];

  *(int *)(param_1 + 4) = iVar2;

  if (iVar2 == 0) {

    *(undefined4 *)(param_1 + 8) = 0;

  }

  else {

    *(undefined4 *)(iVar2 + 0x10) = 0;

  }

  FUN_006aec20(puVar1);

  if (puVar1 != (undefined4 *)0x0) {

    puVar3 = (undefined4 *)puVar1[1];

    *puVar1 = &PTR_FUN_008046a0;

    LVar4 = InterlockedDecrement(puVar3 + 1);

    if ((LVar4 == 0) && (puVar3 != (undefined4 *)0x0)) {

      (**(code **)*puVar3)(1);

    }

    *puVar1 = &PTR_FUN_0079385c;

    operator_delete(puVar1);

  }

  *(int *)(param_1 + 0xc) = *(int *)(param_1 + 0xc) + -1;

  return 1;

}





// --- FUN_006af0d0 at 0x006AF0D0 (size: 84) ---


void __fastcall FUN_006af0d0(int param_1)



{

  int iVar1;

  LONG LVar2;

  undefined **local_c;

  undefined4 *local_8;

  

  FUN_006b1a00();

  iVar1 = *(int *)(param_1 + 4);

  while (iVar1 != 0) {

    FUN_006aefd0(&local_c);

    iVar1 = *(int *)(param_1 + 4);

  }

  local_c = &PTR_FUN_0080468c;

  LVar2 = InterlockedDecrement(local_8 + 1);

  if ((LVar2 == 0) && (local_8 != (undefined4 *)0x0)) {

    (**(code **)*local_8)(1);

  }

  return;

}





// --- FUN_006af130 at 0x006AF130 (size: 84) ---


void __fastcall FUN_006af130(int param_1)



{

  int iVar1;

  LONG LVar2;

  undefined **local_c;

  undefined4 *local_8;

  

  FUN_006b1a30();

  iVar1 = *(int *)(param_1 + 4);

  while (iVar1 != 0) {

    FUN_006af050(&local_c);

    iVar1 = *(int *)(param_1 + 4);

  }

  local_c = &PTR_FUN_008046a0;

  LVar2 = InterlockedDecrement(local_8 + 1);

  if ((LVar2 == 0) && (local_8 != (undefined4 *)0x0)) {

    (**(code **)*local_8)(1);

  }

  return;

}





// --- FUN_006af190 at 0x006AF190 (size: 199) ---


undefined4 FUN_006af190(int *param_1,uint param_2)



{

  int iVar1;

  int iVar2;

  LONG LVar3;

  int iVar4;

  undefined **local_c;

  undefined4 *local_8;

  

  FUN_006af0d0();

  if (param_2 < 4) {

    return 0;

  }

  iVar1 = *(int *)*param_1;

  *param_1 = (int)((int *)*param_1 + 1);

  FUN_006b1a00();

  iVar4 = 0;

  if (0 < iVar1) {

    do {

      iVar2 = (*(code *)local_c[4])(param_1,param_2);

      if (iVar2 == 0) {

        local_c = &PTR_FUN_0080468c;

        LVar3 = InterlockedDecrement(local_8 + 1);

        if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {

          (**(code **)*local_8)(1);

        }

        return 0;

      }

      FUN_006aeed0(&local_c);

      iVar4 = iVar4 + 1;

    } while (iVar4 < iVar1);

  }

  local_c = &PTR_FUN_0080468c;

  LVar3 = InterlockedDecrement(local_8 + 1);

  if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {

    (**(code **)*local_8)(1);

  }

  return 1;

}





// --- FUN_006af260 at 0x006AF260 (size: 199) ---


undefined4 FUN_006af260(int *param_1,uint param_2)



{

  int iVar1;

  int iVar2;

  LONG LVar3;

  int iVar4;

  undefined **local_c;

  undefined4 *local_8;

  

  FUN_006af130();

  if (param_2 < 4) {

    return 0;

  }

  iVar1 = *(int *)*param_1;

  *param_1 = (int)((int *)*param_1 + 1);

  FUN_006b1a30();

  iVar4 = 0;

  if (0 < iVar1) {

    do {

      iVar2 = (*(code *)local_c[4])(param_1,param_2);

      if (iVar2 == 0) {

        local_c = &PTR_FUN_008046a0;

        LVar3 = InterlockedDecrement(local_8 + 1);

        if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {

          (**(code **)*local_8)(1);

        }

        return 0;

      }

      FUN_006aef50(&local_c);

      iVar4 = iVar4 + 1;

    } while (iVar4 < iVar1);

  }

  local_c = &PTR_FUN_008046a0;

  LVar3 = InterlockedDecrement(local_8 + 1);

  if ((LVar3 == 0) && (local_8 != (undefined4 *)0x0)) {

    (**(code **)*local_8)(1);

  }

  return 1;

}





// --- FUN_006af330 at 0x006AF330 (size: 42) ---


undefined4 * __thiscall FUN_006af330(undefined4 *param_1,byte param_2)



{

  *param_1 = &PTR_FUN_00804664;

  FUN_006af0d0();

  *param_1 = &PTR_FUN_0079385c;

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006af360 at 0x006AF360 (size: 42) ---


undefined4 * __thiscall FUN_006af360(undefined4 *param_1,byte param_2)



{

  *param_1 = &PTR_FUN_00804678;

  FUN_006af130();

  *param_1 = &PTR_FUN_0079385c;

  if ((param_2 & 1) != 0) {

    operator_delete(param_1);

  }

  return param_1;

}





// --- FUN_006af390 at 0x006AF390 (size: 149) ---


undefined4 FUN_006af390(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int iVar2;

  undefined4 uVar3;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x4c) != 0)) {

    if (*param_2 != 0xf7ca) {

      return 0;

    }

    iVar1 = param_2[1];

    iVar2 = (int)param_2 + (param_3 - (int)(param_2 + 2));

    local_10 = &PTR_FUN_00804664;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = param_2 + 2;

    FUN_006af190(&param_2,iVar2);

    uVar3 = FUN_006b4d00(iVar1,&local_10);

    local_10 = &PTR_FUN_00804664;

    FUN_006af0d0();

    return uVar3;

  }

  return 0;

}





// --- FUN_006af430 at 0x006AF430 (size: 149) ---


undefined4 FUN_006af430(int param_1,int *param_2,int param_3)



{

  int iVar1;

  int iVar2;

  undefined4 uVar3;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x4c) != 0)) {

    if (*param_2 != 0xf7cb) {

      return 0;

    }

    iVar1 = param_2[1];

    iVar2 = (int)param_2 + (param_3 - (int)(param_2 + 2));

    local_10 = &PTR_FUN_00804678;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = param_2 + 2;

    FUN_006af260(&param_2,iVar2);

    uVar3 = FUN_006b4d00(iVar1,&local_10);

    local_10 = &PTR_FUN_00804678;

    FUN_006af130();

    return uVar3;

  }

  return 0;

}





// --- FUN_006af4d0 at 0x006AF4D0 (size: 56) ---


undefined4 FUN_006af4d0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d3) {

      uVar1 = FUN_00559f40((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af510 at 0x006AF510 (size: 56) ---


undefined4 FUN_006af510(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d9) {

      uVar1 = FUN_0055a000((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af550 at 0x006AF550 (size: 56) ---


undefined4 FUN_006af550(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d5) {

      uVar1 = FUN_00559f80((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af590 at 0x006AF590 (size: 56) ---


undefined4 FUN_006af590(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1db) {

      uVar1 = FUN_0055a040((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af5d0 at 0x006AF5D0 (size: 56) ---


undefined4 FUN_006af5d0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2b8) {

      uVar1 = FUN_00559f00((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af610 at 0x006AF610 (size: 56) ---


undefined4 FUN_006af610(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d1) {

      uVar1 = FUN_00559ec0((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af650 at 0x006AF650 (size: 56) ---


undefined4 FUN_006af650(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1dd) {

      uVar1 = FUN_0055a080((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af690 at 0x006AF690 (size: 56) ---


undefined4 FUN_006af690(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d7) {

      uVar1 = FUN_00559fc0((char)param_2[1],*(undefined4 *)((int)param_2 + 5));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af6d0 at 0x006AF6D0 (size: 148) ---


undefined4 FUN_006af6d0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  int iVar3;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2e3) {

      iVar1 = param_2[1];

      uVar2 = *(undefined4 *)((int)param_2 + 5);

      iVar3 = (int)param_2 + (param_3 - ((int)param_2 + 9));

      local_10 = &PTR_FUN_007a8b64;

      local_c = 0;

      local_8 = 0;

      local_4 = 0;

      param_2 = (int *)((int)param_2 + 9);

      FUN_005cbb20(&param_2,iVar3);

      uVar2 = FUN_00559ac0((char)iVar1,uVar2,&local_10);

      return uVar2;

    }

  }

  return 0;

}





// --- FUN_006af770 at 0x006AF770 (size: 143) ---


undefined4 FUN_006af770(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  int iVar3;

  undefined **local_14;

  undefined4 local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2e7) {

      iVar1 = param_2[1];

      uVar2 = *(undefined4 *)((int)param_2 + 5);

      iVar3 = (int)param_2 + (param_3 - ((int)param_2 + 9));

      local_10 = 0;

      local_c = 0;

      local_8 = 0;

      local_14 = &PTR_FUN_007a8b80;

      local_4 = 0;

      param_2 = (int *)((int)param_2 + 9);

      FUN_005cbbc0(&param_2,iVar3);

      uVar2 = FUN_00559b20((char)iVar1,uVar2,&local_14);

      return uVar2;

    }

  }

  return 0;

}





// --- FUN_006af800 at 0x006AF800 (size: 60) ---


undefined4 FUN_006af800(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2e9) {

      uVar1 = FUN_00559b50((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af840 at 0x006AF840 (size: 60) ---


undefined4 FUN_006af840(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2e5) {

      uVar1 = FUN_00559af0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af880 at 0x006AF880 (size: 60) ---


undefined4 FUN_006af880(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2d1) {

      uVar1 = FUN_00559c70((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af8c0 at 0x006AF8C0 (size: 85) ---


undefined4 FUN_006af8c0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2d3) {

      uVar1 = FUN_00559ca0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af920 at 0x006AF920 (size: 60) ---


undefined4 FUN_006af920(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2d9) {

      uVar1 = FUN_00559d30((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af960 at 0x006AF960 (size: 60) ---


undefined4 FUN_006af960(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2cd) {

      uVar1 = FUN_00559c10((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af9a0 at 0x006AF9A0 (size: 66) ---


undefined4 FUN_006af9a0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2cf) {

      uVar1 = FUN_00559c40((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006af9f0 at 0x006AF9F0 (size: 163) ---


undefined4 FUN_006af9f0(int param_1,int *param_2,int param_3)



{

  int iVar1;

  undefined4 uVar2;

  int iVar3;

  undefined **local_20;

  undefined4 local_1c;

  undefined4 local_18;

  undefined4 local_14;

  undefined4 local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2dd) {

      iVar1 = param_2[1];

      uVar2 = *(undefined4 *)((int)param_2 + 5);

      iVar3 = (int)param_2 + (param_3 - ((int)param_2 + 9));

      local_20 = &PTR_FUN_007a8458;

      local_1c = 0;

      local_18 = 0;

      local_14 = 0;

      local_10 = 0;

      local_c = 0;

      local_8 = 0;

      local_4 = 0;

      param_2 = (int *)((int)param_2 + 9);

      FUN_005cba30(&param_2,iVar3);

      uVar2 = FUN_00559b80((char)iVar1,uVar2,&local_20);

      return uVar2;

    }

  }

  return 0;

}





// --- FUN_006afaa0 at 0x006AFAA0 (size: 60) ---


undefined4 FUN_006afaa0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2e1) {

      uVar1 = FUN_00559be0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afae0 at 0x006AFAE0 (size: 60) ---


undefined4 FUN_006afae0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2df) {

      uVar1 = FUN_00559bb0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afb20 at 0x006AFB20 (size: 60) ---


undefined4 FUN_006afb20(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d4) {

      uVar1 = FUN_00559dd0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afb60 at 0x006AFB60 (size: 60) ---


undefined4 FUN_006afb60(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1da) {

      uVar1 = FUN_00559e30((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afba0 at 0x006AFBA0 (size: 60) ---


undefined4 FUN_006afba0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d6) {

      uVar1 = FUN_00559df0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afbe0 at 0x006AFBE0 (size: 60) ---


undefined4 FUN_006afbe0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1dc) {

      uVar1 = FUN_00559e50((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afc20 at 0x006AFC20 (size: 60) ---


undefined4 FUN_006afc20(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2b9) {

      uVar1 = FUN_00559db0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afc60 at 0x006AFC60 (size: 60) ---


undefined4 FUN_006afc60(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d2) {

      uVar1 = FUN_00559d90((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afca0 at 0x006AFCA0 (size: 60) ---


undefined4 FUN_006afca0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1de) {

      uVar1 = FUN_00559e70((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afce0 at 0x006AFCE0 (size: 60) ---


undefined4 FUN_006afce0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x1d8) {

      uVar1 = FUN_00559e10((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afd20 at 0x006AFD20 (size: 158) ---


undefined4 FUN_006afd20(int param_1,int *param_2,int param_3)



{

  undefined4 uVar1;

  int iVar2;

  undefined4 uVar3;

  int iVar4;

  undefined **local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 != 0x2e4) {

      return 0;

    }

    iVar2 = param_2[1];

    uVar3 = *(undefined4 *)((int)param_2 + 5);

    uVar1 = *(undefined4 *)((int)param_2 + 9);

    iVar4 = (int)param_2 + (param_3 - ((int)param_2 + 0xd));

    local_10 = &PTR_FUN_007a8b64;

    local_c = 0;

    local_8 = 0;

    local_4 = 0;

    param_2 = (int *)((int)param_2 + 0xd);

    FUN_005cbb20(&param_2,iVar4);

    uVar3 = FUN_005598c0((char)iVar2,uVar3,uVar1,&local_10);

    return uVar3;

  }

  return 0;

}





// --- FUN_006afdc0 at 0x006AFDC0 (size: 155) ---


undefined4 FUN_006afdc0(int param_1,int *param_2,int param_3)



{

  undefined4 uVar1;

  int iVar2;

  undefined4 uVar3;

  int iVar4;

  undefined **local_14;

  undefined4 local_10;

  undefined4 local_c;

  undefined4 local_8;

  undefined4 local_4;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2e8) {

      iVar2 = param_2[1];

      uVar3 = *(undefined4 *)((int)param_2 + 5);

      uVar1 = *(undefined4 *)((int)param_2 + 9);

      local_10 = 0;

      local_c = 0;

      local_8 = 0;

      local_4 = 0;

      iVar4 = (int)param_2 + (param_3 - ((int)param_2 + 0xd));

      local_14 = &PTR_FUN_007a8b80;

      param_2 = (int *)((int)param_2 + 0xd);

      FUN_005cbbc0(&param_2,iVar4);

      uVar3 = FUN_00559900((char)iVar2,uVar3,uVar1,&local_14);

      return uVar3;

    }

  }

  return 0;

}





// --- FUN_006afe60 at 0x006AFE60 (size: 69) ---


undefined4 FUN_006afe60(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2ea) {

      uVar1 = FUN_00559920((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006afeb0 at 0x006AFEB0 (size: 69) ---


undefined4 FUN_006afeb0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2e6) {

      uVar1 = FUN_005598e0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006aff00 at 0x006AFF00 (size: 69) ---


undefined4 FUN_006aff00(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2d2) {

      uVar1 = FUN_005599f0((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006aff50 at 0x006AFF50 (size: 94) ---


undefined4 FUN_006aff50(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2d4) {

      uVar1 = FUN_00559a10((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd),

                           *(undefined4 *)((int)param_2 + 0x11));

      return uVar1;

    }

  }

  return 0;

}





// --- FUN_006affb0 at 0x006AFFB0 (size: 69) ---


undefined4 FUN_006affb0(int param_1,int *param_2)



{

  undefined4 uVar1;

  

  if ((param_1 != 0) && (*(int *)(param_1 + 0x30) != 0)) {

    if (*param_2 == 0x2da) {

      uVar1 = FUN_00559a80((char)param_2[1],*(undefined4 *)((int)param_2 + 5),

                           *(undefined4 *)((int)param_2 + 9),*(undefined4 *)((int)param_2 + 0xd));

      return uVar1;

    }

  }

  return 0;

}





