========== wear-xref @ 006282f9 ==========
-- funcao: FUN_006281e2 @ 006281e2

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __EH_epilog3 replaced with injection: EH_epilog3 */

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

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  undefined1 local_30 [24];
  undefined **local_18;
  undefined4 local_14;
  undefined4 local_8;
  undefined4 uStack_4;
  
  uStack_4 = 0x20;
  local_8 = 0x6281ee;
  iVar1 = FUN_005dc772();
  if ((((iVar1 == 7) || (iVar1 = FUN_005dc772(), iVar1 == 8)) ||
      (iVar1 = FUN_005dc772(), iVar1 == 9)) ||
     ((iVar1 = FUN_005da7ad(), iVar1 != 0 || (iVar1 = FUN_00640bee(), iVar1 != 0)))) {
    uVar7 = 0;
    uVar6 = 0;
    uVar5 = 0xff920000;
    uVar4 = 0xfffffdde;
    uVar3 = 0;
    uVar2 = 0x7342;
    thunk_FUN_0045135c(0x7342,0,0xfffffdde,0xff920000,0,0);
    uVar2 = FUN_0044fc66(uVar2,uVar3);
    FUN_0043ecb7(uVar2,uVar4,uVar5,uVar6,uVar7);
    return;
  }
  FUN_00422b0a();
  local_8 = 0;
  if (param_5 == 0) {
    uVar2 = param_3;
    thunk_FUN_00637b85(param_3);
    uVar2 = FUN_0062b690(uVar2);
    iVar1 = FUN_00613be4(uVar2,0,param_6);
    if (iVar1 == 0) {
      uVar2 = 0x697a;
    }
    else if (iVar1 == 1) {
      uVar2 = 0x697b;
    }
    else {
      if (iVar1 != 2) {
        if (iVar1 != 7) goto LAB_00628387;
        local_18 = AMOPacket::CItemWearPacket::vftable;
        local_14 = 0;
        local_8 = CONCAT31(local_8._1_3_,2);
        uVar2 = FUN_0041e29a(param_1,param_2,param_3,0xffffffff,0);
        FUN_0061f426(local_30,uVar2);
        goto LAB_00628330;
      }
      uVar2 = 0x697c;
    }
    uVar3 = 0;
    thunk_FUN_0045135c(uVar2,0);
    uVar2 = FUN_0044fc66(uVar2,uVar3);
    if (DAT_008e0370 == 0) {
      FUN_004517a3(0,&DAT_00838053,uVar2,2,1,0xffffffff,0);
    }
  }
  else {
    local_18 = AMOPacket::CItemPutoffPacket::vftable;
    local_14 = 0;
    local_8 = 1;
    uVar2 = FUN_0041e29a(param_1,param_2,param_4,param_3);
    FUN_0061f496(local_30,uVar2);
LAB_00628330:
    FUN_0064458f(local_30);
  }
LAB_00628387:
  local_8 = 0xffffffff;
  FUN_004235a0();
  return;
}



========== wear-xref @ 00628989 ==========
-- funcao: FUN_006283cf @ 006283cf

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */

void FUN_006283cf(undefined4 param_1,undefined4 param_2,int param_3)

