{"name": "ehci_attach", "code": "unsigned __int64 __fastcall ehci_attach ( __int64 @@a1@@ ) { const char * @@v1@@ ; __int64 @@v3@@ ; _DWORD * @@v4@@ ; __int64 @@v5@@ ; unsigned __int64 @@v6@@ ; @@v6@@ = __readfsqword ( Number ) ; @@v3@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v4@@ = ( _DWORD * ) ( Number * ( * ( int * ) ( @@a1@@ + Number ) + Number L ) + @@v3@@ + Number ) ; if ( ( * @@v4@@ & Number ) != Number ) @@v1@@ = String ; else @@v1@@ = String ; trace_usb_ehci_port_attach ( * ( unsigned int * ) ( @@a1@@ + Number ) , @@v1@@ , * ( _QWORD * ) @@a1@@ + Number L ) ; if ( ( * @@v4@@ & Number ) != Number ) { @@v5@@ = * ( _QWORD * ) ( @@v3@@ + Number * ( * ( int * ) ( @@a1@@ + Number ) + Number L ) ) ; * ( _QWORD * ) @@v5@@ = * ( _QWORD * ) @@a1@@ ; ( * * ( void ( __fastcall * * * ) ( __int64 ) ) ( @@v5@@ + Number ) ) ( @@v5@@ ) ; } else { * @@v4@@ |= Number ; * @@v4@@ |= Number ; ehci_raise_irq ( @@v3@@ , Number ) ; } return __readfsqword ( Number ) ^ @@v6@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 3, "t": "const char"}, "location": "r8"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v4", "t": {"T": 3, "t": "_DWORD"}, "location": "s32"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "ehci_raise_irq", "code": "unsigned __int64 __fastcall ehci_raise_irq ( __int64 @@a1@@ , int @@a2@@ ) { unsigned __int64 @@v3@@ ; @@v3@@ = __readfsqword ( Number ) ; if ( ( @@a2@@ & Number ) != Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) |= @@a2@@ ; ehci_update_irq ( @@a1@@ ) ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) |= @@a2@@ ; } return __readfsqword ( Number ) ^ @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}