{"name": "ide_cmd_write", "code": "__int64 __fastcall ide_cmd_write ( __int64 @@a1@@ , __int64 @@a2@@ , char @@a3@@ ) { __int64 @@result@@ ; __int64 v5 ; __int64 v6 ; int j ; int i ; if ( ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) != Number || ( @@a3@@ & Number ) == Number ) { if ( ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) != Number && ( @@a3@@ & Number ) == Number ) { for ( i = Number ; i <= Number ; ++ i ) { v6 = Number L * i + Number + @@a1@@ ; if ( * ( _DWORD * ) ( v6 + Number ) ) * ( _BYTE * ) ( v6 + Number ) = Number ; else * ( _BYTE * ) ( v6 + Number ) = Number ; ide_set_signature ( v6 ) ; } } } else { for ( j = Number ; j <= Number ; ++ j ) { v5 = Number L * j + Number + @@a1@@ ; * ( _BYTE * ) ( v5 + Number ) = Number ; * ( _BYTE * ) ( v5 + Number ) = Number ; } } @@result@@ = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = @@a3@@ ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "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": "__int64", "s": 8}, "location": "r8"}]}
{"name": "ide_set_signature", "code": "__int64 __fastcall ide_set_signature ( __int64 @@a1@@ ) { __int64 @@result@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) &= Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@result@@ = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; } else if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@result@@ = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; } else { * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@result@@ = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"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"}]}