{"name": "l2cap_info", "code": "unsigned __int64 __fastcall l2cap_info ( __int64 @@a1@@ , int @@a2@@ ) { int @@v3@@ ; unsigned __int16 @@v4@@ ; __int16 @@v5@@ ; char @@v6@@ ; char @@v7@@ ; unsigned __int64 @@v8@@ ; @@v8@@ = __readfsqword ( Number ) ; @@v3@@ = Number ; @@v4@@ = Number ; if ( @@a2@@ == Number ) { @@v5@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v3@@ = Number ; } else if ( @@a2@@ == Number ) { @@v5@@ = Number ; @@v6@@ = Number ; @@v3@@ = Number ; @@v7@@ = Number ; } else { @@v4@@ = Number ; } l2cap_info_response ( @@a1@@ , @@a2@@ , @@v4@@ , & @@v5@@ , @@v3@@ ) ; return __readfsqword ( Number ) ^ @@v8@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s10"}, {"n": "v5", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s12"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "v7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s9"}]}
{"name": "l2cap_info_response", "code": "unsigned __int64 __fastcall l2cap_info_response ( __int64 @@a1@@ , unsigned __int16 @@a2@@ , unsigned __int16 @@a3@@ , const void * @@a4@@ , int @@a5@@ ) { __int64 @@v9@@ ; unsigned __int64 @@v10@@ ; @@v10@@ = __readfsqword ( Number ) ; @@v9@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ + Number , ( unsigned int ) ( @@a5@@ + Number ) ) ; * ( _BYTE * ) @@v9@@ = Number ; * ( _BYTE * ) ( @@v9@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _WORD * ) ( @@v9@@ + Number ) = cpu_to_le16 ( ( unsigned __int16 ) @@a5@@ + Number ) ; * ( _WORD * ) ( @@v9@@ + Number ) = cpu_to_le16 ( @@a2@@ ) ; * ( _WORD * ) ( @@v9@@ + Number ) = cpu_to_le16 ( @@a3@@ ) ; if ( @@a5@@ ) memcpy ( ( void * ) ( @@v9@@ + Number ) , @@a4@@ , @@a5@@ ) ; ( * ( void ( __fastcall * * ) ( __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ + Number ) ; return __readfsqword ( Number ) ^ @@v10@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "const void"}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v10", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "l2cap_command", "code": "unsigned __int64 __fastcall l2cap_command ( __int64 @@a1@@ , int @@a2@@ , unsigned int @@a3@@ , unsigned __int16 * @@a4@@ , int @@a5@@ ) { int v5 ; _BOOL4 v6 ; unsigned __int16 v7 ; unsigned __int16 v8 ; unsigned __int16 v9 ; int v10 ; char v11 ; int v12 ; __int64 @@v13@@ ; unsigned __int16 v14 ; unsigned int v15 ; unsigned __int16 v16 ; unsigned __int16 v17 ; unsigned __int64 @@v22@@ ; @@v22@@ = __readfsqword ( Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@a3@@ ; if ( @@a3@@ == * ( _DWORD * ) ( @@a1@@ + Number ) ) { * ( _DWORD * ) ( @@a1@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) v5 = Number ; else v5 = * ( _DWORD * ) ( @@a1@@ + Number ) + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = v5 ; } switch ( @@a2@@ ) { case Number : v6 = @@a5@@ != Number && @@a5@@ != Number ; if ( v6 && @@a5@@ != Number ) goto LABEL_33 ; v7 = le16_to_cpu ( * @@a4@@ ) ; fprintf ( stderr , String , String , @@a3@@ , v7 ) ; break ; case Number : if ( @@a5@@ != Number ) goto LABEL_33 ; v8 = le16_to_cpu ( @@a4@@ [ Number ] ) ; v9 = le16_to_cpu ( * @@a4@@ ) ; l2cap_channel_open_req_msg ( @@a1@@ , v9 , v8 ) ; break ; case Number : if ( @@a5@@ != Number ) goto LABEL_33 ; fprintf ( stderr , String , String , @@a3@@ ) ; break ; case Number : if ( @@a5@@ <= Number ) goto LABEL_33 ; v10 = ( unsigned __int16 ) le16_to_cpu ( * @@a4@@ ) ; v11 = le16_to_cpu ( @@a4@@ [ Number ] ) ; l2cap_channel_config_req_msg ( @@a1@@ , v11 & Number , v10 , @@a4@@ + Number , @@a5@@ - Number ) ; break ; case Number : if ( @@a5@@ <= Number ) goto LABEL_33 ; v12 = ( unsigned __int16 ) le16_to_cpu ( * @@a4@@ ) ; @@v13@@ = le16_to_cpu ( @@a4@@ [ Number ] ) & Number ; v14 = le16_to_cpu ( @@a4@@ [ Number ] ) ; if ( ( unsigned int ) l2cap_channel_config_rsp_msg ( @@a1@@ , v14 , @@v13@@ , v12 ) ) fprintf ( stderr , String , String , @@a3@@ ) ; break ; case Number : if ( @@a5@@ != Number ) goto LABEL_33 ; v15 = ( unsigned __int16 ) le16_to_cpu ( @@a4@@ [ Number ] ) ; v16 = le16_to_cpu ( * @@a4@@ ) ; l2cap_channel_close ( @@a1@@ , v16 , v15 ) ; break ; case Number : if ( @@a5@@ != Number ) goto LABEL_33 ; fprintf ( stderr , String , String , @@a3@@ ) ; break ; case Number : l2cap_echo_response ( @@a1@@ , @@a4@@ , @@a5@@ ) ; break ; case Number : fprintf ( stderr , String , String , @@a3@@ ) ; break ; case Number : if ( @@a5@@ != Number ) goto LABEL_33 ; v17 = le16_to_cpu ( * @@a4@@ ) ; l2cap_info ( @@a1@@ , v17 ) ; break ; case Number : if ( @@a5@@ != Number ) goto LABEL_33 ; fprintf ( stderr , String , String , @@a3@@ ) ; break ; default : LABEL_33 : l2cap_command_reject ( @@a1@@ , @@a3@@ , Number , Number L , Number ) ; break ; } return __readfsqword ( Number ) ^ @@v22@@ ; }", "source": [{"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r104"}, {"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "unsigned __int16"}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "v22", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s40"}]}