{
  undefined1 uVar1;
  undefined1 uVar2;
  undefined4 *puVar3;
  char cVar4;
  int iVar5;
  int iVar6;
  char *pcVar7;
  int iVar8;
  undefined4 *puVar9;
  uint uVar10;
  uint uVar11;
  int *piVar12;
  undefined4 uVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined1 *puVar18;
  undefined *puVar19;
  undefined4 uVar20;
  undefined1 local_178 [24];
  undefined **local_160;
  undefined2 local_158;
  undefined2 local_156;
  undefined2 local_154;
  undefined2 local_152;
  int local_14c;
  int local_148;
  int local_144;
  undefined **local_140;
  int local_13c;
  undefined1 local_138 [24];
  undefined4 *local_120;
  int local_11c;
  void *local_118;
  undefined4 local_110;
  undefined4 local_10c;
  uint local_8;
  
  local_8 = DAT_008ca950 ^ (uint)&local_10c;
  puVar9 = &local_10c;
  local_10c = 0x60;
  local_110 = 0x6283f3;
  iVar5 = FUN_006121dc(param_1);
  if (iVar5 == 0) {
    ExceptionList = local_118;
    return;
  }
  local_14c = FUN_00441f56(param_2);
  if (local_14c == 0) {
    ExceptionList = local_118;
    return;
  }
  local_144 = (param_3 / *(int *)(local_14c + 4)) * 4;
  local_13c = (param_3 % *(int *)(local_14c + 4)) * 0x120;
  iVar5 = *(int *)(local_144 + *(int *)(local_14c + 0xc)) + local_13c;
  local_120 = *(undefined4 **)(iVar5 + 0xd8);
  if (local_120 == (undefined4 *)0x0) {
    ExceptionList = local_118;
    return;
  }
  local_148 = local_120[4];
  if (local_148 == 2) {
    iVar6 = FUN_0048a45a();
    if (iVar6 != 0) {
      uVar20 = 0;
      uVar17 = 0;
      uVar16 = 0xff920000;
      uVar15 = 0xfffffdde;
      uVar14 = 0;
      uVar13 = 0x7bd7;
      thunk_FUN_0045135c(0x7bd7,0,0xfffffdde,0xff920000,0,0);
      uVar13 = FUN_0044fc66(uVar13,uVar14);
      goto LAB_006284ac;
    }
    if (local_148 != 2) goto LAB_006284bf;
LAB_006284ce:
    iVar6 = FUN_00637bca(*local_120);
    if (iVar6 == 0) {
      ExceptionList = local_118;
      return;
    }
  }
  else {
LAB_006284bf:
    if (((local_148 == 8) || (local_148 == 9)) || (local_148 == 0xc)) goto LAB_006284ce;
  }
  iVar6 = local_11c;
  puVar3 = *(undefined4 **)(iVar5 + 0xd8);
  local_120 = (undefined4 *)puVar3[5];
  if (local_120 == (undefined4 *)0x45) {
    iVar5 = FUN_004521c1(0xea78);
    if ((iVar5 != 0) && (iVar5 = FUN_00455612(), iVar5 != 0)) {
      ExceptionList = local_118;
      return;
    }
    thunk_FUN_0067f0d8();
    cVar4 = FUN_0067e432();
    uVar13 = 1;
    if (cVar4 == '\0') {
      thunk_FUN_0067f0d8(1);
      FUN_0067e428(uVar13);
      FUN_004456cd();
      ExceptionList = local_118;
      return;
    }
    thunk_FUN_0067f0d8();
    FUN_0067e428(uVar13);
    FUN_00422b0a();
    local_160 = AMOPacket::CGMToolMachineInfoPacket::vftable;
    local_158 = 0;
    local_156 = 0;
    local_154 = 0;
    local_152 = 0;
    local_110 = 1;
    FUN_00444024(local_138,1,1,0,0);
LAB_00628575:
    FUN_0064458f(local_138);
LAB_0062858d:
    local_110 = 0xffffffff;
    FUN_004235a0();
    ExceptionList = local_118;
    return;
  }
  if (local_120 == (undefined4 *)0x4b) {
    iVar5 = FUN_004521c1(0xea76);
    if ((iVar5 != 0) && (iVar5 = FUN_00455612(), iVar5 != 0)) {
      ExceptionList = local_118;
      return;
    }
    FUN_0043b730();
    FUN_004407d5();
    ExceptionList = local_118;
    return;
  }
  if (local_120 == (undefined4 *)0x4c) {
    iVar5 = FUN_004521c1(0xea72);
    if ((iVar5 != 0) && (iVar5 = FUN_00455612(), iVar5 != 0)) {
      ExceptionList = local_118;
      return;
    }
    FUN_0043b730();
    FUN_00440744(0);
    ExceptionList = local_118;
    return;
  }
  iVar8 = puVar3[4];
  if (iVar8 < 9) {
    if (iVar8 != 8) {
      if (iVar8 == 1) goto LAB_00628d32;
      if (iVar8 == 2) goto LAB_00628d58;
      if (iVar8 == 6) goto LAB_006286ce;
      if (iVar8 != 7) goto LAB_0062889e;
      uVar13 = *puVar3;
      thunk_FUN_00637b85(uVar13);
      iVar5 = FUN_0062b690(uVar13);
      if (iVar5 == 0) {
        ExceptionList = local_118;
        return;
      }
      if (*(uint *)(iVar5 + 0x2c) <=
          (uint)*(ushort *)(*(int *)(*(int *)(*(int *)(DAT_008db7ec + 0x8480) + 0x6a8) + 8) + 0x80e)
         ) {
        ExceptionList = local_118;
        return;
      }
      goto LAB_00628dd8;
    }
    FUN_00512254(iVar5 + 8);
    local_10c = local_10c & 0xffffff00;
    _memset((void *)((int)&local_10c + 1),0,0x103);
    if ((*(undefined4 **)(iVar5 + 0xd8))[5] == 0x43) {
      ExceptionList = local_118;
      return;
    }
    iVar5 = FUN_00637d9e(**(undefined4 **)(iVar5 + 0xd8));
    if (iVar5 == 0) {
      uVar14 = 0;
      uVar13 = 0x50c9;
      thunk_FUN_0045135c(0x50c9,0,*(int *)(iVar6 + 0x700) + 0x9c);
      pcVar7 = (char *)FUN_0044fc66(uVar13,uVar14);
      _sprintf((char *)&local_10c,pcVar7);
      if (DAT_008e0370 != 0) {
        ExceptionList = local_118;
        return;
      }
      uVar14 = 3;
      uVar13 = 0xa04e;
      goto LAB_00628872;
    }
    if (iVar5 == 1) {
      uVar13 = 0x73b3;
    }
    else {
      if (iVar5 == 2) {
        uVar14 = 0;
        uVar13 = 0x50c9;
        thunk_FUN_0045135c(0x50c9,0,*(int *)(iVar6 + 0x700) + 0x9c);
        pcVar7 = (char *)FUN_0044fc66(uVar13,uVar14);
        _sprintf((char *)&local_10c,pcVar7);
        if (DAT_008e0370 == 0) {
          FUN_004517a3(0,&DAT_00838053,&local_10c,0xa04e,3,0xffffffff,0);
        }
        uVar13 = 0x50d6;
LAB_0062880a:
        uVar14 = 0;
        thunk_FUN_0045135c(uVar13,0);
        uVar13 = FUN_0044fc66(uVar13,uVar14);
        FUN_00451727(uVar13);
        ExceptionList = local_118;
        return;
      }
      if (iVar5 == 3) {
        uVar14 = 0;
        uVar13 = 0x50c9;
        thunk_FUN_0045135c(0x50c9,0,*(int *)(iVar6 + 0x700) + 0x9c);
        pcVar7 = (char *)FUN_0044fc66(uVar13,uVar14);
        _sprintf((char *)&local_10c,pcVar7);
        if (DAT_008e0370 == 0) {
          FUN_004517a3(0,&DAT_00838053,&local_10c,0xa04e,3,0xffffffff,0);
        }
        uVar13 = 0x73b4;
        goto LAB_0062880a;
      }
      if (iVar5 != 4) {
        ExceptionList = local_118;
        return;
      }
      uVar13 = 0x73b5;
    }
  }
  else {
    if (iVar8 == 9) {
LAB_00628d58:
      if (((((local_120 == (undefined4 *)0x8) || (local_120 == (undefined4 *)0x9)) ||
           (local_120 == (undefined4 *)0xa)) ||
          ((local_120 == (undefined4 *)0x42 || (local_120 == (undefined4 *)0x52)))) ||
         (local_120 == (undefined4 *)0x53)) {
        iVar6 = FUN_004521c1(0x36b7);
        if (iVar6 == 0) {
          ExceptionList = local_118;
          return;
        }
        iVar6 = FUN_004c05cc(1);
        if (iVar6 == 0) {
          ExceptionList = local_118;
          return;
        }
      }
      uVar13 = **(undefined4 **)(iVar5 + 0xd8);
      thunk_FUN_00637b85(uVar13);
      iVar6 = FUN_0062b690(uVar13);
      if ((iVar6 == 0) ||
         (*(uint *)(iVar6 + 0x2c) <=
          (uint)*(ushort *)(*(int *)(*(int *)(*(int *)(DAT_008db7ec + 0x8480) + 0x6a8) + 8) + 0x80e)
         )) {
        iVar6 = *(int *)(*(int *)(iVar5 + 0xd8) + 0x14);
        if (iVar6 < 0x24) {
          if (iVar6 != 0x23) {
            if (iVar6 == 7) {
              uVar14 = FUN_0041e29a();
              uVar13 = *(undefined4 *)(iVar5 + 10);
              FUN_00615684();
              iVar6 = FUN_0061321b(uVar13,0x36b7);
              iVar5 = iVar6;
LAB_00628be8:
              if (iVar5 == 0) {
                ExceptionList = local_118;
                return;
              }
              uVar1 = *(undefined1 *)(iVar6 + 9);
              uVar15 = 0;
              puVar18 = &DAT_00838053;
              uVar13 = *(undefined4 *)(iVar6 + 10);
              uVar2 = *(undefined1 *)(iVar6 + 8);
              goto LAB_006286ec;
            }
            if (iVar6 == 8) {
LAB_00628c71:
              iVar6 = FUN_004521c1(0x6da0);
              if ((iVar6 != 0) && (iVar6 = FUN_00455612(), iVar6 != 0)) {
                ExceptionList = local_118;
                return;
              }
LAB_00628c99:
              FUN_005e6d72(1);
              uVar13 = 0x36b7;
              FUN_00615684(0x36b7);
              FUN_006117e9(uVar13);
              uVar11 = (uint)*(byte *)(iVar5 + 8);
              FUN_00615684(uVar11);
              FUN_0061181d(uVar11);
              uVar11 = (uint)*(byte *)(iVar5 + 9);
              FUN_00615684(uVar11);
              FUN_00611810(uVar11);
              ExceptionList = local_118;
              return;
            }
            if (8 < iVar6) {
              if (iVar6 < 0xb) goto LAB_00629234;
              if (iVar6 == 0x10) {
                uVar14 = 0;
                uVar13 = 0x7a71;
                thunk_FUN_0045135c(0x7a71,0);
                uVar13 = FUN_0044fc66(uVar13,uVar14);
                puVar19 = (undefined *)0x0;
                uVar14 = 1;
                goto LAB_00628bb1;
              }
              if (iVar6 == 0x21) {
LAB_00628b6c:
                uVar14 = 0;
                uVar13 = 0x73ac;
                thunk_FUN_0045135c(0x73ac,0);
                uVar13 = FUN_0044fc66(uVar13,uVar14);
                if (DAT_008e0370 != 0) {
                  ExceptionList = local_118;
                  return;
                }
                uVar14 = 0xa055;
                goto LAB_00628b38;
              }
              if (iVar6 == 0x22) goto LAB_00628af5;
            }
LAB_006286ce:
            uVar15 = 0;
            puVar18 = &DAT_00838053;
            uVar14 = FUN_0041e29a(&DAT_00838053,0);
            uVar1 = *(undefined1 *)(iVar5 + 9);
            uVar13 = *(undefined4 *)(iVar5 + 10);
            uVar2 = *(undefined1 *)(iVar5 + 8);
LAB_006286ec:
            FUN_005f75a4(uVar2,uVar1,uVar13,0,uVar14,puVar18,uVar15);
            ExceptionList = local_118;
            return;
          }
LAB_00628c13:
          uVar14 = 0;
          uVar13 = 0x73b0;
          thunk_FUN_0045135c(0x73b0,0);
          uVar13 = FUN_0044fc66(uVar13,uVar14);
          if (DAT_008e0370 != 0) {
            ExceptionList = local_118;
            return;
          }
          uVar14 = 0xa057;
LAB_00628b38:
          uVar15 = 0;
          puVar18 = &DAT_00838053;
          goto LAB_00629358;
        }
        if (iVar6 == 0x24) goto LAB_0062931f;
        if (iVar6 == 0x36) {
LAB_00629234:
          FUN_005e6d72(1);
          uVar13 = 0x36b7;
          FUN_00615684(0x36b7);
          FUN_006117e9(uVar13);
          uVar11 = (uint)*(byte *)(iVar5 + 8);
          FUN_00615684(uVar11);
          FUN_0061181d(uVar11);
          uVar11 = (uint)*(byte *)(iVar5 + 9);
          FUN_00615684(uVar11);
          FUN_00611810(uVar11);
          cVar4 = *(char *)(iVar5 + 8);
          if (cVar4 == '\x02') {
            piVar12 = (int *)FUN_00612231(0x36b7,2);
            iVar6 = piVar12[1] * *piVar12;
            uVar11 = (uint)*(byte *)(iVar5 + 9);
            if (iVar6 - uVar11 != 0 && (int)uVar11 <= iVar6) {
              ExceptionList = local_118;
              return;
            }
            iVar6 = uVar11 - iVar6;
            FUN_00615684(iVar6);
            FUN_00611810(iVar6);
            uVar13 = 0x1a;
          }
          else if (cVar4 == '\x03') {
            piVar12 = (int *)FUN_00612231(0x36b7,3);
            iVar6 = piVar12[1] * *piVar12;
            uVar11 = (uint)*(byte *)(iVar5 + 9);
            if (iVar6 - uVar11 != 0 && (int)uVar11 <= iVar6) {
              ExceptionList = local_118;
              return;
            }
            iVar6 = uVar11 - iVar6;
            FUN_00615684(iVar6);
            FUN_00611810(iVar6);
            uVar13 = 0x1b;
          }
          else {
            if (cVar4 != '\x04') {
              ExceptionList = local_118;
              return;
            }
            piVar12 = (int *)FUN_00612231(0x36b7,4);
            iVar6 = piVar12[1] * *piVar12;
            uVar11 = (uint)*(byte *)(iVar5 + 9);
            if (iVar6 - uVar11 != 0 && (int)uVar11 <= iVar6) {
              ExceptionList = local_118;
              return;
            }
            iVar6 = uVar11 - iVar6;
            FUN_00615684(iVar6);
            FUN_00611810(iVar6);
            uVar13 = 0x1c;
          }
          FUN_00615684(uVar13);
          FUN_0061181d(uVar13);
          ExceptionList = local_118;
          return;
        }
        if (iVar6 == 0x37) goto LAB_00628ce6;
        if (iVar6 != 0x41) {
          if (iVar6 == 0x42) goto LAB_00629234;
          if (1 < iVar6 - 0x52U) goto LAB_006286ce;
          goto LAB_00628c71;
        }
        if (0 < *(int *)(*(int *)(iVar5 + 0xd8) + 0x90)) {
          uVar13 = *(undefined4 *)(iVar5 + 10);
          thunk_FUN_00637b85(uVar13);
          iVar6 = FUN_0062dd3a(uVar13);
          if (iVar6 == 0) {
            uVar13 = 0x94a9;
            goto LAB_00628f31;
          }
        }
        uVar13 = *(undefined4 *)(iVar5 + 10);
        thunk_FUN_00692d8e(uVar13);
        puVar9 = (undefined4 *)FUN_00691c4d(uVar13);
        local_120 = puVar9;
        local_11c = FUN_006994a8();
        if (local_11c == 0) {
          if (puVar9 == (undefined4 *)0x0) {
            ExceptionList = local_118;
            return;
          }
          if (((puVar9[3] & 1) == 0) || ((puVar9[3] & 2) != 0)) {
            uVar13 = 0x94ac;
          }
          else {
            iVar6 = FUN_005dc772();
            if (iVar6 != 0x14) {
              iVar6 = FUN_005e7967();
              if (iVar6 == 0) {
                ExceptionList = local_118;
                return;
              }
              FUN_00422b0a();
              local_110 = 5;
LAB_006291dc:
              uVar13 = *(undefined4 *)(iVar5 + 10);
              uVar15 = 0x175;
              uVar14 = 0;
              uVar11 = (uint)*(byte *)(iVar5 + 9);
              uVar10 = (uint)*(byte *)(iVar5 + 8);
              iVar5 = FUN_0041e29a(uVar10,uVar11,uVar13,0,0x175);
LAB_00629206:
              uVar13 = FUN_0041e29a(iVar5,uVar10,uVar11,uVar13,uVar14,uVar15);
              FUN_0058f8a5(local_138,uVar13);
              goto LAB_00628575;
            }
LAB_00628fb6:
            uVar13 = 0x94b3;
          }
        }
        else {
          cVar4 = FUN_005d3307(0);
          if (cVar4 == '\0') {
            cVar4 = FUN_005d3307(1);
            if ((cVar4 != '\0') || (cVar4 = FUN_005d3307(2), cVar4 != '\0')) {
              if (puVar9 == (undefined4 *)0x0) {
                ExceptionList = local_118;
                return;
              }
              if (((puVar9[3] & 1) != 0) && ((puVar9[3] & 2) == 0)) {
                iVar6 = FUN_005dc772();
                if (iVar6 != 0x14) {
                  iVar6 = FUN_005e7967();
                  if (iVar6 == 0) {
                    ExceptionList = local_118;
                    return;
                  }
                  FUN_00422b0a();
                  local_110 = 4;
                  goto LAB_006291dc;
                }
                goto LAB_00628fb6;
              }
            }
            uVar13 = 0x94ab;
          }
          else {
            iVar6 = FUN_004203ec(local_11c);
            if ((iVar6 != 0) && (iVar6 = FUN_005dc772(), iVar6 == 0x14)) goto LAB_00628fb6;
            if (puVar9 == (undefined4 *)0x0) {
              ExceptionList = local_118;
              return;
            }
            local_13c = *(int *)(DAT_008db7ec + 0x8480);
            iVar6 = FUN_0041e29a();
            if (((iVar6 == local_11c) && ((*(byte *)(local_120 + 3) & 1) != 0)) &&
               (iVar6 = FUN_005e7967(), iVar6 != 0)) {
              FUN_00422b0a();
              local_110 = 2;
              uVar13 = FUN_0041e29a(local_11c,*(undefined1 *)(iVar5 + 8),*(undefined1 *)(iVar5 + 9),
                                    *(undefined4 *)(iVar5 + 10),0,0x175);
              FUN_0058f8a5(local_138,uVar13);
              FUN_0064458f(local_138);
              local_110 = 0xffffffff;
              FUN_004235a0();
            }
            iVar6 = FUN_0041e29a();
            if (iVar6 == local_11c) {
              ExceptionList = local_118;
              return;
            }
            if ((local_120[3] & 2) != 0) {
              FUN_00422b0a();
              uVar13 = *(undefined4 *)(iVar5 + 10);
              uVar15 = 0x175;
              uVar14 = 0;
              uVar11 = (uint)*(byte *)(iVar5 + 9);
              uVar10 = (uint)*(byte *)(iVar5 + 8);
              local_110 = 3;
              iVar5 = local_11c;
              goto LAB_00629206;
            }
            if ((local_120[3] & 1) == 0) {
              ExceptionList = local_118;
              return;
            }
            uVar13 = 0x94aa;
          }
        }
LAB_00628f31:
        uVar20 = 0;
        uVar17 = 0;
        uVar16 = 0xff920000;
        uVar15 = 0xfffffdde;
        uVar14 = 0;
        thunk_FUN_0045135c(uVar13,0,0xfffffdde,0xff920000,0,0);
        uVar13 = FUN_0044fc66(uVar13,uVar14);
LAB_006284ac:
        FUN_0043ecb7(uVar13,uVar15,uVar16,uVar17,uVar20);
        ExceptionList = local_118;
        return;
      }
LAB_00628dd8:
      uVar20 = 0;
      uVar17 = 0;
      uVar16 = 0xff920000;
      uVar15 = 0xfffffdde;
      uVar14 = 0;
      uVar13 = 0x851f;
      thunk_FUN_0045135c(0x851f,0,0xfffffdde,0xff920000,0,0);
      uVar13 = FUN_0044fc66(uVar13,uVar14);
      FUN_0043ecb7(uVar13,uVar15,uVar16,uVar17,uVar20);
      uVar14 = 0;
      uVar13 = 0x851f;
      thunk_FUN_0045135c(0x851f,0);
      uVar13 = FUN_0044fc66(uVar13,uVar14);
      puVar19 = &DAT_0080590c;
      uVar14 = 0;
LAB_00628bb1:
      FUN_0043907d(uVar14,puVar19,uVar13);
      ExceptionList = local_118;
      return;
    }
    if (iVar8 == 0xb) {
LAB_00628d32:
      FUN_006281e2(*(undefined1 *)(iVar5 + 8),*(undefined1 *)(iVar5 + 9),*(undefined4 *)(iVar5 + 10)
                   ,*(undefined1 *)(iVar5 + 0xe),*(undefined4 *)(iVar5 + 0xe4),0);
      ExceptionList = local_118;
      return;
    }
    if (iVar8 != 0xc) {
LAB_0062889e:
      iVar5 = FUN_005dc772();
      if ((((iVar5 != 7) && (iVar5 = FUN_005dc772(), iVar5 != 8)) &&
          (iVar5 = FUN_005dc772(), iVar5 != 9)) &&
         ((iVar5 = FUN_005da7ad(), iVar5 == 0 && (iVar5 = FUN_00640bee(), iVar5 == 0)))) {
        if (*(int *)(*(int *)(local_144 + *(int *)(local_14c + 0xc)) + 0xe4 + local_13c) != 0) {
          FUN_006216a8(param_1,param_2,param_3);
          FUN_00612259();
          ExceptionList = local_118;
          return;
        }
        iVar5 = *(int *)(local_144 + *(int *)(local_14c + 0xc)) + local_13c;
        iVar6 = FUN_00613be4(*(undefined4 *)(iVar5 + 0xd8),0,0);
        if (iVar6 == 0) {
          uVar13 = 0x697a;
        }
        else if (iVar6 == 1) {
          uVar13 = 0x697b;
        }
        else {
          if (iVar6 != 2) {
            if (iVar6 != 7) {
              ExceptionList = local_118;
              return;
            }
            FUN_00422b0a();
            local_140 = AMOPacket::CItemWearPacket::vftable;
            local_13c = 0;
            local_110 = 7;
            uVar13 = FUN_0041e29a(param_2,param_3,*(undefined4 *)(iVar5 + 10),0xffffffff,0);
            FUN_0061f426(local_178,uVar13);
            FUN_0064458f(local_178);
            goto LAB_0062858d;
          }
          uVar13 = 0x697c;
        }
        goto LAB_00628b48;
      }
      uVar13 = 0x7342;
      goto LAB_00628f31;
    }
    local_11c = FUN_0048a45a();
    if ((((local_120 == (undefined4 *)0x8) || (local_120 == (undefined4 *)0x9)) ||
        ((local_120 == (undefined4 *)0xa ||
         ((local_120 == (undefined4 *)0x42 || (local_120 == (undefined4 *)0x52)))))) ||
       (local_120 == (undefined4 *)0x53)) {
      iVar6 = FUN_004521c1(0x36b7);
      if (iVar6 == 0) {
        ExceptionList = local_118;
        return;
      }
      iVar6 = FUN_004c05cc(1);
      if (iVar6 == 0) {
        ExceptionList = local_118;
        return;
      }
    }
    iVar6 = *(int *)(*(int *)(iVar5 + 0xd8) + 0x14);
    if (0x23 < iVar6) {
      if (iVar6 != 0x24) {
        if (iVar6 == 0x36) goto LAB_00628c99;
        if (iVar6 != 0x37) {
          if (iVar6 == 0x42) goto LAB_00628c99;
          if (1 < iVar6 - 0x52U) goto LAB_00628cd8;
          goto LAB_00628c71;
        }
LAB_00628ce6:
        uVar14 = 0;
        uVar13 = 0x8131;
        thunk_FUN_0045135c(0x8131,0);
        uVar13 = FUN_0044fc66(uVar13,uVar14);
        uVar15 = 0;
        uVar14 = 0x797c;
        thunk_FUN_0045135c(0x797c,0);
        puVar18 = (undefined1 *)FUN_0044fc66(uVar14,uVar15);
        if (DAT_008e0370 != 0) {
          ExceptionList = local_118;
          return;
        }
        uVar15 = 0xffffffff;
        uVar14 = 0xa08c;
        goto LAB_00629358;
      }
LAB_0062931f:
      uVar14 = 0;
      uVar13 = 0x73b8;
      thunk_FUN_0045135c(0x73b8,0);
      uVar13 = FUN_0044fc66(uVar13,uVar14);
      uVar15 = 0;
      uVar14 = 0x797c;
      thunk_FUN_0045135c(0x797c,0);
      puVar18 = (undefined1 *)FUN_0044fc66(uVar14,uVar15);
      if (DAT_008e0370 != 0) {
        ExceptionList = local_118;
        return;
      }
      uVar15 = 0;
      uVar14 = 0xa058;
LAB_00629358:
      FUN_004517a3(0,puVar18,uVar13,uVar14,4,uVar15,0);
      if (DAT_008e0370 != 0) {
        ExceptionList = local_118;
        return;
      }
      FUN_0045176b(*(undefined1 *)(iVar5 + 8),*(undefined1 *)(iVar5 + 9),*(undefined4 *)(iVar5 + 10)
                  );
      ExceptionList = local_118;
      return;
    }
    if (iVar6 == 0x23) goto LAB_00628c13;
    if (iVar6 == 7) {
      uVar14 = FUN_0041e29a();
      uVar13 = *(undefined4 *)(iVar5 + 10);
      FUN_00615684();
      iVar6 = FUN_0061321b(uVar13,0x36b7);
      iVar5 = local_11c;
      if (iVar6 == 0) {
        ExceptionList = local_118;
        return;
      }
      goto LAB_00628be8;
    }
    if (iVar6 == 8) goto LAB_00628c71;
    if (iVar6 < 9) {
LAB_00628cd8:
      if (local_11c == 0) {
        ExceptionList = local_118;
        return;
      }
      goto LAB_006286ce;
    }
    if (iVar6 < 0xb) goto LAB_00628c99;
    if (iVar6 == 0x10) {
      uVar14 = 0;
      uVar13 = 0x7a71;
      thunk_FUN_0045135c(0x7a71,0);
      uVar13 = FUN_0044fc66(uVar13,uVar14);
      puVar19 = (undefined *)0x0;
      uVar14 = 1;
      goto LAB_00628bb1;
    }
    if (iVar6 == 0x21) goto LAB_00628b6c;
    if (iVar6 != 0x22) goto LAB_00628cd8;
LAB_00628af5:
    iVar6 = thunk_FUN_00671e3d();
    iVar8 = FUN_0041e29a();
    uVar13 = 0;
    if (*(int *)(iVar6 + 8) == iVar8) {
      uVar14 = 0x73ae;
      thunk_FUN_0045135c(0x73ae,0);
      uVar13 = FUN_0044fc66(uVar14,uVar13);
      if (DAT_008e0370 != 0) {
        ExceptionList = local_118;
        return;
      }
      uVar14 = 0xa056;
      goto LAB_00628b38;
    }
    uVar13 = 0x73b2;
  }
LAB_00628b48:
  uVar14 = 0;
  thunk_FUN_0045135c(uVar13,0);
  puVar9 = (undefined4 *)FUN_0044fc66(uVar13,uVar14);
  if (DAT_008e0370 != 0) {
    ExceptionList = local_118;
    return;
  }
  uVar14 = 1;
  uVar13 = 2;
LAB_00628872:
  FUN_004517a3(0,&DAT_00838053,puVar9,uVar13,uVar14,0xffffffff,0);
  ExceptionList = local_118;
  return;
}



