- int __cdecl Script_Screenshot()
- {
- int v0; // eax@1
- v0 = ClientServices::GetClientStamp();
- ScrnScreenshot(CGlueMgr::HandleScreenshot, v0, 88, 0, 0, 0);
- return 0;
- }
- int __cdecl ScrnScreenshot(int a1, int a2, int a3, int a4, int a5, int a6)
- {
- int result; // eax@1
- s_captureScreen = a1;
- s_pWatermarkData = a2;
- s_uWatermarkDataBytes = a3;
- s_screenshotFolder = a4;
- *(_DWORD *)s_screenshotNameOverride = a5;
- result = a6;
- s_depthNameOverride = a6;
- return result;
- }
- int __cdecl ClientServices::GetClientStamp()
- {
- void *v0; // esi@1
- const char *v1; // ebx@1
- int v2; // ecx@4
- int result; // eax@5
- char v4[4]; // [sp+14h] [bp-24h]@4
- int v5; // [sp+18h] [bp-20h]@8
- int v6; // [sp+1Ch] [bp-1Ch]@8
- int v7; // [sp+20h] [bp-18h]@8
- int v8; // [sp+24h] [bp-14h]@8
- int v9; // [sp+28h] [bp-10h]@8
- int v10; // [sp+2Ch] [bp-Ch]@1
- v0 = __stack_chk_guard_ptr;
- v10 = *(_DWORD *)__stack_chk_guard_ptr;
- v1 = 0;
- if ( ClientServices::s_accountName )
- v1 = &ClientServices::s_accountName;
- if ( ClientServices::m_selectRealmInfoValid )
- {
- WowTime::WowEncodeTime(v4, LODWORD(g_clientGameTime_ptr));
- memset(ClientServices::m_ClientStamp, 0, 0x58u);
- if ( v1 )
- {
- strcpy(ClientServices::m_ClientStamp, v1);
- ClientServices::m_ClientStamp[64] = v4[0];
- ClientServices::m_ClientStamp[65] = v4[1];
- ClientServices::m_ClientStamp[66] = v4[2];
- ClientServices::m_ClientStamp[67] = v4[3];
- v5 = dword_177FA08;
- v6 = dword_177FA0C;
- v7 = dword_177FA10;
- v8 = dword_177FA14;
- v9 = dword_177FA18;
- SockAddr::Normalize(&v5);
- *(_DWORD *)&ClientServices::m_ClientStamp[68] = v5;
- *(_DWORD *)&ClientServices::m_ClientStamp[72] = v6;
- *(_DWORD *)&ClientServices::m_ClientStamp[76] = v7;
- *(_DWORD *)&ClientServices::m_ClientStamp[80] = v8;
- ClientServices::m_ClientStamp[84] = 0;
- ClientServices::m_ClientStamp[85] = 0xFFu;
- ClientServices::m_ClientStamp[86] = 0x3Fu;
- ClientServices::m_ClientStamp[87] = 0xFu;
- if ( v9 == 3 && v5 )
- SMemFree(v5);
- v5 = 0;
- v6 = 0;
- v7 = 0;
- v8 = 0;
- v9 = 0;
- }
- }
- else
- {
- WowTime::WowEncodeTime(v4, LODWORD(g_clientGameTime_ptr));
- memset(ClientServices::m_ClientStamp, 0, 0x58u);
- }
- result = (int)ClientServices::m_ClientStamp;
- if ( *(_DWORD *)v0 != v10 )
- __stack_chk_fail(v2);
- return result;
- }