{"name": "ide_data_writew", "code": "unsigned __int64 __fastcall ide_data_writew ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned __int16 @@a3@@ ) { unsigned __int64 @@result@@ ; _WORD * @@v5@@ ; __int64 @@v6@@ ; @@v6@@ = idebus_active_if ( @@a1@@ ) ; @@result@@ = * ( _BYTE * ) ( @@v6@@ + Number ) & Number ; if ( ( * ( _BYTE * ) ( @@v6@@ + Number ) & Number ) != Number ) { @@v5@@ = * ( _WORD * * ) ( @@v6@@ + Number ) ; * @@v5@@ = le16_to_cpu ( @@a3@@ ) ; * ( _QWORD * ) ( @@v6@@ + Number ) = @@v5@@ + Number ; @@result@@ = * ( _QWORD * ) ( @@v6@@ + Number ) ; if ( ( unsigned __int64 ) ( @@v5@@ + Number ) >= @@result@@ ) @@result@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 ) ) ( @@v6@@ + Number ) ) ( @@v6@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "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": "result", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v5", "t": {"T": 3, "t": "_WORD"}, "location": "s24"}]}
{"name": "le16_to_cpu", "code": "__int64 __fastcall le16_to_cpu ( unsigned __int16 @@a1@@ ) { return @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "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"}]}