{"name": "dc21140_enable_rom", "code": "__int64 __fastcall dc21140_enable_rom ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ , int @@a4@@ ) { __int64 @@result@@ ; __int64 @@v6@@ ; @@v6@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( * ( _DWORD * ) ( @@v6@@ + Number ) ) fakepci_mem_unmap ( @@a3@@ & Number , Number , @@a1@@ , Number L , Number L ) ; if ( @@a2@@ ) fakepci_mem_map ( @@a4@@ & Number , Number , @@a1@@ , Number L , Number L ) ; @@result@@ = @@v6@@ ; * ( _DWORD * ) ( @@v6@@ + Number ) = @@a2@@ ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "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": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "dc21140_configwrite", "code": "__int64 __fastcall dc21140_configwrite ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ ) { __int64 @@result@@ ; int v4 ; int v5 ; int @@v6@@ ; int @@v7@@ ; int @@v8@@ ; _DWORD * @@v9@@ ; @@v9@@ = * ( _DWORD * * ) ( @@a1@@ + Number ) ; @@v8@@ = dc21140_config_write_mask [ ( int ) ( ( unsigned __int64 ) @@a2@@ >> Number ) ] ; @@v7@@ = @@v9@@ [ ( int ) ( ( unsigned __int64 ) @@a2@@ >> Number ) ] ; @@v6@@ = @@v7@@ & ~ @@v8@@ | @@v8@@ & @@a3@@ ; @@result@@ = ( __int64 ) @@v9@@ ; @@v9@@ [ ( int ) ( ( unsigned __int64 ) @@a2@@ >> Number ) ] = @@v6@@ ; if ( @@a2@@ == Number ) { v5 = ( @@v9@@ [ Number ] & Number ) != Number && ( @@v6@@ & Number ) != Number ; @@result@@ = dc21140_enable_rom ( @@a1@@ , v5 , @@v7@@ , @@v6@@ ) ; } else if ( @@a2@@ <= Number ) { if ( @@a2@@ == Number ) { @@result@@ = dc21140_enable_mem_csr ( @@a1@@ , @@v9@@ [ Number ] & Number , @@v7@@ , @@v6@@ ) ; } else if ( @@a2@@ <= Number ) { if ( @@a2@@ == Number ) { v4 = ( @@v6@@ & Number ) != Number && ( @@v9@@ [ Number ] & Number ) != Number ; dc21140_enable_rom ( @@a1@@ , v4 , @@v9@@ [ Number ] , @@v9@@ [ Number ] ) ; dc21140_enable_io_csr ( @@a1@@ , @@v6@@ & Number , @@v9@@ [ Number ] , @@v9@@ [ Number ] ) ; @@result@@ = dc21140_enable_mem_csr ( @@a1@@ , @@v6@@ & Number , @@v9@@ [ Number ] , @@v9@@ [ Number ] ) ; } else if ( @@a2@@ == Number ) { @@result@@ = dc21140_enable_io_csr ( @@a1@@ , @@v9@@ [ Number ] & Number , @@v7@@ , @@v6@@ ) ; } } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "v9", "t": {"T": 3, "t": "_DWORD"}, "location": "s8"}]}