{"name": "platform_bus_map_irq", "code": "__int64 __fastcall platform_bus_map_irq ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ ) { int @@v5@@ ; int @@v6@@ ; @@v5@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( ( unsigned __int8 ) sysbus_is_irq_connected ( @@a2@@ , @@a3@@ ) ) return Number L ; @@v6@@ = find_first_zero_bit ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v5@@ ) ; if ( @@v6@@ >= @@v5@@ ) hw_error ( String ) ; set_bit ( @@v6@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; sysbus_connect_irq ( @@a2@@ , @@a3@@ , * ( _QWORD * ) ( Number L * @@v6@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ) ) ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}
{"name": "set_bit", "code": "_QWORD * __fastcall set_bit ( unsigned __int64 @@a1@@ , __int64 @@a2@@ ) { _QWORD * @@result@@ ; @@result@@ = ( _QWORD * ) ( Number * ( @@a1@@ >> Number ) + @@a2@@ ) ; * @@result@@ |= Number L << ( @@a1@@ & Number ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}]} {"name": "find_first_zero_bit", "code": "__int64 __fastcall find_first_zero_bit ( __int64 @@a1@@ , __int64 @@a2@@ ) { return find_next_zero_bit ( @@a1@@ , @@a2@@ , 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"}]} {"name": "link_sysbus_device", "code": "__int64 __fastcall link_sysbus_device ( __int64 @@a1@@ , __int64 @@a2@@ ) { char @@i@@ ; unsigned int v4 ; unsigned int j ; v4 = Number ; for ( @@i@@ = sysbus_has_irq ( @@a1@@ , Number L ) ; @@i@@ ; @@i@@ = sysbus_has_irq ( @@a1@@ , v4 ) ) platform_bus_map_irq ( @@a2@@ , @@a1@@ , v4 ++ ) ; for ( j = Number ; ( unsigned __int8 ) sysbus_has_mmio ( @@a1@@ , j ) ; ++ j ) platform_bus_map_mmio ( @@a2@@ , @@a1@@ , j ) ; 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": "i", "t": {"T": 1, "n": "char", "s": 1}, "location": "r8"}]}