========== wear-xref @ 006200e6 ==========
-- funcao: FUN_0061ff11 @ 0061ff11

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __EH_epilog3 replaced with injection: EH_epilog3 */

void __thiscall FUN_0061ff11(int param_1,undefined4 param_2)

{
  int iVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  undefined4 uVar5;
  undefined *puVar6;
  int iVar7;
  int iVar8;
  uint uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  undefined4 uVar14;
  undefined1 local_34 [24];
  undefined **local_1c;
  uint local_18;
  int local_14;
  undefined4 local_8;
  undefined4 uStack_4;
  
  uStack_4 = 0x24;
  local_8 = 0x61ff1d;
  local_14 = param_1;
  iVar1 = FUN_005dc772();
  if ((((iVar1 == 7) || (iVar1 = FUN_005dc772(), iVar1 == 8)) ||
      (iVar1 = FUN_005dc772(), iVar1 == 9)) ||
     ((iVar1 = FUN_005da7ad(), iVar1 != 0 || (iVar1 = FUN_00640bee(), iVar1 != 0)))) {
    uVar14 = 0;
    uVar13 = 0;
    uVar12 = 0xff920000;
    uVar11 = 0xfffffdde;
    uVar10 = 0;
    uVar5 = 0x7342;
    thunk_FUN_0045135c(0x7342,0,0xfffffdde,0xff920000,0,0);
    uVar5 = FUN_0044fc66(uVar5,uVar10);
    FUN_0043ecb7(uVar5,uVar11,uVar12,uVar13,uVar14);
    return;
  }
  iVar1 = FUN_00440544();
  if (iVar1 != 0) goto LAB_00620182;
  iVar1 = FUN_006121dc(param_2);
  if (iVar1 == 0) {
    return;
  }
  local_18 = (uint)*(ushort *)(param_1 + 0xc);
  iVar1 = *(int *)(param_1 + 0x10);
  iVar2 = FUN_00441f56(local_18);
  if (iVar2 == 0) {
    return;
  }
  if (iVar1 < 0) {
    return;
  }
  iVar8 = (iVar1 / *(int *)(iVar2 + 4)) * 4;
  iVar3 = (iVar1 % *(int *)(iVar2 + 4)) * 0x120;
  iVar7 = *(int *)(*(int *)(iVar2 + 0xc) + iVar8) + iVar3;
  if ((*(int *)(iVar7 + 0xd8) == 0) || (*(int *)(iVar7 + 0xe4) != 0)) {
    if (DAT_008e0370 != 0) goto LAB_00620182;
    puVar6 = &DAT_00811d88;
  }
  else {
    iVar3 = iVar3 + *(int *)(*(int *)(iVar2 + 0xc) + iVar8);
    iVar2 = FUN_00613be4(*(undefined4 *)(iVar3 + 0xd8),0,0);
    if (iVar2 == 0) {
      uVar5 = 0x697a;
    }
    else if (iVar2 == 1) {
      uVar5 = 0x697b;
    }
    else {
      if (iVar2 != 2) {
        if (iVar2 != 7) goto LAB_00620182;
        uVar9 = local_18 & 0xffff;
        if (uVar9 == 0x1a) {
          FUN_00615684();
          uVar9 = 2;
          piVar4 = (int *)FUN_00612231(0x36b7,2);
LAB_006200d1:
          iVar1 = iVar1 + piVar4[1] * *piVar4;
        }
        else {
          if (uVar9 == 0x1b) {
            FUN_00615684();
            piVar4 = (int *)FUN_00612231(0x36b7,2);
            uVar9 = 3;
            goto LAB_006200d1;
          }
          if (uVar9 == 0x1c) {
            FUN_00615684();
            piVar4 = (int *)FUN_00612231(0x36b7,2);
            uVar9 = 4;
            goto LAB_006200d1;
          }
        }
        FUN_00422b0a();
        local_1c = AMOPacket::CItemWearPacket::vftable;
        local_18 = 0;
        local_8 = 1;
        uVar5 = FUN_0041e29a(uVar9,iVar1,*(undefined4 *)(iVar3 + 10),0xffffffff,0);
        FUN_0061f426(local_34,uVar5);
        FUN_0064458f(local_34);
        local_8 = 0xffffffff;
        FUN_004235a0();
        goto LAB_00620182;
      }
      uVar5 = 0x697c;
    }
    uVar10 = 0;
    thunk_FUN_0045135c(uVar5,0);
    puVar6 = (undefined *)FUN_0044fc66(uVar5,uVar10);
    if (DAT_008e0370 != 0) goto LAB_00620182;
  }
  FUN_004517a3(0,&DAT_00838053,puVar6,2,1,0xffffffff,0);
LAB_00620182:
  FUN_00612259();
  return;
}



