void __fastcall PlayerPing(double a1, double a2, __int64 a3, __int64 a4)
{
  __int64 v4; // rax
  _BYTE *v5; // r12
  __int64 (__fastcall *v6)(); // rax
  _QWORD *PlayerPawn; // r12
  char *v8; // rax
  char v9; // r15
  const void **v10; // rax
  float *v11; // r13
  _QWORD *v12; // rax
  __int64 v13; // rbx
  void **v14; // rax
  _QWORD *v15; // rax
  __int64 v16; // rdx
  int v17; // eax
  unsigned __int16 v18; // dx
  int v19; // ebx
  __m128i v20; // xmm3
  void *v21; // rbx
  float v22; // xmm1_4
  double v23; // xmm0_8
  __int64 v24; // rdx
  __int64 v25; // rcx
  double v26; // xmm0_8
  double v27; // xmm0_8
  struct __class_type_info **v28; // rax
  __int64 v29; // rax
  unsigned __int16 v30; // cx
  unsigned int *v31; // rdi
  void **v32; // rax
  __int64 v33; // r8
  __int64 v34; // rsi
  __int64 v35; // rbx
  __int64 (__fastcall *v36)(); // rax
  float *v37; // rax
  void (__fastcall *v38)(__int64); // rdx
  float v39; // xmm0_4
  __int64 v40; // rax
  __int64 Event1; // rax
  __int64 Event2; // r14
  unsigned int v43; // eax
  __int64 v44; // rdx
  int v45; // eax
  unsigned __int16 v46; // dx
  char *v47; // rbx
  const __m128i *v48; // rax
  char v49; // al
  __int64 v50; // r13
  __int64 i; // rbx
  void **v52; // rax
  __int16 *v53; // rbx
  __int16 v54; // ax
  int v55; // eax
  _QWORD *v56; // r12
  __int64 v57; // rax
  __int64 (__fastcall **v58)(); // rax
  __int64 (__fastcall **v59)(); // rdi
  __int64 v60; // rbx
  __int64 v61; // r12
  void (__fastcall *v62)(__int64, _QWORD, _QWORD, __int64 (__fastcall ***)(), __int64, __int64 (__fastcall ***)(), __int64); // r15
  __int64 v63; // rsi
  unsigned int v64; // eax
  int v65; // eax
  __int64 v66; // rbx
  const void **v67; // rax
  struct __class_type_info *v68; // rdi
  float v69; // xmm0_4
  float v70; // xmm0_4
  unsigned int v71; // eax
  unsigned int v72; // eax
  int v73; // edx
  __int64 v74; // [rsp-10h] [rbp-13F0h]
  __int64 v75; // [rsp+8h] [rbp-13D8h]
  float v76; // [rsp+18h] [rbp-13C8h]
  float lpstypea; // [rsp+20h] [rbp-13C0h]
  struct __class_type_info *lpstype; // [rsp+20h] [rbp-13C0h]
  float v79; // [rsp+28h] [rbp-13B8h]
  struct __class_type_info *v80; // [rsp+28h] [rbp-13B8h]
  float *v81; // [rsp+28h] [rbp-13B8h]
  float v82; // [rsp+28h] [rbp-13B8h]
  void *v83; // [rsp+28h] [rbp-13B8h]
  float v84; // [rsp+3Ch] [rbp-13A4h] BYREF
  float v85; // [rsp+40h] [rbp-13A0h]
  float v86; // [rsp+44h] [rbp-139Ch]
  __int64 EventVector; // [rsp+48h] [rbp-1398h] BYREF
  float v88; // [rsp+50h] [rbp-1390h]
  __int64 v89; // [rsp+54h] [rbp-138Ch] BYREF
  float v90; // [rsp+5Ch] [rbp-1384h]
  double v91; // [rsp+60h] [rbp-1380h] BYREF
  __int64 v92; // [rsp+68h] [rbp-1378h]
  char v93; // [rsp+88h] [rbp-1358h]
  __int64 (__fastcall **v94)(); // [rsp+90h] [rbp-1350h] BYREF
  __int64 v95; // [rsp+98h] [rbp-1348h]
  __int64 v96; // [rsp+A0h] [rbp-1340h]
  __int64 v97; // [rsp+A8h] [rbp-1338h]
  __int64 v98; // [rsp+B0h] [rbp-1330h]
  __int64 v99; // [rsp+B8h] [rbp-1328h]
  __int64 v100; // [rsp+C0h] [rbp-1320h]
  char v101; // [rsp+C8h] [rbp-1318h]
  __int64 (__fastcall **v102)(); // [rsp+D0h] [rbp-1310h] BYREF
  void *lpsrc; // [rsp+D8h] [rbp-1308h]
  int v104; // [rsp+E0h] [rbp-1300h]
  char v105[8]; // [rsp+100h] [rbp-12E0h] BYREF
  int v106; // [rsp+108h] [rbp-12D8h]
  int v107; // [rsp+10Ch] [rbp-12D4h]
  __int64 v108; // [rsp+120h] [rbp-12C0h]
  __int64 v109; // [rsp+128h] [rbp-12B8h]
  __int64 v110; // [rsp+130h] [rbp-12B0h]
  __int64 v111; // [rsp+138h] [rbp-12A8h]
  __int64 v112; // [rsp+140h] [rbp-12A0h]
  __int64 v113; // [rsp+154h] [rbp-128Ch] BYREF
  float v114; // [rsp+15Ch] [rbp-1284h]
  float v115; // [rsp+17Ch] [rbp-1264h]
  __int64 (__fastcall **v116)(); // [rsp+190h] [rbp-1250h] BYREF
  _BYTE v117[24]; // [rsp+198h] [rbp-1248h] BYREF
  __int64 v118; // [rsp+1B0h] [rbp-1230h] BYREF
  int v119[2]; // [rsp+1B8h] [rbp-1228h] BYREF
  __m128i v120; // [rsp+1C0h] [rbp-1220h]
  __m128i v121; // [rsp+1D0h] [rbp-1210h]
  __m128i v122; // [rsp+1E0h] [rbp-1200h]
  char v123; // [rsp+1F0h] [rbp-11F0h]
  char v124; // [rsp+1F1h] [rbp-11EFh]
  __int64 v125; // [rsp+1F8h] [rbp-11E8h]
  __int64 v126; // [rsp+208h] [rbp-11D8h]
  __int64 v127; // [rsp+210h] [rbp-11D0h]
  char v128; // [rsp+218h] [rbp-11C8h]

  v4 = sub_DA5730(a3, a1, a2);
  if ( v4 )
  {
    v5 = (_BYTE *)v4;
    if ( (*(unsigned __int8 (__fastcall **)(__int64))(*(_QWORD *)v4 + 1216LL))(v4) )
    {
      v6 = *(__int64 (__fastcall **)())(*(_QWORD *)v5 + 1208LL);
      if ( v6 == sub_6970A0 )
      {
        if ( v5[1448] )
          return;
      }
      else if ( !((unsigned __int8 (__fastcall *)(_BYTE *))v6)(v5) )
      {
        return;
      }
      PlayerPawn = (_QWORD *)sub_6F01C0(v5);
      if ( PlayerPawn )
      {
        v8 = (char *)sub_10FA1F0(qword_18B96F0, 0xFFFFFFFFLL);
        if ( !v8 )
          v8 = *(char **)(qword_18B96F0[1] + 8LL);
        v9 = *v8;
        if ( !*v8 )
        {
          v10 = (const void **)sub_6EC5A0(PlayerPawn[483] + 84LL);
          if ( v10 && *v10 )
          {
            v11 = (float *)__dynamic_cast(
                             *v10,
                             (const struct __class_type_info *)&`typeinfo for'CBaseEntity,
                             (const struct __class_type_info *)&`typeinfo for'CPlayerPing,
                             0LL);
          }
          else
          {
            v118 = 0LL;
            v124 = 0;
            v125 = 0LL;
            v116 = off_15767A8;
            v128 = 0;
            v126 = 0LL;
            v127 = -1LL;
            v47 = (char *)qword_1942E00 + 3304;
            v119[1] = sub_127C750(qword_1942E00);
            v48 = (const __m128i *)sub_127C760(qword_1942E00);
            v120 = _mm_load_si128(v48);
            v121 = _mm_load_si128(v48 + 1);
            *(_QWORD *)&v117[8] = v47;
            v122 = _mm_load_si128(v48 + 2);
            *(_QWORD *)v117 = 0LL;
            *(_QWORD *)&v117[16] = qword_18ED508;
            v49 = 0;
            if ( qword_1920540 )
              v49 = (*(__int64 (__fastcall **)(_QWORD *))(*qword_1920540 + 200LL))(qword_1920540);
            v123 = v49;
            v119[0] = 0;
            v50 = operator new(0x38uLL);
            sub_1274180(v50, *(_QWORD *)&v117[8], 3LL);
            *(_QWORD *)v117 = v50;
            ++*(_WORD *)(v50 + 32);
            if ( *(_BYTE *)(v50 + 36) && (unsigned __int8)LoggingSystem_IsChannelEnabled(LOG_GENERAL, 2LL) )
              LoggingSystem_Log(
                LOG_GENERAL,
                2LL,
                "kv 0x%p AddRef refcount == %d\n",
                (const void *)v50,
                (unsigned int)*(__int16 *)(v50 + 32));
            for ( i = v125; i; i = *(_QWORD *)(i + 56) )
              sub_1277C10(*(_QWORD *)v117, i, 0LL, 0LL);
            LODWORD(v102) = sub_C66500(&v116);
            v52 = (void **)sub_6EC5A0(&v102);
            v11 = (float *)v52;
            if ( v52 )
              v11 = (float *)*v52;
            v53 = *(__int16 **)v117;
            v116 = off_1576788;
            if ( *(_QWORD *)v117 )
            {
              if ( *(_BYTE *)(*(_QWORD *)v117 + 36LL)
                && (unsigned __int8)LoggingSystem_IsChannelEnabled(LOG_GENERAL, 2LL) )
              {
                LoggingSystem_Log(
                  LOG_GENERAL,
                  2LL,
                  "kv 0x%p Release refcount == %d\n",
                  v53,
                  (unsigned int)(v53[16] - 1));
              }
              v54 = v53[16] - 1;
              v53[16] = v54;
              if ( v54 <= 0 )
              {
                sub_12744F0(v53);
                operator delete(v53, 0x38uLL);
              }
            }
            if ( v118 )
              CUtlString::FreeMemoryBlock((CUtlString *)&v118);
          }
          if ( v11 )
          {
            if ( v11[491] != 0.0 )
            {
              LODWORD(a2) = 1056964608;
              v9 = (float)(sub_B2ADD0(*(unsigned int *)(PlayerPawn[2] + 56LL)) - v11[491]) < 0.5;
            }
            v12 = (_QWORD *)sub_6EC5A0(PlayerPawn + 464);
            if ( (!v12 || !*v12 || (unsigned __int8)sub_C68170(*v12, a4))
              && (unsigned __int8)sub_C5C930(PlayerPawn[483])
              || v9 && !*((_BYTE *)v11 + 1980) )
            {
              v13 = PlayerPawn[483];
              v14 = (void **)sub_6EC5A0(v13 + 84);
              if ( !v14 || v11 != *v14 )
              {
                sub_1290180(v13 + 8, 84LL, 0xFFFFFFFFLL, 0xFFFFFFFFLL);
                v44 = *((_QWORD *)v11 + 2);
                if ( v44 )
                {
                  v45 = (*(_DWORD *)(v44 + 16) >> 15) - (*(_DWORD *)(v44 + 48) & 1);
                  if ( *(_DWORD *)(v44 + 16) == -1 )
                    v46 = 0x7FFF;
                  else
                    v46 = *(_WORD *)(v44 + 16) & 0x7FFF;
                  *(_DWORD *)(v13 + 84) = v46 | (v45 << 15);
                }
                else
                {
                  *(_DWORD *)(v13 + 84) = -1;
                }
              }
              v15 = (_QWORD *)sub_6EC5A0(v11 + 492);
              if ( !v15 || PlayerPawn != (_QWORD *)*v15 )
              {
                (*(void (__fastcall **)(float *, __int64, __int64, __int64))(*(_QWORD *)v11 + 200LL))(
                  v11,
                  1968LL,
                  0xFFFFFFFFLL,
                  0xFFFFFFFFLL);
                v16 = PlayerPawn[2];
                if ( v16 )
                {
                  v17 = (*(_DWORD *)(v16 + 16) >> 15) - (*(_DWORD *)(v16 + 48) & 1);
                  if ( *(_DWORD *)(v16 + 16) == -1 )
                    v18 = 0x7FFF;
                  else
                    v18 = *(_WORD *)(v16 + 16) & 0x7FFF;
                  *((_DWORD *)v11 + 492) = v18 | (v17 << 15);
                }
                else
                {
                  v11[492] = NAN;
                }
              }
              v19 = v9 != 0 ? 0x12 : 0;
              if ( v19 != *((_DWORD *)v11 + 494) )
              {
                (*(void (__fastcall **)(float *, __int64, __int64, __int64))(*(_QWORD *)v11 + 200LL))(
                  v11,
                  1976LL,
                  0xFFFFFFFFLL,
                  0xFFFFFFFFLL);
                *((_DWORD *)v11 + 494) = v19;
              }
              v11[491] = sub_B2ADD0(*(unsigned int *)(PlayerPawn[2] + 56LL));
              if ( v9 != *((_BYTE *)v11 + 1980) )
              {
                (*(void (__fastcall **)(float *, __int64, __int64, __int64))(*(_QWORD *)v11 + 200LL))(
                  v11,
                  1980LL,
                  0xFFFFFFFFLL,
                  0xFFFFFFFFLL);
                *((_BYTE *)v11 + 1980) = v9;
              }
              v108 = 0LL;
              v111 = 0xFFFFFFFF00000000LL;
              v109 = 0LL;
              v110 = 0LL;
              v112 = 117440512LL;
              sub_11C6320(&v102);
              sub_CB3380(PlayerPawn, &v84, 0LL, 0LL);
              v20 = (__m128i)LODWORD(v85);
              *(float *)v20.m128i_i32 = v85 * 56755.84;
              v21 = off_177FB50;
              lpstypea = v84 * 56755.84;
              v79 = 56755.84 * v86;
              v94 = COERCE__INT64_FASTCALL_((*(double (__fastcall **)(_QWORD *))(*PlayerPawn + 1392LL))(PlayerPawn));
              LODWORD(v95) = LODWORD(a2);
              v22 = *(float *)&a2 + v79;
              *((float *)&v116 + 1) = COERCE_FLOAT(_mm_cvtsi128_si32(v20)) + *((float *)&v94 + 1);
              *(float *)&v116 = lpstypea + *(float *)&v94;
              *(float *)v117 = v22;
              v23 = (*(double (__fastcall **)(_QWORD *))(*PlayerPawn + 1392LL))(PlayerPawn);
              *(float *)&v92 = v22;
              v91 = v23;
              ((void (__fastcall *)(void *, double *, __int64 (__fastcall ***)(), _QWORD *, __int64, __int64, __int64 (__fastcall ***)()))qword_C3E1D0)(
                v21,
                &v91,
                &v116,
                PlayerPawn,
                1839107LL,
                4LL,
                &v102);
              if ( v115 == 1.0 )
                goto LABEL_63;
              EventVector = v113;
              v88 = v114;
              v26 = (*(double (__fastcall **)(_QWORD *, double *, __int64, __int64, __int64))(*PlayerPawn + 1392LL))(
                      PlayerPawn,
                      &v91,
                      v24,
                      v25,
                      v74);
              *(float *)v117 = v22;
              v116 = *(__int64 (__fastcall ***)())&v26;
              if ( (unsigned __int8)sub_6F7C20(PlayerPawn, &v116, &v113, &v89) )
              {
                EventVector = v89;
                v88 = v90;
                goto LABEL_49;
              }
              v80 = (struct __class_type_info *)lpsrc;
              if ( lpsrc
                && __dynamic_cast(
                     lpsrc,
                     (const struct __class_type_info *)&`typeinfo for'CBaseEntity,
                     (const struct __class_type_info *)&`typeinfo for'CBaseAnimGraph,
                     0LL) )
              {
                EventVector = v113;
                v88 = v114;
                goto LABEL_40;
              }
              v101 = 0;
              LODWORD(v116) = 0;
              *(_QWORD *)&v117[8] = 0x8000000000000040LL;
              *(_QWORD *)v117 = &v117[16];
              v94 = off_1556978;
              v100 = 0x4903000700000000LL;
              v95 = 0LL;
              v96 = 0LL;
              v97 = 0LL;
              v92 = 0x4238000000000000LL;
              v98 = -1LL;
              v99 = -1LL;
              v91 = 0.0;
              v93 = 1;
              v65 = sub_D4DAF0(
                      (_DWORD)off_177FB50,
                      (unsigned int)&v91,
                      (unsigned int)&v113,
                      (unsigned int)&v94,
                      1,
                      (unsigned int)&v116,
                      1);
              if ( v65 <= 0 )
              {
                v80 = 0LL;
              }
              else
              {
                v66 = 0LL;
                v80 = 0LL;
                v76 = 36.0;
                v75 = 72LL * v65;
                do
                {
                  LODWORD(v91) = *(_DWORD *)(*(_QWORD *)v117 + v66 + 24);
                  v67 = (const void **)sub_6EC5A0(&v91);
                  if ( v67 )
                  {
                    if ( *v67 )
                    {
                      lpstype = (struct __class_type_info *)*v67;
                      if ( __dynamic_cast(
                             *v67,
                             (const struct __class_type_info *)&`typeinfo for'CBaseEntity,
                             (const struct __class_type_info *)&`typeinfo for'CCSWeaponBase,
                             0LL) )
                      {
                        v68 = lpstype;
                        v91 = (*(double (__fastcall **)(struct __class_type_info *))(*(_QWORD *)lpstype + 664LL))(lpstype);
                        *(float *)&v92 = v22;
                        v22 = (float)(v22 - v114) * (float)(v22 - v114);
                        v69 = (float)((float)((float)(*((float *)&v91 + 1) - *((float *)&v113 + 1))
                                            * (float)(*((float *)&v91 + 1) - *((float *)&v113 + 1)))
                                    + v22)
                            + (float)((float)(*(float *)&v91 - *(float *)&v113)
                                    * (float)(*(float *)&v91 - *(float *)&v113));
                        if ( v69 < 0.0 )
                        {
                          v70 = sqrtf(v69);
                          v68 = lpstype;
                        }
                        else
                        {
                          v70 = fsqrt(v69);
                        }
                        if ( v76 <= v70 )
                          v68 = v80;
                        v80 = v68;
                        v76 = fminf(v70, v76);
                      }
                    }
                  }
                  v66 += 72LL;
                }
                while ( v66 != v75 );
              }
              LODWORD(v116) = 0;
              v71 = *(_DWORD *)&v117[12] & 0xC0000000;
              if ( *(int *)&v117[8] < 0 )
              {
                if ( v71 || !*(_QWORD *)v117 )
                {
LABEL_116:
                  EventVector = v113;
                  v88 = v114;
                  if ( v80 )
                  {
LABEL_40:
                    v27 = (*(double (__fastcall **)(struct __class_type_info *))(*(_QWORD *)v80 + 664LL))(v80);
                    v88 = v22;
                    EventVector = *(_QWORD *)&v27;
                    if ( __dynamic_cast(
                           v80,
                           (const struct __class_type_info *)&`typeinfo for'CBaseEntity,
                           (const struct __class_type_info *)&`typeinfo for'CCSWeaponBase,
                           0LL)
                      && *((_DWORD *)v11 + 494) != 1 )
                    {
                      (*(void (__fastcall **)(float *, __int64, __int64, __int64))(*(_QWORD *)v11 + 200LL))(
                        v11,
                        1976LL,
                        0xFFFFFFFFLL,
                        0xFFFFFFFFLL);
                      *((_DWORD *)v11 + 494) = 1;
                    }
                    v28 = (struct __class_type_info **)sub_6EC5A0(v11 + 493);
                    if ( !v28 || v80 != *v28 )
                    {
                      (*(void (__fastcall **)(float *, __int64, __int64, __int64))(*(_QWORD *)v11 + 200LL))(
                        v11,
                        1972LL,
                        0xFFFFFFFFLL,
                        0xFFFFFFFFLL);
                      v29 = *((_QWORD *)v80 + 2);
                      if ( v29 )
                      {
                        if ( *(_DWORD *)(v29 + 16) == -1 )
                          v30 = 0x7FFF;
                        else
                          v30 = *(_WORD *)(v29 + 16) & 0x7FFF;
                        *((_DWORD *)v11 + 493) = v30 | (((*(_DWORD *)(v29 + 16) >> 15) - (*(_DWORD *)(v29 + 48) & 1)) << 15);
                      }
                      else
                      {
                        v11[493] = NAN;
                      }
                    }
                  }
LABEL_49:
                  LODWORD(v116) = 0;
                  *(_QWORD *)&v117[4] = 1098907648LL;
                  v117[20] = 1;
                  LODWORD(v94) = 0;
                  *(float *)v117 = dword_181688C;
                  *(_QWORD *)&v117[12] = 0xFFFFFFFFLL;
                  *((float *)&v116 + 1) = (float)(0.5 * dword_181688C) + 71.0;
                  v31 = (unsigned int *)sub_12CE730(
                                          qword_19449F0,
                                          (unsigned int)&EventVector,
                                          (unsigned int)&v94,
                                          16,
                                          0,
                                          0,
                                          (__int64)&v116);
                  if ( v31
                    && ((v32 = *(void ***)(*(_QWORD *)v31 + 64LL), v33 = qword_19449F0 + 152, v32 != &off_6C3DF0) ? (v83 = (void *)(qword_19449F0 + 152), v72 = ((__int64 (__fastcall *)(float))v32)(10000.0), v33 = (__int64)v83, v34 = v72) : (v34 = v31[48]),
                        (v35 = sub_12DCD80(v33, v34, COERCE_DOUBLE(1176256512LL))) != 0) )
                  {
                    v36 = *(__int64 (__fastcall **)())(*(_QWORD *)v11 + 200LL);
                    if ( v36 == sub_698D40 )
                    {
                      sub_6B4A90(v11 + 16, v11, 1981LL, 0xFFFFFFFFLL, 0xFFFFFFFFLL);
                      v37 = (float *)off_17B22D8;
                      if ( !*((_BYTE *)off_17B22D8 + 61) && !*((_BYTE *)off_17B22D8 + 60) )
                      {
                        v38 = (void (__fastcall *)(__int64))*((_QWORD *)off_17B22D8 + 4);
                        if ( v38 )
                        {
                          v81 = (float *)off_17B22D8;
                          v38(1LL);
                          v37 = v81;
                        }
                      }
                      v39 = v37[11];
                      if ( v39 > v11[330] )
                      {
                        v11[330] = v39;
                        *((_QWORD *)v11 + 164) = 0LL;
                      }
                    }
                    else
                    {
                      ((void (__fastcall *)(float *, __int64, __int64, __int64))v36)(
                        v11,
                        1981LL,
                        0xFFFFFFFFLL,
                        0xFFFFFFFFLL);
                    }
                    _V_strncpy((char *)v11 + 1981, v35, 18LL);
                  }
                  else
                  {
                    (*(void (__fastcall **)(float *, __int64, __int64, __int64, double))(*(_QWORD *)v11 + 200LL))(
                      v11,
                      1981LL,
                      0xFFFFFFFFLL,
                      0xFFFFFFFFLL,
                      COERCE_DOUBLE(1176256512LL));
                    *((_BYTE *)v11 + 1981) = 0;
                  }
                  v40 = sub_814560(PlayerPawn);
                  v116 = *(__int64 (__fastcall ***)())v40;
                  *(_DWORD *)v117 = *(_DWORD *)(v40 + 8);
                  *((float *)&v116 + 1) = *((float *)&v116 + 1) + 180.0;
                  (*(void (__fastcall **)(float *, __int64 *, __int64 (__fastcall ***)(), _QWORD))(*(_QWORD *)v11
                                                                                                 + 1184LL))(
                    v11,
                    &EventVector,
                    &v116,
                    0LL);
                  Event1 = (*(__int64 (__fastcall **)(__int64, const char *, _QWORD, _QWORD))(*(_QWORD *)qword_18F4020
                                                                                            + 56LL))(
                             qword_18F4020,
                             "player_ping",
                             0LL,
                             0LL);
                  Event2 = Event1;
                  if ( Event1 )
                  {
                    sub_6BC2E0(Event1, "userid", PlayerPawn);
                    v43 = sub_126FF40(v11);
                    sub_6BC100(Event2, "entityid", v43);
                    sub_7D3260(Event2, "x", *(float *)&EventVector);
                    sub_7D3260(Event2, "y", *((float *)&EventVector + 1));
                    sub_7D3260(Event2, "z", v88);
                    sub_6EC9C0(Event2, "urgent", *((unsigned __int8 *)v11 + 1980));
                    (*(void (__fastcall **)(__int64, __int64, _QWORD))(*(_QWORD *)qword_18F4020 + 64LL))(
                      qword_18F4020,
                      Event2,
                      0LL);
                  }
LABEL_63:
                  v82 = sub_B2ADD0(*(unsigned int *)(PlayerPawn[2] + 56LL)) + 6.0;
                  sub_810400(v11, sub_C42AF0, 0LL, 0LL, 0LL, 0.0);
                  sub_8106B0(v11, 0LL, v82);
                  return;
                }
              }
              else if ( *(_BYTE **)v117 == &v117[16] )
              {
                if ( v71 )
                  goto LABEL_116;
              }
              else if ( !*(_QWORD *)v117 || v71 )
              {
                goto LABEL_116;
              }
              (*(void (__fastcall **)(_QWORD *))(*g_pMemAlloc + 32LL))(g_pMemAlloc);
              goto LABEL_116;
            }
            sub_D8D970(&v116);
            v116 = &off_15ABCF0;
            sub_D8F120(&v116, PlayerPawn);
            sub_D8DA00(&v116);
            sub_9DB900(&v102, 0LL, 0LL);
            v106 = 3;
            v104 |= 2u;
            v102 = &off_15AE918;
            v55 = sub_CB2370(PlayerPawn);
            v104 |= 5u;
            v107 = v55;
            v56 = (_QWORD *)((unsigned __int64)lpsrc & 0xFFFFFFFFFFFFFFFCLL);
            if ( ((unsigned __int8)lpsrc & 1) != 0 )
              v56 = (_QWORD *)*v56;
            v57 = sub_C3ABF0(27LL, 0LL);
            *(__m128i *)(v57 + 24) = _mm_load_si128((const __m128i *)&xmmword_14331B0);
            qmemcpy((void *)(v57 + 40), "on_cooldown", 11);
            if ( (_UNKNOWN *)v57 != &std::string::_Rep::_S_empty_rep_storage )
            {
              *(_DWORD *)(v57 + 16) = 0;
              *(_QWORD *)v57 = 27LL;
              *(_BYTE *)(v57 + 51) = 0;
            }
            v94 = (__int64 (__fastcall **)())(v57 + 24);
            sub_110C186(v105, &v94, v56);
            v58 = v94;
            v59 = v94 - 3;
            if ( v94 - 3 != (__int64 (__fastcall **)())&std::string::_Rep::_S_empty_rep_storage )
            {
              if ( &_pthread_key_create )
              {
                v73 = _InterlockedExchangeAdd((volatile signed __int32 *)v94 - 2, 0xFFFFFFFF);
              }
              else
              {
                v73 = *((_DWORD *)v94 - 2);
                *((_DWORD *)v94 - 2) = v73 - 1;
              }
              if ( v73 <= 0 )
                operator delete(v59, (unsigned __int64)*(v58 - 2) + 25);
            }
            sub_C683D0(&v102, "");
            sub_C683D0(&v102, "#Game_radio_location");
            sub_C683D0(&v102, "");
            sub_C683D0(&v102, "");
            v60 = qword_1818578;
            v61 = qword_1903440;
            v62 = *(void (__fastcall **)(__int64, _QWORD, _QWORD, __int64 (__fastcall ***)(), __int64, __int64 (__fastcall ***)(), __int64))(*(_QWORD *)qword_1903440 + 128LL);
            (*(void (__fastcall **)(_QWORD *, __int64))(*qword_1920400 + 88LL))(qword_1920400, qword_1818578);
            v62(v61, 0LL, 0LL, &v116, v60, &v102, 64LL);
            v102 = &off_15AE878;
            sub_AC4D30(&v102);
            *(_DWORD *)&v117[8] = 0;
            v116 = (__int64 (__fastcall **)())(&`vtable for'CRecipientFilter + 2);
            if ( (int)v118 < 0 )
            {
              if ( (v118 & 0xC000000000000000LL) != 0 )
                return;
              v63 = *(_QWORD *)&v117[16];
            }
            else
            {
              v63 = *(_QWORD *)&v117[16];
              v64 = HIDWORD(v118) & 0xC0000000;
              if ( *(int **)&v117[16] == v119 )
              {
                if ( !v64 )
                  goto LABEL_93;
                return;
              }
              if ( v64 )
                return;
            }
            if ( v63 )
            {
LABEL_93:
              (*(void (__fastcall **)(_QWORD *))(*g_pMemAlloc + 32LL))(g_pMemAlloc);
              return;
            }
          }
        }
      }
    }
  }
}

if ( (unsigned __int8)sub_6F7C20(PlayerPawn, &v116, &v113, &v89) ) - на моменте вызова этой функции &v113 уже содержит какое-то значение, но как это возможно, если до этого в переменную не устанавливается никакое значение?