// c0a02b FUN_c0a02b ok 36 ms, 54 lines, 1392 chars

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

void FUN_c0a02b(void)

{
  short sVar1;
  ushort uVar2;
  ushort uVar3;
  ushort uVar4;
  char cVar5;
  
  uVar2 = 0;
  do {
    (&DAT_7e70c0)[uVar2] = 0x80;
    uVar2 = uVar2 + 1;
  } while (uVar2 < 0x40);
  uVar2 = 0xafc0;
  do {
    uVar3 = 0x70c0;
    sVar1 = 0x3f;
    do {
      uVar4 = uVar2;
      *(undefined1 *)(uVar4 | 0x7e0000) = *(undefined1 *)(uVar3 | 0x7e0000);
      uVar3 = uVar3 + 1;
      sVar1 = sVar1 + -1;
      uVar2 = uVar4 + 1;
    } while (sVar1 != -1);
    uVar2 = uVar4 - 0x13f;
  } while (uVar2 != 0x70c0);
  _DAT_7e1d06 = 0x7402;
  uVar3 = (field__location_id & 0x1ff) * 2;
  uVar2 = *(ushort *)(&DAT_f67000 + uVar3);
  _DAT_7e1d56 = *(ushort *)(&DAT_f67000 + (ushort)(uVar3 + 2));
  _DAT_7e1d54 = 0;
  _DAT_7e1d08 = uVar2;
  while (cVar5 = _DAT_7e1d56 <= uVar2, !(bool)cVar5) {
    uVar3 = *(ushort *)(&DAT_f60000 + uVar2) & _DAT_7e1d1e;
    _DAT_7e1d52 = uVar2;
    (&DAT_7e70c0)[uVar3] = DAT_7e1d54;
