int __userpurge sub_492088@<eax>(int a1@<eax>, int a2@<edx>, int a3@<ecx>, int a4@<ebx>, int a5@<esi>, _WORD *a6, int a7, int a8, int a9, int a10, int a11)
{
int v11; // ebx
int v12; // eax
int v13; // edx
Classes::TStrings *v14; // esi
int v15; // ST14_4
int v16; // ST10_4
unsigned int v18; // [esp-14h] [ebp-34h]
void *v19; // [esp-10h] [ebp-30h]
int *v20; // [esp-Ch] [ebp-2Ch]
int v21; // [esp-8h] [ebp-28h]
int v22; // [esp-4h] [ebp-24h]
int v23; // [esp+0h] [ebp-20h]
int v24; // [esp+4h] [ebp-1Ch]
int v25; // [esp+8h] [ebp-18h]
char v26[4]; // [esp+Ch] [ebp-14h]
int v27; // [esp+10h] [ebp-10h]
int System::AnsiString; // [esp+14h] [ebp-Ch]
int v29; // [esp+18h] [ebp-8h]
int v30; // [esp+1Ch] [ebp-4h]
int savedregs; // [esp+20h] [ebp+0h]
System::AnsiString = 0;
v27 = 0;
*(_DWORD *)v26 = 0;
v25 = 0;
v24 = 0;
v23 = 0;
v22 = a4;
v21 = a5;
v29 = a3;
v30 = a2;
v11 = a1;
v20 = &savedregs;
v19 = &loc_4921D1;
v18 = __readfsdword(0);
__writefsdword(0, (unsigned int)&v18);
Variants::__linkproc__ VarToLStr(&v27, a11);
if ( sub_465C88(&str__sptWBCallback_[1], v27) > 0 )
{
*a6 = -1;
Variants::__linkproc__ VarToLStr(&System::AnsiString, a11);
unknown_libname_60(System::AnsiString);
v12 = System::__linkproc__ LStrCopy(&System::AnsiString);
LOBYTE(v12) = 1;
unknown_libname_161(System::AnsiString, (int)&str___41[1], (int)&str____19[1], v12, (unsigned int)v26);
System::__linkproc__ LStrLAsg(&System::AnsiString, *(_DWORD *)v26);
LOBYTE(v13) = 1;
v14 = (Classes::TStrings *)unknown_libname_33(cls_Classes_TStringList, v13);
(*(void (__fastcall **)(Classes::TStrings *, int))(*(_DWORD *)v14 + 44))(v14, System::AnsiString);
if ( *(_WORD *)(v11 + 50) )
{
Classes::TStrings::GetValue(v14, (const int)&str_params[1], (int)&v25);
v15 = v25;
Classes::TStrings::GetValue(v14, (const int)&str_eventName[1], (int)&v24);
v16 = v24;
Classes::TStrings::GetValue(v14, (const int)&str_id[1], (int)&v23);
(*(void (__fastcall **)(_DWORD, int, int, int))(v11 + 48))(*(_DWORD *)(v11 + 52), v23, v16, v15);
}
}
if ( *(_WORD *)(v11 + 58) )
(*(void (__fastcall **)(_DWORD, int, int, int, int, int, int, int, _WORD *))(v11 + 56))(
*(_DWORD *)(v11 + 60),
v30,
v29,
a11,
a10,
a9,
a8,
a7,
a6);
__writefsdword(0, v18);
v20 = (int *)&loc_4921D8;
return System::__linkproc__ LStrArrayClr(&v23, 6);
}