========== wear-xref @ 00620399 ==========
-- funcao: FUN_006201d9 @ 006201d9

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __EH_epilog3 replaced with injection: EH_epilog3 */

void __thiscall FUN_006201d9(int param_1,undefined4 param_2)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  undefined *puVar4;
  undefined1 *puVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  undefined1 local_38 [24];
  undefined **local_20;
  int local_1c;
  int local_18;
  uint local_14;
  undefined4 local_8;
  undefined4 uStack_4;
  
  uStack_4 = 0x28;
  local_8 = 0x6201e5;
  local_18 = param_1;
  iVar1 = FUN_005dc772();
  if ((((iVar1 == 7) || (iVar1 = FUN_005dc772(), iVar1 == 8)) ||
      (iVar1 = FUN_005dc772(), iVar1 == 9)) ||
     ((iVar1 = FUN_005da7ad(), iVar1 != 0 || (iVar1 = FUN_00640bee(), iVar1 != 0)))) {
    uVar13 = 0;
    uVar10 = 0;
    uVar9 = 0xff920000;
    uVar12 = 0xfffffdde;
    uVar11 = 0;
    uVar3 = 0x7342;
    thunk_FUN_0045135c(0x7342,0,0xfffffdde,0xff920000,0,0);
    uVar3 = FUN_0044fc66(uVar3,uVar11);
    FUN_0043ecb7(uVar3,uVar12,uVar9,uVar10,uVar13);
    return;
  }
  iVar1 = FUN_006121dc(param_2);
  if (iVar1 == 0) {
    return;
  }
  local_14 = (uint)*(ushort *)(param_1 + 0xc);
  iVar1 = *(int *)(param_1 + 0x10);
  local_1c = FUN_00441f56(local_14);
  if ((local_1c == 0) || (iVar1 < 0)) {
    uVar11 = 0;
    uVar3 = 0x7a42;
    thunk_FUN_0045135c(0x7a42,0);
    uVar3 = FUN_0044fc66(uVar3,uVar11);
    uVar12 = 0;
    uVar11 = 0x797c;
    thunk_FUN_0045135c(0x797c,0);
    uVar11 = FUN_0044fc66(uVar11,uVar12);
    if (DAT_008e0370 != 0) {
      return;
    }
    FUN_004517a3(0,uVar11,uVar3,2,1,0xffffffff,0);
    return;
  }
  iVar6 = *(int *)(param_1 + 0xc);
  if (iVar6 == 0x1a) {
    piVar2 = (int *)FUN_00612231(param_2,2);
    local_14 = 2;
LAB_00620302:
    iVar8 = piVar2[1] * *piVar2 + iVar1;
  }
  else {
    if (iVar6 == 0x1b) {
      piVar2 = (int *)FUN_00612231(param_2,3);
      local_14 = 3;
      goto LAB_00620302;
    }
    iVar8 = iVar1;
    if (iVar6 == 0x1c) {
      piVar2 = (int *)FUN_00612231(param_2,4);
      local_14 = 4;
      goto LAB_00620302;
    }
  }
  iVar6 = (iVar1 / *(int *)(local_1c + 4)) * 4;
  iVar1 = (iVar1 % *(int *)(local_1c + 4)) * 0x120;
  iVar7 = *(int *)(iVar6 + *(int *)(local_1c + 0xc)) + iVar1;
  if ((*(int *)(iVar7 + 0xd8) == 0) || (*(int *)(iVar7 + 0xe4) != 0)) {
    if (DAT_008e0370 != 0) goto LAB_00620483;
    puVar4 = &DAT_00811d88;
LAB_00620475:
    puVar5 = &DAT_00838053;
  }
  else {
    iVar1 = *(int *)(iVar6 + *(int *)(local_1c + 0xc)) + iVar1;
    iVar6 = FUN_00613be4(*(undefined4 *)(iVar1 + 0xd8),1,0);
    if (iVar6 == 0) {
      uVar3 = 0x697a;
LAB_00620443:
      uVar11 = 0;
      thunk_FUN_0045135c(uVar3,0);
      puVar4 = (undefined *)FUN_0044fc66(uVar3,uVar11);
      if (DAT_008e0370 != 0) goto LAB_00620483;
      goto LAB_00620475;
    }
    if (iVar6 == 1) {
      uVar3 = 0x697b;
      goto LAB_00620443;
    }
    if (iVar6 == 2) {
      uVar3 = 0x697c;
      goto LAB_00620443;
    }
    if (iVar6 != 3) {
      if (iVar6 == 7) {
        FUN_00422b0a();
        local_20 = AMOPacket::CItemWearPacket::vftable;
        local_1c = 0;
        local_8 = 1;
        uVar3 = FUN_0041e29a(local_14,iVar8,*(undefined4 *)(iVar1 + 10),0xffffffff,0);
        FUN_0061f426(local_38,uVar3);
        FUN_0064458f(local_38);
        local_8 = 0xffffffff;
        FUN_004235a0();
      }
      goto LAB_00620483;
    }
    uVar11 = 0;
    uVar3 = 0x7a42;
    thunk_FUN_0045135c(0x7a42,0);
    puVar4 = (undefined *)FUN_0044fc66(uVar3,uVar11);
    uVar11 = 0;
    uVar3 = 0x797c;
    thunk_FUN_0045135c(0x797c,0);
    puVar5 = (undefined1 *)FUN_0044fc66(uVar3,uVar11);
    if (DAT_008e0370 != 0) goto LAB_00620483;
  }
  FUN_004517a3(0,puVar5,puVar4,2,1,0xffffffff,0);
