{"name": "SetNonBlocking", "code": "__int64 __fastcall SetNonBlocking ( int @@a1@@ ) { int @@optval@@ ; int @@v3@@ ; @@v3@@ = fcntl ( @@a1@@ , Number ) ; if ( @@v3@@ < Number ) return Number ; @@v3@@ |= Number ; if ( fcntl ( @@a1@@ , Number , ( unsigned int ) @@v3@@ ) < Number ) return Number ; @@optval@@ = Number ; setsockopt ( @@a1@@ , Number , Number , & @@optval@@ , Number ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "optval", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}
{"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"}]}