{"name": "ide_data_readl", "code": "__int64 __fastcall ide_data_readl ( __int64 @@a1@@ ) { unsigned int @@v2@@ ; unsigned int * @@v3@@ ; __int64 @@v4@@ ; @@v4@@ = idebus_active_if ( @@a1@@ ) ; if ( ( * ( _BYTE * ) ( @@v4@@ + Number ) & Number ) == Number ) return Number L ; @@v3@@ = * ( unsigned int * * ) ( @@v4@@ + Number ) ; @@v2@@ = cpu_to_le32 ( * @@v3@@ ) ; * ( _QWORD * ) ( @@v4@@ + Number ) = @@v3@@ + Number ; if ( ( unsigned __int64 ) ( @@v3@@ + Number ) >= * ( _QWORD * ) ( @@v4@@ + Number ) ) ( * ( void ( __fastcall * * ) ( __int64 ) ) ( @@v4@@ + Number ) ) ( @@v4@@ ) ; return @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v3", "t": {"T": 3, "t": "unsigned int"}, "location": "s24"}, {"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}]}
{"name": "cpu_to_le32", "code": "__int64 __fastcall cpu_to_le32 ( unsigned int @@a1@@ ) { return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "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"}]}