{"name": "ehci_opreg_read", "code": "__int64 __fastcall ehci_opreg_read ( __int64 @@a1@@ , unsigned __int64 @@a2@@ ) { const char * @@v2@@ ; unsigned int @@v4@@ ; if ( @@a2@@ == Number ) @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number ) & Number ; else @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number * ( ( @@a2@@ >> Number ) + Number ) + Number ) ; @@v2@@ = addr2str ( @@a2@@ ) ; trace_usb_ehci_opreg_read ( * ( unsigned __int16 * ) ( @@a1@@ + Number ) + ( unsigned int ) @@a2@@ , @@v2@@ , @@v4@@ ) ; return @@v4@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r64"}, {"n": "v2", "t": {"T": 3, "t": "const char"}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}]}
{"name": "addr2str", "code": "const char * __fastcall addr2str ( unsigned int @@a1@@ ) { return nr2str ( ( __int64 ) & ehci_mmio_names , Number , @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}]}