{"name": "ehci_trace_itd", "code": "unsigned __int64 __fastcall ehci_trace_itd ( __int64 @@a1@@ , unsigned int @@a2@@ , unsigned int * @@a3@@ ) { unsigned __int64 @@v4@@ ; @@v4@@ = __readfsqword ( Number ) ; trace_usb_ehci_itd ( @@a2@@ , * @@a3@@ , @@a3@@ [ Number ] & Number , @@a3@@ [ Number ] & Number , ( @@a3@@ [ Number ] >> Number ) & Number , @@a3@@ [ Number ] & Number ) ; return __readfsqword ( Number ) ^ @@v4@@ ; }", "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": "v4", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "ehci_state_fetchitd", "code": "__int64 __fastcall ehci_state_fetchitd ( _DWORD * @@a1@@ , int @@a2@@ ) { unsigned int @@v3@@ ; unsigned int @@v4@@ [ Number ] ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; if ( @@a2@@ ) _assert_fail ( String , String , Number , String ) ; @@v3@@ = ehci_get_fetch_addr ( ( __int64 ) @@a1@@ , Number ) ; if ( ( int ) get_dwords ( ( __int64 ) @@a1@@ , @@v3@@ & Number , @@v4@@ , Number ) < Number ) return Number ; ehci_trace_itd ( ( __int64 ) @@a1@@ , @@v3@@ , @@v4@@ ) ; if ( ( unsigned int ) ehci_process_itd ( ( __int64 ) @@a1@@ , @@v4@@ , @@v3@@ ) ) return Number ; put_dwords ( ( __int64 ) @@a1@@ , @@v3@@ & Number , @@v4@@ , Number ) ; ehci_set_fetch_addr ( ( __int64 ) @@a1@@ , Number , @@v4@@ [ Number ] ) ; ehci_set_state ( @@a1@@ , Number , Number ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "v4", "t": {"T": 2, "n": 18, "s": 4, "t": "unsigned int"}, "location": "s80"}, {"n": "v3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s84"}]}