{"name": "RtmpDispatchPkt", "code": "__int64 __fastcall RtmpDispatchPkt ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@v3@@ ; @@v3@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; RTMP_Log ( Number L , String , String , * ( unsigned __int8 * ) ( @@a2@@ + Number ) , * ( unsigned int * ) ( @@a2@@ + Number ) ) ; switch ( * ( _BYTE * ) ( @@a2@@ + Number ) ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : break ; case Number : RTMP_Log ( Number L , String , String , * ( unsigned int * ) ( @@a2@@ + Number ) ) ; if ( ( unsigned int ) SessionInvoke ( @@a1@@ , @@a2@@ , Number ) ) RTMP_Close ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; break ; case Number : RTMP_Log ( Number L , String , String , * ( unsigned int * ) ( @@a2@@ + Number ) ) ; if ( ( unsigned int ) SessionInvoke ( @@a1@@ , @@a2@@ , Number ) ) RTMP_Close ( @@v3@@ ) ; break ; default : RTMP_Log ( Number L , String , String , * ( unsigned __int8 * ) ( @@a2@@ + Number ) ) ; break ; } RTMPPacket_Free ( @@a2@@ ) ; return RTMPPacket_Init ( @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "SessionInvoke", "code": "__int64 __fastcall SessionInvoke ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ ) { __int64 result ; __int64 v4 ; __int64 v5 ; __int64 v6 ; __int64 v7 ; __int64 v8 ; __int64 v9 ; __int64 v10 ; __int64 v11 ; __int64 v12 ; __int64 v13 ; __int64 v14 ; __int64 v15 ; __int64 v16 ; __int64 v17 ; __int64 v18 ; __int64 v19 ; __int64 v20 ; __int64 v21 ; __int64 v22 ; __int64 v23 ; __int64 @@v24@@ ; __int64 v25 ; int v26 ; int v27 ; int v28 ; int v29 ; int v30 ; int v31 ; int v32 ; int v33 ; int v34 ; int v35 ; int v36 ; int v37 ; int v38 ; int v39 ; int v40 ; int v41 ; int v42 ; int v43 ; int v44 ; int v45 ; int v46 ; int v47 ; __int64 v48 ; int v49 ; int v50 ; int v51 ; _QWORD * v52 ; __int64 v53 ; __int64 @@v54@@ [ Number ] ; __int64 @@v55@@ ; int @@v56@@ ; void * @@src@@ ; __int64 @@v58@@ ; __int64 @@v59@@ ; __int64 @@v60@@ ; __int64 @@v61@@ ; __int64 @@v62@@ ; void * @@v63@@ ; __int64 @@v64@@ ; int @@v65@@ ; __int64 @@v66@@ ; void * @@s1@@ ; int @@v68@@ ; int @@v69@@ ; __int64 @@v70@@ ; int @@v71@@ ; void * @@dest@@ ; void * @@v73@@ ; __int64 @@v74@@ ; void * @@ptr@@ ; int @@v76@@ ; int @@v77@@ ; double @@v78@@ ; int @@v79@@ ; unsigned int @@v80@@ ; _BYTE * @@v81@@ ; __int64 @@v82@@ ; char * @@s@@ ; _BYTE * @@j@@ ; int @@i@@ ; unsigned int @@v86@@ ; @@v82@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v86@@ = Number ; @@v81@@ = ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + @@a3@@ ) ; @@v80@@ = * ( _DWORD * ) ( @@a2@@ + Number ) - @@a3@@ ; if ( * @@v81@@ == Number ) { @@v79@@ = AMF_Decode ( & @@v69@@ , @@v81@@ , @@v80@@ , Number L ) ; if ( @@v79@@ >= Number ) { AMF_Dump ( & @@v69@@ ) ; v4 = AMF_GetProp ( & @@v69@@ , Number L , Number L ) ; AMFProp_GetString ( v4 , & @@s1@@ ) ; v5 = AMF_GetProp ( & @@v69@@ , Number L , Number L ) ; @@v78@@ = AMFProp_GetNumber ( v5 ) ; RTMP_Log ( Number L , String , String , ( const char * ) @@s1@@ ) ; if ( @@v68@@ == Number && ! memcmp ( @@s1@@ , String , Number ) ) { * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a2@@ + Number ) ; * ( _QWORD * ) ( @@a2@@ + Number ) = Number L ; v6 = AMF_GetProp ( & @@v69@@ , Number L , Number L ) ; AMFProp_GetObject ( v6 , & @@v65@@ ) ; for ( @@i@@ = Number ; @@i@@ < @@v65@@ ; ++ @@i@@ ) { v7 = @@v66@@ + Number L * @@i@@ ; v8 = * ( _QWORD * ) ( v7 + Number ) ; @@v63@@ = * ( void * * ) v7 ; @@v64@@ = v8 ; @@v61@@ = Number L ; LODWORD ( @@v62@@ ) = Number ; if ( * ( _DWORD * ) ( v7 + Number ) == Number ) { v9 = @@v66@@ + Number L * @@i@@ ; v10 = * ( _QWORD * ) ( v9 + Number ) ; @@v61@@ = * ( _QWORD * ) ( v9 + Number ) ; @@v62@@ = v10 ; } if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , & unk_3080 , Number ) ) { v11 = @@v82@@ ; v12 = @@v62@@ ; * ( _QWORD * ) ( @@v82@@ + Number ) = @@v61@@ ; * ( _QWORD * ) ( v11 + Number ) = v12 ; @@v61@@ = Number L ; if ( ! * ( _QWORD * ) ( @@v82@@ + Number ) ) * ( _QWORD * ) ( @@v82@@ + Number ) = & unk_3632 ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v62@@ + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; } else if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , String , Number ) ) { v13 = @@v82@@ ; v14 = @@v62@@ ; * ( _QWORD * ) ( @@v82@@ + Number ) = @@v61@@ ; * ( _QWORD * ) ( v13 + Number ) = v14 ; @@v61@@ = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v62@@ + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; } else if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , String , Number ) ) { v15 = @@v82@@ ; v16 = @@v62@@ ; * ( _QWORD * ) ( @@v82@@ + Number ) = @@v61@@ ; * ( _QWORD * ) ( v15 + Number ) = v16 ; @@v61@@ = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v62@@ + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; } else if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , String , Number ) ) { v17 = @@v82@@ ; v18 = @@v62@@ ; * ( _QWORD * ) ( @@v82@@ + Number ) = @@v61@@ ; * ( _QWORD * ) ( v17 + Number ) = v18 ; @@v61@@ = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v62@@ + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; } else if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , String , Number ) ) { v19 = @@v82@@ ; v20 = @@v62@@ ; * ( _QWORD * ) ( @@v82@@ + Number ) = @@v61@@ ; * ( _QWORD * ) ( v19 + Number ) = v20 ; @@v61@@ = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v62@@ + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; } else if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , String , Number ) ) { * ( _QWORD * ) ( @@v82@@ + Number ) = * ( _QWORD * ) ( @@v66@@ + Number L * @@i@@ + Number ) ; } else if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , String , Number ) ) { * ( _QWORD * ) ( @@v82@@ + Number ) = * ( _QWORD * ) ( @@v66@@ + Number L * @@i@@ + Number ) ; } else if ( ( _DWORD ) @@v64@@ == Number && ! memcmp ( @@v63@@ , String , Number ) ) { * ( _QWORD * ) ( @@v82@@ + Number ) = * ( _QWORD * ) ( @@v66@@ + Number L * @@i@@ + Number ) ; } } if ( @@v69@@ > Number ) { @@v77@@ = @@v69@@ - Number ; * ( _DWORD * ) ( @@v82@@ + Number ) = @@v69@@ - Number ; * ( _QWORD * ) ( @@v82@@ + Number ) = malloc ( Number L * @@v77@@ ) ; memcpy ( * ( void * * ) ( @@v82@@ + Number ) , ( const void * ) ( @@v70@@ + Number ) , Number L * @@v77@@ ) ; @@v69@@ = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += countAMF ( @@v82@@ + Number , ( _DWORD * ) ( @@a1@@ + Number ) ) ; } SendConnectResult ( @@v82@@ , @@v78@@ ) ; } else if ( @@v68@@ == Number && ! memcmp ( @@s1@@ , String , Number ) ) { SendResultNumber ( @@v82@@ , @@v78@@ , ( double ) ( int ) ++ * ( _DWORD * ) ( @@a1@@ + Number ) ) ; } else if ( @@v68@@ == Number && ! memcmp ( @@s1@@ , String , Number ) ) { SendPublishStart ( @@v82@@ ) ; } else if ( @@v68@@ == Number && ! memcmp ( @@s1@@ , String , Number ) ) { SendResultNumber ( @@v82@@ , @@v78@@ , Number ) ; } else if ( @@v68@@ == Number && ! memcmp ( @@s1@@ , String , Number ) ) { v21 = AMF_GetProp ( & @@v69@@ , Number L , Number L ) ; AMFProp_GetString ( v21 , & @@v59@@ ) ; AVreplace ( ( __int64 ) & @@v59@@ , ( __int64 ) & av_dquote , ( __int64 ) & av_escdquote ) ; * ( _DWORD * ) ( @@a1@@ + Number ) += @@v60@@ + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; v22 = @@v82@@ ; v23 = @@v60@@ ; * ( _QWORD * ) ( @@v82@@ + Number ) = @@v59@@ ; * ( _QWORD * ) ( v22 + Number ) = v23 ; } else if ( @@v68@@ == Number && ! memcmp ( @@s1@@ , String , Number ) ) { @@v54@@ [ Number ] = Number L ; @@v54@@ [ Number ] = Number L ; @@v54@@ [ Number ] = Number L ; @@v54@@ [ Number ] = Number L ; @@v55@@ = Number L ; @@v24@@ = @@v82@@ + Number ; v25 = AMF_GetProp ( & @@v69@@ , Number L , Number L ) ; AMFProp_GetString ( v25 , @@v24@@ ) ; if ( * ( _DWORD * ) ( @@v82@@ + Number ) ) { @@v76@@ = * ( _DWORD * ) ( @@a1@@ + Number ) + * ( _DWORD * ) ( @@v82@@ + Number ) + * ( _DWORD * ) ( @@v82@@ + Number ) + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; @@ptr@@ = malloc ( @@v76@@ + Number L * * ( int * ) ( @@a1@@ + Number ) ) ; @@s@@ = ( char * ) @@ptr@@ ; @@v74@@ = ( __int64 ) @@ptr@@ + @@v76@@ ; * ( _QWORD * ) @@v74@@ = @@ptr@@ ; * ( _DWORD * ) ( @@v74@@ + Number ) = Number ; v26 = sprintf ( @@s@@ , String ) ; @@s@@ += v26 ; @@v56@@ = Number ; * ( _QWORD * ) ( @@v74@@ + Number ) = @@s@@ + Number ; v27 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v27 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v28 = sprintf ( @@s@@ , String , * ( const char * * ) ( @@v82@@ + Number ) ) ; @@s@@ += v28 ; v29 = @@v56@@ ++ ; * ( _DWORD * ) ( @@v74@@ + Number L * v29 + Number ) = * ( _DWORD * ) ( @@v82@@ + Number ) ; if ( * ( _QWORD * ) ( @@v82@@ + Number ) ) { * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v30 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v30 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v31 = sprintf ( @@s@@ , String , * ( const char * * ) ( @@v82@@ + Number ) ) ; @@s@@ += v31 ; v32 = @@v56@@ ++ ; * ( _DWORD * ) ( @@v74@@ + Number L * v32 + Number ) = * ( _DWORD * ) ( @@v82@@ + Number ) ; } if ( * ( _QWORD * ) ( @@v82@@ + Number ) ) { * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v33 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v33 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v34 = sprintf ( @@s@@ , String , * ( const char * * ) ( @@v82@@ + Number ) ) ; @@s@@ += v34 ; v35 = @@v56@@ ++ ; * ( _DWORD * ) ( @@v74@@ + Number L * v35 + Number ) = * ( _DWORD * ) ( @@v82@@ + Number ) ; } if ( * ( _QWORD * ) ( @@v82@@ + Number ) ) { * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v36 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v36 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v37 = sprintf ( @@s@@ , String , * ( const char * * ) ( @@v82@@ + Number ) ) ; @@s@@ += v37 ; v38 = @@v56@@ ++ ; * ( _DWORD * ) ( @@v74@@ + Number L * v38 + Number ) = * ( _DWORD * ) ( @@v82@@ + Number ) ; } if ( * ( _QWORD * ) ( @@v82@@ + Number ) ) { * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v39 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v39 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v40 = sprintf ( @@s@@ , String , * ( const char * * ) ( @@v82@@ + Number ) ) ; @@s@@ += v40 ; v41 = @@v56@@ ++ ; * ( _DWORD * ) ( @@v74@@ + Number L * v41 + Number ) = * ( _DWORD * ) ( @@v82@@ + Number ) ; } if ( * ( _QWORD * ) ( @@v82@@ + Number ) ) { * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v42 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v42 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v43 = sprintf ( @@s@@ , String , * ( const char * * ) ( @@v82@@ + Number ) ) ; @@s@@ += v43 ; v44 = @@v56@@ ++ ; * ( _DWORD * ) ( @@v74@@ + Number L * v44 + Number ) = * ( _DWORD * ) ( @@v82@@ + Number ) ; free ( * ( void * * ) ( @@v82@@ + Number ) ) ; * ( _QWORD * ) ( @@v82@@ + Number ) = Number L ; * ( _DWORD * ) ( @@v82@@ + Number ) = Number ; } if ( * ( _DWORD * ) ( @@v82@@ + Number ) ) { @@s@@ = dumpAMF ( @@v82@@ + Number , @@s@@ , @@v74@@ , & @@v56@@ ) ; AMF_Reset ( @@v82@@ + Number ) ; } * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v45 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v45 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v46 = sprintf ( @@s@@ , String , * ( _DWORD * ) ( @@v82@@ + Number ) , * ( const char * * ) ( @@v82@@ + Number ) ) ; @@s@@ += v46 ; v47 = @@v56@@ ++ ; * ( _DWORD * ) ( @@v74@@ + Number L * v47 + Number ) = * ( _DWORD * ) ( @@v82@@ + Number ) ; v48 = * ( _QWORD * ) ( @@v82@@ + Number ) ; @@src@@ = * ( void * * ) ( @@v82@@ + Number ) ; @@v58@@ = v48 ; @@v73@@ = memchr ( @@src@@ , Number , ( int ) v48 ) ; if ( @@v73@@ ) { if ( @@v73@@ == @@src@@ ) { @@src@@ = ( char * ) @@src@@ + Number ; LODWORD ( @@v58@@ ) = @@v58@@ - Number ; } else { LODWORD ( @@v58@@ ) = ( _DWORD ) @@v73@@ - ( _DWORD ) @@src@@ ; } } for ( @@j@@ = ( char * ) @@src@@ + ( int ) @@v58@@ - Number ; @@j@@ >= @@src@@ ; -- @@j@@ ) { if ( * @@j@@ == Number ) { LODWORD ( @@v58@@ ) = @@v58@@ - ( ( _DWORD ) ++ @@j@@ - ( _DWORD ) @@src@@ ) ; @@src@@ = @@j@@ ; break ; } } if ( * ( _BYTE * ) @@src@@ == Number ) { @@src@@ = ( char * ) @@src@@ + Number ; LODWORD ( @@v58@@ ) = @@v58@@ - Number ; } @@dest@@ = malloc ( ( int ) @@v58@@ + Number ) ; memcpy ( @@dest@@ , @@src@@ , ( int ) @@v58@@ ) ; * ( ( _BYTE * ) @@dest@@ + ( int ) @@v58@@ ) = Number ; for ( @@j@@ = @@dest@@ ; * @@j@@ ; ++ @@j@@ ) { if ( * @@j@@ == Number ) * @@j@@ = Number ; } if ( * ( ( _BYTE * ) @@dest@@ + ( int ) @@v58@@ - Number ) != Number ) LODWORD ( @@v58@@ ) = @@v58@@ + Number ; if ( strcmp ( ( const char * ) @@dest@@ + ( int ) @@v58@@ - Number , String ) ) strcpy ( ( char * ) @@dest@@ + ( int ) @@v58@@ - Number , String ) ; * ( _QWORD * ) ( Number L * @@v56@@ + @@v74@@ ) = @@s@@ + Number ; v49 = @@v56@@ ++ ; * ( _DWORD * ) ( Number L * v49 + @@v74@@ + Number ) = Number ; * ( _QWORD * ) ( @@v74@@ + Number L * @@v56@@ ) = @@dest@@ ; * ( _DWORD * ) ( @@v74@@ + Number L * @@v56@@ + Number ) = @@v58@@ ; v50 = sprintf ( @@s@@ , String , ( const char * ) @@dest@@ ) ; @@s@@ += v50 ; @@v71@@ = RTMP_GetTime ( ) ; if ( ( unsigned int ) ( @@v71@@ - * ( _DWORD * ) ( @@a1@@ + Number ) ) <= Number && * ( _DWORD * ) ( Number L * @@v56@@ + @@v74@@ + Number ) == * ( _DWORD * ) ( @@a1@@ + Number ) && ! memcmp ( * ( const void * * ) ( Number L * @@v56@@ + @@v74@@ ) , * ( const void * * ) ( @@a1@@ + Number ) , * ( int * ) ( Number L * @@v56@@ + @@v74@@ + Number ) ) ) { puts ( String ) ; free ( @@dest@@ ) ; } else { printf ( String , ( const char * ) @@ptr@@ ) ; fflush ( stdout ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v71@@ ; free ( * ( void * * ) ( @@a1@@ + Number ) ) ; v51 = @@v56@@ ++ ; v52 = ( _QWORD * ) ( Number L * v51 + @@v74@@ ) ; v53 = v52 [ Number ] ; * ( _QWORD * ) ( @@a1@@ + Number ) = * v52 ; * ( _QWORD * ) ( @@a1@@ + Number ) = v53 ; spawn_dumper ( @@v56@@ , @@v74@@ ) ; } free ( @@ptr@@ ) ; } @@v55@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; RTMPPacket_Free ( @@v54@@ ) ; @@v86@@ = Number ; RTMP_SendCtrl ( @@v82@@ , Number L , Number L , Number L ) ; SendPlayStart ( @@v82@@ ) ; RTMP_SendCtrl ( @@v82@@ , Number L , Number L , Number L ) ; SendPlayStop ( @@v82@@ ) ; } AMF_Reset ( & @@v69@@ ) ; result = @@v86@@ ; } else { RTMP_Log ( Number L , String , String ) ; result = Number L ; } } else { RTMP_Log ( Number L , String , String ) ; result = Number L ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "v24", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v73", "t": {"T": 3, "t": "void"}, "location": "s104"}, {"n": "dest", "t": {"T": 3, "t": "void"}, "location": "s112"}, {"n": "v71", "t": {"T": 1, "n": "int", "s": 4}, "location": "s116"}, {"n": "v70", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s136"}, {"n": "v69", "t": {"T": 1, "n": "int", "s": 4}, "location": "s144"}, {"n": "v68", "t": {"T": 1, "n": "int", "s": 4}, "location": "s152"}, {"n": "s1", "t": {"T": 3, "t": "void"}, "location": "s160"}, {"n": "v66", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s168"}, {"n": "v65", "t": {"T": 1, "n": "int", "s": 4}, "location": "s176"}, {"n": "v64", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s184"}, {"n": "v63", "t": {"T": 3, "t": "void"}, "location": "s192"}, {"n": "v86", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v62", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s200"}, {"n": "v61", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s208"}, {"n": "v60", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s216"}, {"n": "v59", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s224"}, {"n": "v58", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s232"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "src", "t": {"T": 3, "t": "void"}, "location": "s240"}, {"n": "v56", "t": {"T": 1, "n": "int", "s": 4}, "location": "s244"}, {"n": "v55", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s256"}, {"n": "v54", "t": {"T": 2, "n": 4, "s": 8, "t": "__int64"}, "location": "s288"}, {"n": "j", "t": {"T": 3, "t": "_BYTE"}, "location": "s32"}, {"n": "s", "t": {"T": 3, "t": "char"}, "location": "s40"}, {"n": "v82", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v81", "t": {"T": 3, "t": "_BYTE"}, "location": "s56"}, {"n": "v80", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s60"}, {"n": "v79", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}, {"n": "v78", "t": {"T": 1, "n": "double", "s": 8}, "location": "s72"}, {"n": "v77", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}, {"n": "v76", "t": {"T": 1, "n": "int", "s": 4}, "location": "s80"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s88"}, {"n": "v74", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s96"}]} {"name": "RTMPPacket_Init", "code": "__int64 __fastcall RTMPPacket_Init ( __int64 @@a1@@ ) { __int64 @@result@@ ; * ( _BYTE * ) @@a1@@ = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; @@result@@ = @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "RtmpPktHandle", "code": "__int64 __fastcall RtmpPktHandle ( __int64 @@a1@@ ) { __int64 @@v2@@ ; __int64 @@v3@@ ; @@v3@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v2@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! ( unsigned int ) RTMP_IsConnected ( @@v3@@ ) ) return Number ; while ( ( unsigned int ) RTMP_ReadPacket ( @@v3@@ , @@v2@@ ) ) { if ( * ( _DWORD * ) ( @@v2@@ + Number ) == * ( _DWORD * ) ( @@v2@@ + Number ) ) RtmpDispatchPkt ( @@a1@@ , @@v2@@ ) ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}