{"name": "l2cap_bframe_out", "code": "__int64 __fastcall l2cap_bframe_out ( __int64 @@a1@@ , int @@a2@@ ) { if ( @@a2@@ > * ( _DWORD * ) ( @@a1@@ + Number ) ) { fprintf ( stderr , String , String , * ( unsigned __int16 * ) ( @@a1@@ + Number ) , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; exit ( Number ) ; } return l2cap_pdu_out ( * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _WORD * ) ( @@a1@@ + Number ) , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]}
{"name": "l2cap_channel_open", "code": "__int64 __fastcall l2cap_channel_open ( __int64 @@a1@@ , int @@a2@@ , unsigned __int16 @@a3@@ ) { int v3 ; int v4 ; unsigned __int16 @@v7@@ ; _BYTE @@v8@@ [ Number ] ; __int64 @@v9@@ ; * ( _DWORD * ) & @@v8@@ [ Number ] = Number ; * ( _QWORD * ) @@v8@@ = ( unsigned int ) l2cap_cid_new ( @@a1@@ ) ; if ( ! * ( _DWORD * ) @@v8@@ ) { @@v7@@ = Number ; goto LABEL_12 ; } @@v9@@ = l2cap_psm ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@a2@@ ) ; if ( @@v9@@ ) { * ( _QWORD * ) & @@v8@@ [ Number ] = g_malloc0 ( Number L ) ; * * ( _QWORD * * ) & @@v8@@ [ Number ] = l2cap_bframe_out ; * ( _QWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = l2cap_bframe_submit ; * ( _QWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = l2cap_bframe_in ; * ( _DWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = Number ; v3 = Number ; if ( * ( int * ) ( @@v9@@ + Number ) >= Number ) v3 = * ( _DWORD * ) ( @@v9@@ + Number ) ; * ( _DWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = v3 ; v4 = Number ; if ( * ( int * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) >= Number ) v4 = * ( _DWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) ; * ( _DWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = v4 ; * ( _WORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = @@a3@@ ; * ( _DWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = Number ; * ( _QWORD * ) ( * ( _QWORD * ) & @@v8@@ [ Number ] + Number L ) = @@a1@@ ; if ( ! ( * ( unsigned int ( __fastcall * * ) ( _QWORD , _QWORD ) ) ( @@v9@@ + Number ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) & @@v8@@ [ Number ] ) ) { * ( _QWORD * ) ( @@a1@@ + Number * ( * ( int * ) @@v8@@ + Number L ) ) = * ( _QWORD * ) & @@v8@@ [ Number ] ; @@v7@@ = Number ; LABEL_12 : l2cap_connection_response ( @@a1@@ , * ( unsigned __int16 * ) @@v8@@ , @@a3@@ , @@v7@@ , Number ) ; return * ( _QWORD * ) & @@v8@@ [ Number ] ; } g_free ( * ( _QWORD * ) & @@v8@@ [ Number ] ) ; l2cap_connection_response ( @@a1@@ , * ( unsigned __int16 * ) @@v8@@ , @@a3@@ , Number , Number ) ; } else { l2cap_connection_response ( @@a1@@ , * ( unsigned __int16 * ) @@v8@@ , @@a3@@ , Number , Number ) ; } return * ( _QWORD * ) & @@v8@@ [ Number ] ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v8", "t": {"T": 2, "n": 12, "s": 1, "t": "_BYTE"}, "location": "s28"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s36"}]} {"name": "l2cap_pdu_out", "code": "__int64 __fastcall l2cap_pdu_out ( __int64 @@a1@@ , unsigned __int16 @@a2@@ , unsigned __int16 @@a3@@ ) { * ( _DWORD * ) ( @@a1@@ + Number ) = @@a3@@ + Number ; * ( _WORD * ) ( @@a1@@ + Number ) = cpu_to_le16 ( @@a2@@ ) ; * ( _WORD * ) ( @@a1@@ + Number ) = cpu_to_le16 ( @@a3@@ ) ; return @@a1@@ + Number ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}]} {"name": "l2cap_init", "code": "unsigned __int64 __fastcall l2cap_init ( __int64 @@a1@@ , __int64 * @@a2@@ , int @@a3@@ ) { __int64 @@v3@@ ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; * ( _QWORD * ) @@a1@@ = @@a2@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@a3@@ ; if ( @@a3@@ ) @@v3@@ = @@a2@@ [ Number ] ; else @@v3@@ = * @@a2@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v3@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = l2cap_cframe_in ; * ( _QWORD * ) ( @@a1@@ + Number ) = l2cap_bframe_out ; * ( _QWORD * ) ( @@a1@@ + Number ) = l2cap_bframe_submit ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a1@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = l2cap_bframe_in ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a1@@ + Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = l2cap_gframe_in ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = l2cap_bframe_in ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a1@@ ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a1@@ + Number ; return __readfsqword ( Number ) ^ @@v5@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int64"}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}