{"name": "RtmpSessionHandle", "code": "__int64 __fastcall RtmpSessionHandle ( __int64 @@a1@@ , char @@a2@@ , __int64 @@a3@@ ) { unsigned int @@v5@@ ; if ( ( @@a2@@ & Number ) != Number ) { if ( * ( _DWORD * ) ( @@a3@@ + Number ) ) { @@v5@@ = RtmpPktHandle ( @@a3@@ ) ; } else { @@v5@@ = RtmpSessionHandshake ( @@a3@@ ) ; if ( @@v5@@ ) RtmpSessionHandleFin ( @@a3@@ ) ; } } if ( ( @@a2@@ & Number ) != Number ) RtmpSessionHandleFin ( @@a3@@ ) ; return @@v5@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}
{"name": "RtmpSessionHandshake", "code": "__int64 __fastcall RtmpSessionHandshake ( __int64 @@a1@@ ) { __int64 @@v2@@ ; void * @@v3@@ ; unsigned int @@v4@@ ; @@v4@@ = Number ; @@v3@@ = malloc ( Number ) ; if ( ! @@v3@@ ) return Number ; RTMPPacket_Init ( ( __int64 ) @@v3@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v3@@ ; @@v2@@ = RTMP_Alloc ( ) ; if ( ! @@v2@@ ) return Number ; RTMP_Init ( @@v2@@ ) ; * ( _DWORD * ) ( @@v2@@ + Number ) = * ( _DWORD * ) @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v2@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; if ( ! ( unsigned int ) RTMP_Serve ( @@v2@@ ) ) return ( unsigned int ) Number ; RTMPPacket_Free ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; RTMPPacket_Init ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; SetNonBlocking ( * ( _DWORD * ) @@a1@@ ) ; return @@v4@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 3, "t": "void"}, "location": "s16"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]} {"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"}]} {"name": "RtmpSessionHandleFin", "code": "void __fastcall RtmpSessionHandleFin ( __int64 @@a1@@ ) { RtmpSessionFini ( @@a1@@ ) ; RtmpEPOLLCTXFini ( ( unsigned int * ) ( @@a1@@ - Number ) ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "ListenHandle", "code": "__int64 __fastcall ListenHandle ( int @@a1@@ ) { int * v2 ; char * v3 ; socklen_t @@addr_len@@ ; struct sockaddr @@s@@ ; _QWORD * @@v6@@ ; void * @@ptr@@ ; int @@v8@@ ; unsigned int @@v9@@ ; @@v9@@ = Number ; memset ( & @@s@@ , Number , sizeof ( @@s@@ ) ) ; @@addr_len@@ = Number ; @@v8@@ = accept ( @@a1@@ , & @@s@@ , & @@addr_len@@ ) ; if ( @@v8@@ < Number ) { v2 = _errno_location ( ) ; v3 = strerror ( * v2 ) ; printf ( String , v3 ) ; } else { @@ptr@@ = malloc ( Number ) ; if ( ! @@ptr@@ ) return Number ; * ( ( _DWORD * ) @@ptr@@ + Number ) = Number ; @@v6@@ = malloc ( Number ) ; if ( ! @@v6@@ ) { free ( @@ptr@@ ) ; return Number ; } * ( _DWORD * ) @@ptr@@ = @@v8@@ ; * ( _DWORD * ) @@v6@@ = @@v8@@ ; @@v6@@ [ Number ] = @@ptr@@ ; @@v6@@ [ Number ] = RtmpSessionHandle ; @@v9@@ = epoll_op ( ( unsigned int ) g_iEpollFd , Number L , ( unsigned int ) @@v8@@ , Number L , @@v6@@ ) ; } return @@v9@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "ptr", "t": {"T": 3, "t": "void"}, "location": "s16"}, {"n": "v6", "t": {"T": 3, "t": "_QWORD"}, "location": "s24"}, {"n": "v9", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "s", "t": {"T": 6, "n": "struct sockaddr", "l": [{"T": 4, "n": "sa_family", "t": "sa_family_t", "s": 2}, {"T": 4, "n": "sa_data", "t": "char[14]", "s": 14}]}, "location": "s48"}, {"n": "addr_len", "t": {"T": 1, "n": "socklen_t", "s": 4}, "location": "s52"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}