{"name": "ide_reset", "code": "__int64 __fastcall ide_reset ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; else * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; ide_set_signature ( @@a1@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = ide_dummy_transfer_stop ; ide_dummy_transfer_stop ( ( _QWORD * ) @@a1@@ ) ; @@result@@ = @@a1@@ ; * ( _DWORD * ) ( @@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_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_dummy_transfer_stop", "code": "_BYTE * __fastcall ide_dummy_transfer_stop ( _QWORD * @@a1@@ ) { _BYTE * @@result@@ ; @@a1@@ [ Number ] = @@a1@@ [ Number ] ; @@a1@@ [ Number ] = @@a1@@ [ Number ] ; * ( _BYTE * ) @@a1@@ [ Number ] = Number ; * ( _BYTE * ) ( @@a1@@ [ Number ] + Number L ) = Number ; * ( _BYTE * ) ( @@a1@@ [ Number ] + Number L ) = Number ; @@result@@ = ( _BYTE * ) ( @@a1@@ [ Number ] + Number L ) ; * @@result@@ = Number ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "_BYTE"}, "location": "r8"}]} {"name": "ide_bus_reset", "code": "__int64 __fastcall ide_bus_reset ( __int64 @@a1@@ ) { * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; ide_reset ( @@a1@@ + Number ) ; ide_reset ( @@a1@@ + Number ) ; return ide_clear_hob ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "ide_init_drive", "code": "__int64 __fastcall ide_init_drive ( __int64 @@a1@@ , _QWORD * @@a2@@ , __int64 @@a3@@ ) { const char * @@v3@@ ; __int64 @@v6@@ ; int @@v7@@ ; int @@v8@@ ; int @@v9@@ ; if ( @@a2@@ && * @@a2@@ ) { * ( _QWORD * ) ( @@a1@@ + Number ) = * @@a2@@ ; bdrv_get_geometry ( * ( _QWORD * ) ( @@a1@@ + Number ) , & @@v6@@ ) ; bdrv_guess_geometry ( * ( _QWORD * ) ( @@a1@@ + Number ) , & @@v9@@ , & @@v8@@ , & @@v7@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v9@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v8@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v7@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v6@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; if ( ( unsigned int ) bdrv_get_type_hint ( * ( _QWORD * ) ( @@a1@@ + Number ) ) == Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; bdrv_set_change_cb ( * ( _QWORD * ) ( @@a1@@ + Number ) , cdrom_change_cb , @@a1@@ ) ; } @@v3@@ = ( const char * ) drive_get_serial ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; strncpy ( ( char * ) ( @@a1@@ + Number ) , @@v3@@ , Number ) ; } if ( ! * ( _BYTE * ) ( @@a1@@ + Number ) ) snprintf ( ( char * ) ( @@a1@@ + Number ) , Number , String , * ( unsigned int * ) ( @@a1@@ + Number ) ) ; if ( @@a3@@ ) pstrcpy ( @@a1@@ + Number , Number L , @@a3@@ ) ; else pstrcpy ( @@a1@@ + Number , Number L , String ) ; return ide_reset ( @@a1@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "v3", "t": {"T": 3, "t": "const char"}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}