LAB_00620483:
  FUN_00612259();
  return;
}



========== wear-xref @ 0062303e ==========
-- funcao: FUN_006226ca @ 006226ca

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */

void FUN_006226ca(undefined4 param_1,uint param_2,int param_3)

{
  undefined4 *puVar1;
  char cVar2;
  int iVar3;
  int *piVar4;
  int iVar5;
  char *pcVar6;
  undefined4 *puVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  int iVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  undefined1 *puVar17;
  undefined *puVar18;
  undefined4 uVar19;
  undefined1 local_180 [24];
  undefined **local_168;
  undefined2 local_160;
  undefined2 local_15e;
  undefined2 local_15c;
  undefined2 local_15a;
  int local_154;
  int local_150;
  int local_14c;
  undefined **local_148;
  int local_144;
  undefined1 local_140 [24];
  int local_128;
  int local_124;
  uint local_120;
  undefined4 *local_11c;
  void *local_118;
  undefined4 local_110;
  undefined4 local_10c;
  uint local_8;
  
  local_8 = DAT_008ca950 ^ (uint)&local_10c;
  puVar7 = &local_10c;
  local_10c = 0x68;
  local_110 = 0x6226ee;
  iVar3 = FUN_006121dc(param_1);
  if (iVar3 == 0) {
    ExceptionList = local_118;
    return;
  }
  iVar3 = FUN_00440544();
  if (iVar3 != 0) goto LAB_00623136;
  local_120 = param_2 & 0xffff;
  uVar8 = 2;
  if (local_120 == 0x1a) {
LAB_0062274d:
    piVar4 = (int *)FUN_00441f56(uVar8);
    local_128 = piVar4[1] * *piVar4 + param_3;
    local_120 = uVar8;
  }
  else {
    if (local_120 == 0x1b) {
      uVar8 = 3;
      goto LAB_0062274d;
    }
    if (local_120 == 0x1c) {
      uVar8 = 4;
      goto LAB_0062274d;
    }
    local_128 = param_3;
  }
  local_14c = FUN_00441f56(param_2);
  iVar3 = DAT_008db7ec;
  if (local_14c == 0) {
    ExceptionList = local_118;
    return;
  }
  local_150 = (param_3 / *(int *)(local_14c + 4)) * 4;
  local_144 = (param_3 % *(int *)(local_14c + 4)) * 0x120;
  iVar11 = *(int *)(local_150 + *(int *)(local_14c + 0xc)) + local_144;
  local_11c = *(undefined4 **)(iVar11 + 0xd8);
  if (local_11c == (undefined4 *)0x0) {
    ExceptionList = local_118;
    return;
  }
  local_154 = local_11c[4];
  if (local_154 == 2) {
    iVar5 = FUN_0048a45a();
    if (iVar5 != 0) {
      uVar19 = 0;
      uVar16 = 0;
      uVar15 = 0xff920000;
      uVar14 = 0xfffffdde;
      uVar13 = 0;
      uVar12 = 0x7bd7;
      thunk_FUN_0045135c(0x7bd7,0,0xfffffdde,0xff920000,0,0);
      uVar12 = FUN_0044fc66(uVar12,uVar13);
      goto LAB_0062364f;
    }
    if (local_154 != 2) goto LAB_00622813;
LAB_00622822:
    iVar5 = FUN_00637bca(*local_11c);
    iVar3 = DAT_008db7ec;
    if (iVar5 == 0) {
      ExceptionList = local_118;
      return;
    }
  }
  else {
LAB_00622813:
    if (((local_154 == 8) || (local_154 == 9)) || (local_154 == 0xc)) goto LAB_00622822;
  }
  puVar1 = *(undefined4 **)(iVar11 + 0xd8);
  local_11c = (undefined4 *)puVar1[5];
  if (local_11c == (undefined4 *)0x45) {
    iVar3 = FUN_004521c1(0xea78);
    if ((iVar3 != 0) && (iVar3 = FUN_00455612(), iVar3 != 0)) {
      ExceptionList = local_118;
      return;
    }
    thunk_FUN_0067f0d8();
    cVar2 = FUN_0067e432();
    uVar12 = 1;
    if (cVar2 == '\0') {
      thunk_FUN_0067f0d8(1);
      FUN_0067e428(uVar12);
      FUN_004456cd();
      ExceptionList = local_118;
      return;
    }
    thunk_FUN_0067f0d8();
    FUN_0067e428(uVar12);
    FUN_00422b0a();
    local_168 = AMOPacket::CGMToolMachineInfoPacket::vftable;
    local_160 = 0;
    local_15e = 0;
    local_15c = 0;
    local_15a = 0;
    local_110 = 1;
    FUN_00444024(local_140,1,1,0,0);
LAB_00623602:
    FUN_0064458f(local_140);
    goto LAB_0062361a;
  }
  if (local_11c == (undefined4 *)0x4b) {
    iVar3 = FUN_004521c1(0xea76);
    if ((iVar3 != 0) && (iVar3 = FUN_00455612(), iVar3 != 0)) {
      ExceptionList = local_118;
      return;
    }
    FUN_0043b730();
    FUN_004407d5();
    ExceptionList = local_118;
    return;
  }
  if (local_11c == (undefined4 *)0x4c) {
    iVar3 = FUN_004521c1(0xea72);
    if ((iVar3 != 0) && (iVar3 = FUN_00455612(), iVar3 != 0)) {
      ExceptionList = local_118;
      return;
    }
    FUN_0043b730();
    FUN_00440744(0);
    ExceptionList = local_118;
    return;
  }
  iVar5 = puVar1[4];
  if (iVar5 < 9) {
    if (iVar5 == 8) {
      FUN_00512254((undefined1 *)(iVar11 + 8));
      local_10c = local_10c & 0xffffff00;
      _memset((void *)((int)&local_10c + 1),0,0x103);
      iVar3 = *(int *)(*(int *)(iVar11 + 0xd8) + 0x14);
      if (iVar3 == 0x4f) {
        FUN_0043b4ca(*(undefined1 *)(iVar11 + 8),*(undefined1 *)(iVar11 + 9));
        ExceptionList = local_118;
        return;
      }
      if (iVar3 == 0x40) {
        uVar13 = 0;
        uVar12 = 0x50c9;
        thunk_FUN_0045135c(0x50c9,0,*(int *)(local_124 + 0x700) + 0x9c);
        pcVar6 = (char *)FUN_0044fc66(uVar12,uVar13);
        _sprintf((char *)&local_10c,pcVar6);
        if (DAT_008e0370 == 0) {
          FUN_004517a3(0,&DAT_00838053,&local_10c,0xa084,3,0xffffffff,0);
        }
      }
      if ((*(undefined4 **)(iVar11 + 0xd8))[5] == 0x43) {
        ExceptionList = local_118;
        return;
      }
      iVar3 = FUN_00637d9e(**(undefined4 **)(iVar11 + 0xd8));
      if (iVar3 == 0) {
        uVar13 = 0;
        uVar12 = 0x50c9;
        thunk_FUN_0045135c(0x50c9,0,*(int *)(local_124 + 0x700) + 0x9c);
        pcVar6 = (char *)FUN_0044fc66(uVar12,uVar13);
        _sprintf((char *)&local_10c,pcVar6);
        if (DAT_008e0370 != 0) {
          ExceptionList = local_118;
          return;
        }
        uVar13 = 3;
        uVar12 = 0xa04e;
      }
      else {
        if (iVar3 == 1) {
          uVar12 = 0x73b3;
        }
        else {
          if (iVar3 == 2) {
            uVar13 = 0;
            uVar12 = 0x50c9;
            thunk_FUN_0045135c(0x50c9,0,*(int *)(local_124 + 0x700) + 0x9c);
            pcVar6 = (char *)FUN_0044fc66(uVar12,uVar13);
            _sprintf((char *)&local_10c,pcVar6);
            if (DAT_008e0370 == 0) {
              FUN_004517a3(0,&DAT_00838053,&local_10c,0xa04e,3,0xffffffff,0);
            }
            uVar12 = 0x50d6;
LAB_00622be1:
            uVar13 = 0;
            thunk_FUN_0045135c(uVar12,0);
            uVar12 = FUN_0044fc66(uVar12,uVar13);
            FUN_00451727(uVar12);
            ExceptionList = local_118;
            return;
          }
          if (iVar3 == 3) {
            uVar13 = 0;
            uVar12 = 0x50c9;
            thunk_FUN_0045135c(0x50c9,0,*(int *)(local_124 + 0x700) + 0x9c);
            pcVar6 = (char *)FUN_0044fc66(uVar12,uVar13);
            _sprintf((char *)&local_10c,pcVar6);
            if (DAT_008e0370 == 0) {
              FUN_004517a3(0,&DAT_00838053,&local_10c,0xa04e,3,0xffffffff,0);
            }
            uVar12 = 0x73b4;
            goto LAB_00622be1;
          }
          if (iVar3 != 4) {
            ExceptionList = local_118;
            return;
          }
          uVar12 = 0x73b5;
        }
        uVar13 = 0;
        thunk_FUN_0045135c(uVar12,0);
        puVar7 = (undefined4 *)FUN_0044fc66(uVar12,uVar13);
        if (DAT_008e0370 != 0) {
          ExceptionList = local_118;
          return;
        }
        uVar13 = 1;
        uVar12 = 2;
      }
      puVar17 = &DAT_00838053;
      goto LAB_00622c69;
    }
    if (iVar5 == 0) {
      FUN_005d87c3();
      ExceptionList = local_118;
      return;
    }
    if (iVar5 != 1) {
      if (iVar5 == 2) goto LAB_0062315a;
      if (iVar5 == 6) goto LAB_00622a14;
      if (iVar5 != 7) {
        ExceptionList = local_118;
        return;
      }
      uVar12 = *puVar1;
      thunk_FUN_00637b85(uVar12);
      iVar3 = FUN_0062b690(uVar12);
      if ((iVar3 == 0) ||
         (*(uint *)(iVar3 + 0x2c) <=
          (uint)*(ushort *)(*(int *)(*(int *)(*(int *)(DAT_008db7ec + 0x8480) + 0x6a8) + 8) + 0x80e)
         )) {
        if (*(int *)(*(int *)(iVar11 + 0xd8) + 0x14) == 0x35) {
          ExceptionList = local_118;
          return;
        }
        goto LAB_00622a14;
      }
      goto LAB_0062318d;
    }
LAB_00622ede:
    cVar2 = FUN_005d334d();
    if (((((cVar2 == '\0') && (cVar2 = FUN_005d3328(), cVar2 == '\0')) &&
         (iVar3 = FUN_005dc772(), iVar3 != 7)) &&
        ((iVar3 = FUN_005dc772(), iVar3 != 8 && (iVar3 = FUN_005dc772(), iVar3 != 9)))) &&
       ((iVar3 = FUN_005f8e3b(), iVar3 == 0 &&
        ((iVar3 = FUN_005da7ad(), iVar3 == 0 && (iVar3 = FUN_00640bee(), iVar3 == 0)))))) {
      uVar12 = *(undefined4 *)(iVar11 + 10);
      thunk_FUN_00637b85(uVar12);
      FUN_0062b690(uVar12);
      if (*(int *)(*(int *)(local_150 + *(int *)(local_14c + 0xc)) + 0xe4 + local_144) != 0) {
        FUN_006216a8(param_1,local_120,local_128);
LAB_00623136:
        FUN_00612259();
        ExceptionList = local_118;
        return;
      }
      iVar3 = *(int *)(local_150 + *(int *)(local_14c + 0xc)) + local_144;
      iVar11 = FUN_00613be4(*(undefined4 *)(iVar3 + 0xd8),0,0);
      if (iVar11 == 0) {
        uVar12 = 0x697a;
LAB_006230e8:
        uVar13 = 0;
        thunk_FUN_0045135c(uVar12,0);
        puVar7 = (undefined4 *)FUN_0044fc66(uVar12,uVar13);
        uVar13 = 0;
        uVar12 = 0x697d;
        thunk_FUN_0045135c(0x697d,0);
        puVar17 = (undefined1 *)FUN_0044fc66(uVar12,uVar13);
      }
      else {
        if (iVar11 == 1) {
          uVar12 = 0x697b;
        }
        else if (iVar11 == 2) {
          uVar12 = 0x697c;
        }
        else {
          if (iVar11 != 4) {
            if (iVar11 < 5) {
              ExceptionList = local_118;
              return;
            }
            if (6 < iVar11) {
              if (iVar11 != 7) {
                ExceptionList = local_118;
                return;
              }
              FUN_00422b0a();
              local_148 = AMOPacket::CItemWearPacket::vftable;
              local_144 = 0;
              local_110 = 7;
              uVar12 = FUN_0041e29a(local_120,local_128,*(undefined4 *)(iVar3 + 10),0xffffffff,0);
              FUN_0061f426(local_180,uVar12);
              FUN_0064458f(local_180);
LAB_0062361a:
              local_110 = 0xffffffff;
              FUN_004235a0();
              ExceptionList = local_118;
              return;
            }
            uVar12 = 0x84d8;
            goto LAB_006230e8;
          }
          uVar12 = 0x7ab9;
        }
        uVar13 = 0;
        thunk_FUN_0045135c(uVar12,0);
        puVar7 = (undefined4 *)FUN_0044fc66(uVar12,uVar13);
        uVar13 = 0;
        uVar12 = 0x697d;
        thunk_FUN_0045135c(0x697d,0);
        puVar17 = (undefined1 *)FUN_0044fc66(uVar12,uVar13);
      }
      if (DAT_008e0370 != 0) {
        ExceptionList = local_118;
        return;
      }
      uVar13 = 1;
      uVar12 = 2;
      DAT_008e0370 = 0;
LAB_00622c69:
      FUN_004517a3(0,puVar17,puVar7,uVar12,uVar13,0xffffffff,0);
      ExceptionList = local_118;
      return;
    }
    uVar12 = 0x6979;
  }
  else {
    if (iVar5 != 9) {
      if (iVar5 != 0xb) {
        if (iVar5 != 0xc) {
          if (iVar5 != 0xd) {
            ExceptionList = local_118;
            return;
          }
          goto LAB_00622a14;
        }
        iVar5 = FUN_0048a45a();
        if ((int)local_11c < 0x23) {
          if (local_11c != (undefined4 *)0x22) {
            if (local_11c != (undefined4 *)0x8) {
              if (8 < (int)local_11c) {
                if ((int)local_11c < 0xb) {
LAB_00622dfa:
                  uVar12 = 1;
                  goto LAB_006232ea;
                }
                if (local_11c == (undefined4 *)&DAT_00000010) {
                  uVar13 = 0;
                  uVar12 = 0x7a71;
                  thunk_FUN_0045135c(0x7a71,0);
                  uVar12 = FUN_0044fc66(uVar12,uVar13);
                  puVar18 = (undefined *)0x0;
                  uVar13 = 1;
                  goto LAB_00622d74;
                }
                if (local_11c == (undefined4 *)0x11) {
                  ExceptionList = local_118;
                  return;
                }
                if (local_11c == (undefined4 *)0x21) goto LAB_00622cec;
              }
LAB_00622ded:
              if (iVar5 == 0) {
                ExceptionList = local_118;
                return;
              }
LAB_00622a14:
              uVar13 = 0;
              puVar17 = &DAT_00838053;
              uVar12 = FUN_0041e29a(&DAT_00838053,0);
              FUN_005f75a4(*(undefined1 *)(iVar11 + 8),*(undefined1 *)(iVar11 + 9),
                           *(undefined4 *)(iVar11 + 10),0,uVar12,puVar17,uVar13);
              ExceptionList = local_118;
              return;
            }
            goto LAB_006232c0;
          }
LAB_00622d7e:
          uVar13 = 0;
          uVar12 = 0x73ae;
          thunk_FUN_0045135c(0x73ae,0);
          uVar12 = FUN_0044fc66(uVar12,uVar13);
          uVar14 = 0;
          uVar13 = 0x797c;
          thunk_FUN_0045135c(0x797c,0);
          puVar17 = (undefined1 *)FUN_0044fc66(uVar13,uVar14);
          if (DAT_008e0370 != 0) {
            ExceptionList = local_118;
            return;
          }
          uVar14 = 0;
          uVar13 = 0xa056;
          goto LAB_00622d29;
        }
        if (local_11c == (undefined4 *)0x23) {
LAB_00622e9e:
          uVar13 = 0;
          uVar12 = 0x73b0;
          thunk_FUN_0045135c(0x73b0,0);
          uVar12 = FUN_0044fc66(uVar12,uVar13);
          uVar14 = 0;
          uVar13 = 0x797c;
          thunk_FUN_0045135c(0x797c,0);
          puVar17 = (undefined1 *)FUN_0044fc66(uVar13,uVar14);
          if (DAT_008e0370 != 0) {
            ExceptionList = local_118;
            return;
          }
          uVar14 = 0;
          uVar13 = 0xa057;
          goto LAB_00622d29;
        }
        if (local_11c != (undefined4 *)0x24) {
          if (local_11c != (undefined4 *)0x37) {
            if (local_11c == (undefined4 *)0x42) goto LAB_00622dfa;
            if ((undefined1 *)0x1 < (undefined1 *)((int)local_11c + -0x52)) goto LAB_00622ded;
            goto LAB_006232c0;
          }
          iVar3 = *(int *)(iVar3 + 0x8480);
          goto LAB_00622e0d;
        }
        iVar3 = *(int *)(iVar3 + 0x8480);
LAB_00622e60:
        if (*(char *)(iVar3 + 0x75f) != '\0') {
          ExceptionList = local_118;
          return;
        }
        uVar13 = 0;
        uVar12 = 0x73b8;
        thunk_FUN_0045135c(0x73b8,0);
        uVar12 = FUN_0044fc66(uVar12,uVar13);
        if (DAT_008e0370 != 0) {
          ExceptionList = local_118;
          return;
        }
        uVar14 = 0;
        uVar13 = 0xa058;
        puVar17 = &DAT_00838053;
LAB_00622d29:
        FUN_004517a3(0,puVar17,uVar12,uVar13,4,uVar14,0);
        if (DAT_008e0370 != 0) {
          ExceptionList = local_118;
          return;
        }
        FUN_0045176b(*(undefined1 *)(iVar11 + 8),*(undefined1 *)(iVar11 + 9),
                     *(undefined4 *)(iVar11 + 10));
        ExceptionList = local_118;
        return;
      }
      goto LAB_00622ede;
    }
LAB_0062315a:
    uVar12 = *puVar1;
    thunk_FUN_00637b85(uVar12);
    iVar3 = FUN_0062b690(uVar12);
    if ((iVar3 != 0) &&
       ((uint)*(ushort *)(*(int *)(*(int *)(*(int *)(DAT_008db7ec + 0x8480) + 0x6a8) + 8) + 0x80e) <
        *(uint *)(iVar3 + 0x2c))) {
LAB_0062318d:
      uVar19 = 0;
      uVar16 = 0;
      uVar15 = 0xff920000;
      uVar14 = 0xfffffdde;
      uVar13 = 0;
      uVar12 = 0x851f;
      thunk_FUN_0045135c(0x851f,0,0xfffffdde,0xff920000,0,0);
      uVar12 = FUN_0044fc66(uVar12,uVar13);
      FUN_0043ecb7(uVar12,uVar14,uVar15,uVar16,uVar19);
      uVar13 = 0;
      uVar12 = 0x851f;
      thunk_FUN_0045135c(0x851f,0);
      uVar12 = FUN_0044fc66(uVar12,uVar13);
      puVar18 = &DAT_0080590c;
      uVar13 = 0;
LAB_00622d74:
      FUN_0043907d(uVar13,puVar18,uVar12);
      ExceptionList = local_118;
      return;
    }
    iVar3 = *(int *)(*(int *)(iVar11 + 0xd8) + 0x14);
    if (iVar3 < 0x25) {
      if (iVar3 == 0x24) {
        iVar3 = *(int *)(DAT_008db7ec + 0x8480);
        goto LAB_00622e60;
      }
      if (0x11 < iVar3) {
        if (iVar3 == 0x21) {
LAB_00622cec:
          uVar13 = 0;
          uVar12 = 0x73ac;
          thunk_FUN_0045135c(0x73ac,0);
          uVar12 = FUN_0044fc66(uVar12,uVar13);
          uVar14 = 0;
          uVar13 = 0x797c;
          thunk_FUN_0045135c(0x797c,0);
          puVar17 = (undefined1 *)FUN_0044fc66(uVar13,uVar14);
          if (DAT_008e0370 != 0) {
            ExceptionList = local_118;
            return;
          }
          uVar14 = 0;
          uVar13 = 0xa055;
          goto LAB_00622d29;
        }
        if (iVar3 != 0x22) {
          if (iVar3 != 0x23) goto LAB_00622a14;
          goto LAB_00622e9e;
        }
        goto LAB_00622d7e;
      }
      if (iVar3 == 0x11) {
        ExceptionList = local_118;
        return;
      }
      if (iVar3 == 8) goto LAB_006232c0;
      if (iVar3 < 9) goto LAB_00622a14;
      if (10 < iVar3) {
        if (iVar3 != 0x10) goto LAB_00622a14;
        uVar13 = 0;
        uVar12 = 0x7a71;
        thunk_FUN_0045135c(0x7a71,0);
        uVar12 = FUN_0044fc66(uVar12,uVar13);
        puVar18 = (undefined *)0x0;
        uVar13 = 1;
        goto LAB_00622d74;
      }
LAB_006232f4:
      iVar3 = FUN_004521c1(0x5dcd);
      if ((iVar3 != 0) && (iVar3 = FUN_00455612(), iVar3 != 0)) {
        uVar12 = 0;
        goto LAB_006232ea;
      }
LAB_006232dd:
      uVar12 = 1;
LAB_006232ea:
      FUN_005e6d72(uVar12);
      ExceptionList = local_118;
      return;
    }
    if (iVar3 < 0x3c) {
      if (iVar3 == 0x3b) {
        FUN_0044162c(*(undefined4 *)(iVar11 + 10),*(undefined1 *)(iVar11 + 8),
                     *(undefined1 *)(iVar11 + 9));
        ExceptionList = local_118;
        return;
      }
      if (iVar3 == 0x30) {
        ExceptionList = local_118;
        return;
      }
      if (iVar3 != 0x36) {
        if (iVar3 != 0x37) goto LAB_00622a14;
        iVar3 = *(int *)(DAT_008db7ec + 0x8480);
LAB_00622e0d:
        if (*(char *)(iVar3 + 0x75f) != '\0') {
          ExceptionList = local_118;
          return;
        }
        uVar13 = 0;
        uVar12 = 0x8131;
        thunk_FUN_0045135c(0x8131,0);
        uVar12 = FUN_0044fc66(uVar12,uVar13);
        uVar14 = 0;
        uVar13 = 0x797c;
        thunk_FUN_0045135c(0x797c,0);
        puVar17 = (undefined1 *)FUN_0044fc66(uVar13,uVar14);
        if (DAT_008e0370 != 0) {
          ExceptionList = local_118;
          return;
        }
        uVar14 = 0xffffffff;
        uVar13 = 0xa08c;
        goto LAB_00622d29;
      }
      goto LAB_006232f4;
    }
    if (iVar3 != 0x41) {
      if (iVar3 == 0x42) goto LAB_006232f4;
      if (1 < iVar3 - 0x52U) goto LAB_00622a14;
LAB_006232c0:
      iVar3 = FUN_004521c1(0x6da0);
      if ((iVar3 != 0) && (iVar3 = FUN_00455612(), iVar3 != 0)) {
        ExceptionList = local_118;
        return;
      }
      goto LAB_006232dd;
    }
    if (*(int *)(*(int *)(iVar11 + 0xd8) + 0x90) < 1) {
LAB_00623348:
      uVar12 = *(undefined4 *)(iVar11 + 10);
      thunk_FUN_00692d8e(uVar12);
      puVar7 = (undefined4 *)FUN_00691c4d(uVar12);
      local_11c = puVar7;
      local_120 = FUN_006994a8();
      if (local_120 == 0) {
        if (((puVar7[3] & 1) != 0) && ((puVar7[3] & 2) == 0)) {
          iVar3 = FUN_005dc772();
          if (iVar3 != 0x14) {
            iVar3 = FUN_005e7967();
            if (iVar3 == 0) {
              ExceptionList = local_118;
              return;
            }
            FUN_00422b0a();
            local_110 = 5;
LAB_006235c6:
            uVar12 = *(undefined4 *)(iVar11 + 10);
            uVar14 = 0x175;
            uVar13 = 0;
            uVar9 = (uint)*(byte *)(iVar11 + 9);
            uVar10 = (uint)*(byte *)(iVar11 + 8);
            uVar8 = FUN_0041e29a(uVar10,uVar9,uVar12,0,0x175);
LAB_006235f0:
            uVar12 = FUN_0041e29a(uVar8,uVar10,uVar9,uVar12,uVar13,uVar14);
            FUN_0058f8a5(local_140,uVar12);
            goto LAB_00623602;
          }
          goto LAB_006233b0;
        }
        uVar12 = 0x94ac;
      }
      else {
        cVar2 = FUN_005d3307(0);
        if (cVar2 == '\0') {
          cVar2 = FUN_005d3307(1);
          if (((cVar2 == '\0') && (cVar2 = FUN_005d3307(2), cVar2 == '\0')) ||
             (((puVar7[3] & 1) == 0 || ((puVar7[3] & 2) != 0)))) {
            uVar12 = 0x94ab;
          }
          else {
            iVar3 = FUN_005dc772();
            if (iVar3 != 0x14) {
              iVar3 = FUN_005e7967();
              if (iVar3 == 0) {
                ExceptionList = local_118;
                return;
              }
              FUN_00422b0a();
              local_110 = 4;
              goto LAB_006235c6;
            }
LAB_006233b0:
            uVar12 = 0x94b3;
          }
        }
        else {
          iVar3 = FUN_004203ec(local_120);
          if ((iVar3 != 0) && (iVar3 = FUN_005dc772(), iVar3 == 0x14)) goto LAB_006233b0;
          if (puVar7 == (undefined4 *)0x0) {
            ExceptionList = local_118;
            return;
          }
          local_144 = *(int *)(DAT_008db7ec + 0x8480);
          uVar8 = FUN_0041e29a();
          if (((uVar8 == local_120) && ((*(byte *)(local_11c + 3) & 1) != 0)) &&
             (iVar3 = FUN_005e7967(), iVar3 != 0)) {
            FUN_00422b0a();
            local_110 = 2;
            uVar12 = FUN_0041e29a(local_120,*(undefined1 *)(iVar11 + 8),*(undefined1 *)(iVar11 + 9),
                                  *(undefined4 *)(iVar11 + 10),0,0x175);
            FUN_0058f8a5(local_140,uVar12);
            FUN_0064458f(local_140);
            local_110 = 0xffffffff;
            FUN_004235a0();
          }
          uVar8 = FUN_0041e29a();
          if (uVar8 == local_120) {
            ExceptionList = local_118;
            return;
          }
          if ((local_11c[3] & 2) != 0) {
            FUN_00422b0a();
            uVar12 = *(undefined4 *)(iVar11 + 10);
            uVar14 = 0x175;
            uVar13 = 0;
            uVar9 = (uint)*(byte *)(iVar11 + 9);
            uVar10 = (uint)*(byte *)(iVar11 + 8);
            local_110 = 3;
            uVar8 = local_120;
            goto LAB_006235f0;
          }
          if ((local_11c[3] & 1) == 0) {
            ExceptionList = local_118;
            return;
          }
          uVar12 = 0x94aa;
        }
      }
    }
    else {
      uVar12 = *(undefined4 *)(iVar11 + 10);
      thunk_FUN_00637b85(uVar12);
      iVar3 = FUN_0062dd3a(uVar12);
      if (iVar3 != 0) goto LAB_00623348;
      uVar12 = 0x94a9;
    }
  }
  uVar19 = 0;
  uVar16 = 0;
  uVar15 = 0xff920000;
  uVar14 = 0xfffffdde;
  uVar13 = 0;
  thunk_FUN_0045135c(uVar12,0,0xfffffdde,0xff920000,0,0);
  uVar12 = FUN_0044fc66(uVar12,uVar13);
LAB_0062364f:
  FUN_0043ecb7(uVar12,uVar14,uVar15,uVar16,uVar19);
  ExceptionList = local_118;
  return;
}



