void __fastcall CPlayer__RefreshStandardBuff(void *this, int a2)
{
void *v2; // eax@12
int v3; // [sp+0h] [bp-18h]@1
int v4; // [sp+4h] [bp-14h]@8
int v5; // [sp+8h] [bp-10h]@6
int v6; // [sp+Ch] [bp-Ch]@6
void *i; // [sp+10h] [bp-8h]@6
int v8; // [sp+14h] [bp-4h]@5
v3 = (int)this;
if ( CPlayer__IsWearBuffStandard(this, a2) )
{
if ( [B]CGuild__IsWarringPeriod()[/B] )
{
if ( [B]CSMap__IsOnTile[/B](v3 + 332, 1048576) )
{
CIOCriticalSection__Enter((struct _RTL_CRITICAL_SECTION *)(v3 + 1020));
v8 = *(_DWORD *)(v3 + 1116);
if ( v8 )
{
v5 = *(_DWORD *)(*(_DWORD *)(v8 + 40) + 160);
v6 = *(_DWORD *)(*(_DWORD *)(v8 + 40) + 164);
CIOCriticalSection__Leave(v3 + 1020);
for ( i = (void *)sub_4934F0(v3 + 324, 10); i; i = (void *)CBaseList__Pop(i) )
{
v4 = Cast__VoidPtrToInt(i);
if ( v4 != v3 )
{
if ( CChar__IsNormal(v4) )
{
if ( *(_DWORD *)(v3 + 480) == *(_DWORD *)(v4 + 480) )
{
if ( !CPlayer__IsWearBuffStandard(v4, v4) )
{
v2 = CBuff__CreateBuff(v5, 2, v6, v3);
(*(void (__thiscall **)(int, void *))(*(_DWORD *)v4 + 180))(v4, v2);
}
}
}
}
}
}
else
{
CIOCriticalSection__Leave(v3 + 1020);
}
}
}
}
}