{"name": "Sys_QueEvent", "code": "char * __fastcall Sys_QueEvent ( unsigned int @@a1@@ , unsigned int @@a2@@ , int @@a3@@ , int @@a4@@ , int @@a5@@ , __int64 @@a6@@ ) { char * @@result@@ ; unsigned int @@v11@@ ; char * v12 ; char * v13 ; @@v11@@ = @@a1@@ ; if ( @@a2@@ == Number && ( v12 = & eventQue [ Number * ( unsigned __int8 ) ( eventHead - Number ) ] , * ( ( _DWORD * ) v12 + Number ) == Number ) ) { if ( eventTail == eventHead && eventTail ) { * ( ( _DWORD * ) v12 + Number ) = Number ; * ( ( _DWORD * ) v12 + Number ) = Number ; -- eventTail ; } if ( ! @@a1@@ ) @@v11@@ = Sys_Milliseconds ( ) ; * ( ( _DWORD * ) v12 + Number ) += @@a3@@ ; * ( ( _DWORD * ) v12 + Number ) += @@a4@@ ; @@result@@ = v12 ; * ( _DWORD * ) v12 = @@v11@@ ; } else { v13 = & eventQue [ Number * ( unsigned __int8 ) eventHead ] ; if ( ( unsigned int ) ( eventHead - eventTail ) > Number ) { Com_Printf ( String , @@a1@@ , @@a2@@ ) ; if ( * ( ( _QWORD * ) v13 + Number ) ) Z_Free ( * ( ( _QWORD * ) v13 + Number ) ) ; ++ eventTail ; } ++ eventHead ; if ( ! @@a1@@ ) @@v11@@ = Sys_Milliseconds ( ) ; * ( _DWORD * ) v13 = @@v11@@ ; * ( ( _DWORD * ) v13 + Number ) = @@a2@@ ; * ( ( _DWORD * ) v13 + Number ) = @@a3@@ ; * ( ( _DWORD * ) v13 + Number ) = @@a4@@ ; * ( ( _DWORD * ) v13 + Number ) = @@a5@@ ; @@result@@ = v13 ; * ( ( _QWORD * ) v13 + Number ) = @@a6@@ ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "result", "t": {"T": 3, "t": "char"}, "location": "r8"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "v11", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}]}
{"name": "Sys_GetEvent", "code": "_QWORD * __fastcall Sys_GetEvent ( _QWORD * @@a1@@ ) { __int64 v1 ; __int64 v2 ; __int64 v3 ; _QWORD * v4 ; __int64 v5 ; __int64 v6 ; __int64 v7 ; __int64 v8 ; __int64 v9 ; __int64 v10 ; __int64 @@v12@@ [ Number ] ; char @@v13@@ [ Number ] ; void * @@src@@ ; int @@v15@@ ; __int64 @@v16@@ [ Number ] ; _QWORD * @@v17@@ ; int @@v18@@ ; char * @@dest@@ ; char * @@s@@ ; int @@v21@@ ; if ( eventHead <= ( unsigned int ) eventTail ) { @@s@@ = Sys_ConsoleInput ( ) ; if ( @@s@@ ) { @@v21@@ = strlen ( @@s@@ ) + Number ; @@dest@@ = ( char * ) Z_Malloc ( ( unsigned int ) @@v21@@ ) ; if ( @@v21@@ > Number && ( * @@s@@ == Number || * @@s@@ == Number ) ) { strcpy ( @@dest@@ , @@s@@ + Number ) ; -- @@v21@@ ; } else { strcpy ( @@dest@@ , @@s@@ ) ; } Sys_QueEvent ( Number , Number , Number , Number , @@v21@@ , ( __int64 ) @@dest@@ ) ; } MSG_Init ( @@v13@@ , sys_packetReceived , Number ) ; if ( ( unsigned int ) Sys_GetPacket ( @@v12@@ , @@v13@@ ) ) { @@v18@@ = @@v15@@ + Number ; v4 = ( _QWORD * ) Z_Malloc ( ( unsigned int ) ( @@v15@@ + Number ) ) ; @@v17@@ = v4 ; v5 = @@v12@@ [ Number ] ; * v4 = @@v12@@ [ Number ] ; v4 [ Number ] = v5 ; v6 = @@v12@@ [ Number ] ; v4 [ Number ] = @@v12@@ [ Number ] ; v4 [ Number ] = v6 ; v4 [ Number ] = @@v12@@ [ Number ] ; memcpy ( @@v17@@ + Number , @@src@@ , @@v15@@ ) ; Sys_QueEvent ( Number , Number , Number , Number , @@v18@@ , ( __int64 ) @@v17@@ ) ; } if ( eventHead <= ( unsigned int ) eventTail ) { memset ( @@v16@@ , Number , sizeof ( @@v16@@ ) ) ; LODWORD ( @@v16@@ [ Number ] ) = Sys_Milliseconds ( ) ; v10 = @@v16@@ [ Number ] ; * @@a1@@ = @@v16@@ [ Number ] ; @@a1@@ [ Number ] = v10 ; v9 = @@v16@@ [ Number ] ; @@a1@@ [ Number ] = @@v16@@ [ Number ] ; } else { v7 = Number L * ( unsigned __int8 ) eventTail ++ ; v8 = * ( _QWORD * ) & eventQue [ v7 + Number ] ; * @@a1@@ = * ( _QWORD * ) & eventQue [ v7 ] ; @@a1@@ [ Number ] = v8 ; v9 = * ( _QWORD * ) & eventQue [ v7 + Number ] ; @@a1@@ [ Number ] = * ( _QWORD * ) & eventQue [ v7 + Number ] ; } @@a1@@ [ Number ] = v9 ; } else { v1 = Number L * ( unsigned __int8 ) eventTail ++ ; v2 = * ( _QWORD * ) & eventQue [ v1 + Number ] ; * @@a1@@ = * ( _QWORD * ) & eventQue [ v1 ] ; @@a1@@ [ Number ] = v2 ; v3 = * ( _QWORD * ) & eventQue [ v1 + Number ] ; @@a1@@ [ Number ] = * ( _QWORD * ) & eventQue [ v1 + Number ] ; @@a1@@ [ Number ] = v3 ; } return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s116"}, {"n": "src", "t": {"T": 3, "t": "void"}, "location": "s128"}, {"n": "v13", "t": {"T": 2, "n": 16, "s": 1, "t": "char"}, "location": "s144"}, {"n": "v12", "t": {"T": 2, "n": 6, "s": 8, "t": "__int64"}, "location": "s192"}, {"n": "v21", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "s", "t": {"T": 3, "t": "char"}, "location": "s32"}, {"n": "dest", "t": {"T": 3, "t": "char"}, "location": "s40"}, {"n": "v18", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v17", "t": {"T": 3, "t": "_QWORD"}, "location": "s56"}, {"n": "v16", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s96"}]}