========== wear-xref @ 00652797 ==========
(sem funcao)

========== putoff-xref @ 00628292 ==========
-- funcao: FUN_006281e2 @ 006281e2

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __EH_epilog3 replaced with injection: EH_epilog3 */

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

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  undefined1 local_30 [24];
  undefined **local_18;
  undefined4 local_14;
  undefined4 local_8;
  undefined4 uStack_4;
  
  uStack_4 = 0x20;
  local_8 = 0x6281ee;
  iVar1 = FUN_005dc772();
  if ((((iVar1 == 7) || (iVar1 = FUN_005dc772(), iVar1 == 8)) ||
      (iVar1 = FUN_005dc772(), iVar1 == 9)) ||
     ((iVar1 = FUN_005da7ad(), iVar1 != 0 || (iVar1 = FUN_00640bee(), iVar1 != 0)))) {
    uVar7 = 0;
    uVar6 = 0;
    uVar5 = 0xff920000;
    uVar4 = 0xfffffdde;
    uVar3 = 0;
    uVar2 = 0x7342;
    thunk_FUN_0045135c(0x7342,0,0xfffffdde,0xff920000,0,0);
    uVar2 = FUN_0044fc66(uVar2,uVar3);
    FUN_0043ecb7(uVar2,uVar4,uVar5,uVar6,uVar7);
    return;
  }
  FUN_00422b0a();
  local_8 = 0;
  if (param_5 == 0) {
    uVar2 = param_3;
    thunk_FUN_00637b85(param_3);
    uVar2 = FUN_0062b690(uVar2);
    iVar1 = FUN_00613be4(uVar2,0,param_6);
    if (iVar1 == 0) {
      uVar2 = 0x697a;
    }
    else if (iVar1 == 1) {
      uVar2 = 0x697b;
    }
    else {
      if (iVar1 != 2) {
        if (iVar1 != 7) goto LAB_00628387;
        local_18 = AMOPacket::CItemWearPacket::vftable;
        local_14 = 0;
        local_8 = CONCAT31(local_8._1_3_,2);
        uVar2 = FUN_0041e29a(param_1,param_2,param_3,0xffffffff,0);
        FUN_0061f426(local_30,uVar2);
        goto LAB_00628330;
      }
      uVar2 = 0x697c;
    }
    uVar3 = 0;
    thunk_FUN_0045135c(uVar2,0);
    uVar2 = FUN_0044fc66(uVar2,uVar3);
    if (DAT_008e0370 == 0) {
      FUN_004517a3(0,&DAT_00838053,uVar2,2,1,0xffffffff,0);
    }
  }
  else {
    local_18 = AMOPacket::CItemPutoffPacket::vftable;
    local_14 = 0;
    local_8 = 1;
    uVar2 = FUN_0041e29a(param_1,param_2,param_4,param_3);
    FUN_0061f496(local_30,uVar2);
LAB_00628330:
    FUN_0064458f(local_30);
  }
