{"name": "ide_ioport_read", "code": "__int64 __fastcall ide_ioport_read ( _QWORD * @@a1@@ , char @@a2@@ ) { __int64 @@v3@@ ; unsigned int @@v4@@ ; @@v3@@ = idebus_active_if ( ( __int64 ) @@a1@@ ) ; switch ( @@a2@@ & Number ) { case Number : @@v4@@ = Number ; break ; case Number : if ( ( @@a1@@ [ Number ] || @@a1@@ [ Number ] ) && ( ( _QWORD * ) @@v3@@ == @@a1@@ + Number || * ( _QWORD * ) ( @@v3@@ + Number ) ) ) @@v4@@ = * ( unsigned __int8 * ) ( @@v3@@ + Number ) ; else @@v4@@ = Number ; break ; case Number : if ( @@a1@@ [ Number ] || @@a1@@ [ Number ] ) @@v4@@ = ( unsigned __int8 ) * ( _DWORD * ) ( @@v3@@ + Number ) ; else @@v4@@ = Number ; break ; case Number : if ( @@a1@@ [ Number ] || @@a1@@ [ Number ] ) @@v4@@ = * ( unsigned __int8 * ) ( @@v3@@ + Number ) ; else @@v4@@ = Number ; break ; case Number : if ( @@a1@@ [ Number ] || @@a1@@ [ Number ] ) @@v4@@ = * ( unsigned __int8 * ) ( @@v3@@ + Number ) ; else @@v4@@ = Number ; break ; case Number : if ( @@a1@@ [ Number ] || @@a1@@ [ Number ] ) @@v4@@ = * ( unsigned __int8 * ) ( @@v3@@ + Number ) ; else @@v4@@ = Number ; break ; case Number : if ( @@a1@@ [ Number ] || @@a1@@ [ Number ] ) @@v4@@ = * ( unsigned __int8 * ) ( @@v3@@ + Number ) ; else @@v4@@ = Number ; break ; default : if ( ( @@a1@@ [ Number ] || @@a1@@ [ Number ] ) && ( ( _QWORD * ) @@v3@@ == @@a1@@ + Number || * ( _QWORD * ) ( @@v3@@ + Number ) ) ) @@v4@@ = * ( unsigned __int8 * ) ( @@v3@@ + Number ) ; else @@v4@@ = Number ; qemu_irq_lower ( @@a1@@ [ Number ] ) ; break ; } return @@v4@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}
{"name": "qemu_irq_lower", "code": "__int64 __fastcall qemu_irq_lower ( __int64 @@a1@@ ) { return qemu_set_irq ( @@a1@@ , Number L ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "idebus_active_if", "code": "__int64 __fastcall idebus_active_if ( __int64 @@a1@@ ) { return @@a1@@ + Number + Number L * * ( unsigned __int8 * ) ( @@a1@@ + Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "ide_init_ioport", "code": "__int64 __fastcall ide_init_ioport ( __int64 @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ ) { register_ioport_write ( @@a2@@ , Number L , Number L , ide_ioport_write , @@a1@@ ) ; register_ioport_read ( @@a2@@ , Number L , Number L , ide_ioport_read , @@a1@@ ) ; if ( @@a3@@ ) { register_ioport_read ( @@a3@@ , Number L , Number L , ide_status_read , @@a1@@ ) ; register_ioport_write ( @@a3@@ , Number L , Number L , ide_cmd_write , @@a1@@ ) ; } register_ioport_write ( @@a2@@ , Number L , Number L , ide_data_writew , @@a1@@ ) ; register_ioport_read ( @@a2@@ , Number L , Number L , ide_data_readw , @@a1@@ ) ; register_ioport_write ( @@a2@@ , Number L , Number L , ide_data_writel , @@a1@@ ) ; return register_ioport_read ( @@a2@@ , Number L , Number L , ide_data_readl , @@a1@@ ) ; }", "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": "unsigned int", "s": 4}, "location": "r64"}]}