{"name": "hostapd_pwd_auth_fail", "code": "__int64 __fastcall hostapd_pwd_auth_fail ( __int64 @@a1@@ , __int64 @@a2@@ ) { wpa_printf ( Number L , String ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; memcpy ( ( void * ) ( @@a1@@ + Number ) , ( const void * ) ( @@a2@@ + Number ) , Number ) ; return hostapd_wps_for_each ( ( _QWORD * * ) @@a1@@ , ( __int64 ) wps_pwd_auth_fail , @@a2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}
{"name": "wps_for_each", "code": "__int64 __fastcall wps_for_each ( __int64 @@a1@@ , __int64 @@a2@@ ) { unsigned int @@v3@@ ; __int64 @@v4@@ ; unsigned __int64 @@i@@ ; if ( ! @@a1@@ ) return Number L ; for ( @@i@@ = Number L ; @@i@@ < * ( _QWORD * ) ( @@a1@@ + Number ) ; ++ @@i@@ ) { @@v4@@ = * ( _QWORD * ) ( Number * @@i@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( @@v4@@ == * ( _QWORD * ) ( @@a2@@ + Number ) || ! * ( _DWORD * ) ( * ( _QWORD * ) ( @@v4@@ + Number ) + Number L ) && ! * ( _DWORD * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) + Number L ) ) { @@v3@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 , _QWORD ) ) @@a2@@ ) ( @@v4@@ , * ( _QWORD * ) ( @@a2@@ + Number ) ) ; if ( @@v3@@ ) return @@v3@@ ; } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "hostapd_wps_for_each", "code": "__int64 __fastcall hostapd_wps_for_each ( _QWORD * * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; __int64 @@v4@@ [ Number ] ; _QWORD * @@v5@@ ; @@v5@@ = * @@a1@@ ; @@v4@@ [ Number ] = @@a2@@ ; @@v4@@ [ Number ] = @@a3@@ ; @@v4@@ [ Number ] = ( __int64 ) @@a1@@ ; if ( * @@v5@@ && * ( _QWORD * ) ( * @@v5@@ + Number L ) ) @@result@@ = ( * ( __int64 ( __fastcall * * ) ( _QWORD , __int64 ( __fastcall * ) ( __int64 , __int64 ) , __int64 * ) ) ( * @@v5@@ + Number L ) ) ( * @@v5@@ , wps_for_each , @@v4@@ ) ; else @@result@@ = wps_for_each ( ( __int64 ) @@v5@@ , ( __int64 ) @@v4@@ ) ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD *"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 2, "n": 3, "s": 8, "t": "__int64"}, "location": "s32"}, {"n": "v5", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "wps_pwd_auth_fail", "code": "__int64 __fastcall wps_pwd_auth_fail ( __int64 @@a1@@ , _DWORD * @@a2@@ ) { if ( ! * @@a2@@ || ! * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) || ! * ( _QWORD * ) ( @@a1@@ + Number ) ) return Number L ; wpa_printf ( Number L , String , ( unsigned int ) ++ * ( _DWORD * ) ( @@a1@@ + Number ) , ( unsigned int ) ++ * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) <= Number ) return Number L ; wpa_msg ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number ; wps_registrar_update_ie ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; if ( * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) || * ( _DWORD * ) ( @@a1@@ + Number ) <= Number ) { if ( ! * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) <= Number && ! ( * ( _DWORD * ) ( @@a1@@ + Number ) % Number ) ) * ( _DWORD * ) ( @@a1@@ + Number ) *= Number ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } wpa_printf ( Number L , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; eloop_cancel_timeout ( hostapd_wps_reenable_ap_pin , @@a1@@ , Number L ) ; eloop_register_timeout ( * ( unsigned int * ) ( @@a1@@ + Number ) , Number L , hostapd_wps_reenable_ap_pin , @@a1@@ , Number L ) ; } } else { eloop_cancel_timeout ( hostapd_wps_reenable_ap_pin , @@a1@@ , Number L ) ; wpa_printf ( Number L , String ) ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}]} {"name": "hostapd_wps_event_cb", "code": "__int64 __fastcall hostapd_wps_event_cb ( __int64 @@a1@@ , unsigned int @@a2@@ , unsigned int * @@a3@@ ) { __int64 @@result@@ ; switch ( @@a2@@ ) { case Number : wpa_msg ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; break ; case Number : hostapd_wps_event_fail ( @@a1@@ , @@a3@@ ) ; break ; case Number : hostapd_wps_event_success ( ( _DWORD * ) @@a1@@ , @@a3@@ ) ; wpa_msg ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; break ; case Number : hostapd_pwd_auth_fail ( @@a1@@ , ( __int64 ) @@a3@@ ) ; break ; case Number : hostapd_wps_event_pbc_overlap ( @@a1@@ ) ; wpa_msg ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; break ; case Number : hostapd_wps_event_pbc_timeout ( @@a1@@ ) ; wpa_msg ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; break ; case Number : hostapd_wps_event_pbc_active ( @@a1@@ ) ; wpa_msg ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; break ; case Number : hostapd_wps_event_pbc_disable ( @@a1@@ ) ; wpa_msg ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , String ) ; break ; case Number : hostapd_wps_ap_pin_success ( ( _QWORD * * ) @@a1@@ ) ; break ; default : break ; } @@result@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@result@@ ) @@result@@ = ( * ( __int64 ( __fastcall * * ) ( _QWORD , _QWORD , unsigned int * ) ) ( @@a1@@ + Number ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@a2@@ , @@a3@@ ) ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "unsigned int"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}