LAB_00628387:
  local_8 = 0xffffffff;
  FUN_004235a0();
  return;
}



========== putoff-xref @ 006215d2 ==========
-- funcao: FUN_00621358 @ 00621358

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __EH_epilog3 replaced with injection: EH_epilog3 */

void FUN_00621358(int param_1,undefined4 param_2,int param_3)

{
  char cVar1;
  short sVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int *piVar6;
  int *piVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  undefined1 local_30 [24];
  undefined **local_18;
  undefined4 local_14;
  undefined4 local_8;
  undefined4 uStack_4;
  
  uStack_4 = 0x20;
  local_8 = 0x621364;
  cVar1 = FUN_005d334d();
  if ((((cVar1 != '\0') || (iVar3 = FUN_005dc772(), iVar3 == 7)) ||
      (iVar3 = FUN_005dc772(), iVar3 == 8)) ||
     (((iVar3 = FUN_005dc772(), iVar3 == 9 || (iVar3 = FUN_005f8e3b(), iVar3 != 0)) ||
      ((iVar3 = FUN_005da7ad(), iVar3 != 0 || (iVar3 = FUN_00640bee(), iVar3 != 0)))))) {
    uVar13 = 0;
    uVar9 = 0;
    uVar8 = 0xff920000;
    uVar12 = 0xfffffdde;
    uVar11 = 0;
    uVar10 = 0x6979;
    thunk_FUN_0045135c(0x6979,0,0xfffffdde,0xff920000,0,0);
    uVar10 = FUN_0044fc66(uVar10,uVar11);
    FUN_0043ecb7(uVar10,uVar12,uVar8,uVar9,uVar13);
    return;
  }
  iVar3 = FUN_00440544();
  if (iVar3 != 0) {
    FUN_00612259();
    return;
  }
  iVar3 = FUN_006121dc(param_1);
  if (iVar3 == 0) {
    return;
  }
  iVar3 = FUN_00441f56(param_2);
  if (iVar3 == 0) {
    return;
  }
  iVar3 = (param_3 % *(int *)(iVar3 + 4)) * 0x120 +
          *(int *)(*(int *)(iVar3 + 0xc) + (param_3 / *(int *)(iVar3 + 4)) * 4);
  if (*(int *)(iVar3 + 0xe4) == 0) {
    return;
  }
  iVar4 = FUN_006121dc(0x36b7);
  if (iVar4 == 0) goto LAB_006215c2;
  sVar2 = *(char *)(iVar3 + 0xe) + -0xb;
  piVar5 = (int *)FUN_00441f56(sVar2);
  piVar6 = (int *)0x0;
  if (sVar2 == 2) {
    uVar10 = 0x1a;
LAB_006214de:
    piVar6 = (int *)FUN_00441f56(uVar10);
  }
  else {
    if (sVar2 == 3) {
      uVar10 = 0x1b;
      goto LAB_006214de;
    }
    if (sVar2 == 4) {
      uVar10 = 0x1c;
      goto LAB_006214de;
    }
  }
  if (piVar5 != (int *)0x0) {
    param_3 = 0;
    if (0 < *piVar5) {
      do {
        param_1 = 0;
        if (0 < piVar5[1]) {
          piVar7 = (int *)(*(int *)(piVar5[3] + param_3 * 4) + 0xd8);
          do {
            if (*piVar7 != 0) {
              uVar11 = 0;
              uVar10 = 0x7a64;
              thunk_FUN_0045135c(0x7a64,0);
              uVar10 = FUN_0044fc66(uVar10,uVar11);
              uVar12 = 0;
              uVar11 = 0x797c;
              thunk_FUN_0045135c(0x797c,0);
              uVar11 = FUN_0044fc66(uVar11,uVar12);
              goto joined_r0x00621588;
            }
            param_1 = param_1 + 1;
            piVar7 = piVar7 + 0x48;
          } while (param_1 < piVar5[1]);
        }
        param_3 = param_3 + 1;
      } while (param_3 < *piVar5);
    }
  }
  if (piVar6 != (int *)0x0) {
    iVar4 = 0;
    if (0 < *piVar6) {
      do {
        param_3 = 0;
        if (0 < piVar6[1]) {
          piVar5 = (int *)(*(int *)(piVar6[3] + iVar4 * 4) + 0xd8);
          do {
            if (*piVar5 != 0) {
              uVar11 = 0;
              uVar10 = 0x7a64;
              thunk_FUN_0045135c(0x7a64,0);
              uVar10 = FUN_0044fc66(uVar10,uVar11);
              uVar12 = 0;
              uVar11 = 0x797c;
              thunk_FUN_0045135c(0x797c,0);
              uVar11 = FUN_0044fc66(uVar11,uVar12);
joined_r0x00621588:
              if (DAT_008e0370 != 0) {
                return;
              }
              FUN_004517a3(0,uVar11,uVar10,2,1,0xffffffff,0);
              return;
            }
            param_3 = param_3 + 1;
            piVar5 = piVar5 + 0x48;
          } while (param_3 < piVar6[1]);
        }
        iVar4 = iVar4 + 1;
      } while (iVar4 < *piVar6);
    }
  }
LAB_006215c2:
  FUN_00422b0a();
  local_14 = 0;
  local_18 = AMOPacket::CItemPutoffPacket::vftable;
  local_8 = 1;
  uVar10 = FUN_0041e29a(*(undefined1 *)(iVar3 + 8),*(undefined1 *)(iVar3 + 9),
                        *(undefined1 *)(iVar3 + 0xe),*(undefined4 *)(iVar3 + 10));
  FUN_0061f496(local_30,uVar10);
  FUN_0064458f(local_30);
  local_8 = 0xffffffff;
  FUN_004235a0();
  return;
}



========== putoff-xref @ 0062170e ==========
-- funcao: FUN_006216a8 @ 006216a8

/* WARNING: Function: __EH_prolog3 replaced with injection: EH_prolog3 */
/* WARNING: Function: __EH_epilog3 replaced with injection: EH_epilog3 */

void FUN_006216a8(undefined4 param_1,undefined4 param_2,int param_3)

{
  char cVar1;
  int iVar2;
  undefined4 uVar3;
  undefined1 local_30 [24];
  undefined **local_18;
  undefined4 local_14;
  undefined4 local_8;
  undefined4 uStack_4;
  
  uStack_4 = 0x20;
  local_8 = 0x6216b4;
  iVar2 = FUN_006121dc(param_1);
  if (iVar2 != 0) {
    iVar2 = FUN_00441f56(param_2);
    if (iVar2 != 0) {
      iVar2 = *(int *)(*(int *)(iVar2 + 0xc) + (param_3 / *(int *)(iVar2 + 4)) * 4) +
              (param_3 % *(int *)(iVar2 + 4)) * 0x120;
      cVar1 = *(char *)(iVar2 + 0xe);
      uVar3 = *(undefined4 *)(iVar2 + 10);
      FUN_00422b0a();
      local_14 = 0;
      local_18 = AMOPacket::CItemPutoffPacket::vftable;
      local_8 = 1;
      uVar3 = FUN_0041e29a(param_2,param_3,(int)cVar1,uVar3);
      FUN_0061f496(local_30,uVar3);
      FUN_0064458f(local_30);
      local_8 = 0xffffffff;
      FUN_004235a0();
    }
  }
  return;
}



========== putoff-xref @ 00652959 ==========
(sem funcao)

