{"name": "cd_data_to_raw", "code": "void * __fastcall cd_data_to_raw ( _BYTE * @@a1@@ , int @@a2@@ ) { * @@a1@@ = Number ; memset ( @@a1@@ + Number , Number , Number ) ; @@a1@@ [ Number ] = Number ; lba_to_msf ( @@a1@@ + Number , @@a2@@ ) ; @@a1@@ [ Number ] = Number ; return memset ( @@a1@@ + Number , Number , Number ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]}
{"name": "lba_to_msf", "code": "_BYTE * __fastcall lba_to_msf ( _BYTE * @@a1@@ , int @@a2@@ ) { _BYTE * @@result@@ ; * @@a1@@ = ( char ) ( @@a2@@ - Number ) / Number ; @@a1@@ [ Number ] = ( char ) ( ( @@a2@@ + Number ) / Number ) % Number ; @@result@@ = @@a1@@ + Number ; @@a1@@ [ Number ] = ( @@a2@@ + Number ) % Number ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "_BYTE"}, "location": "r8"}]} {"name": "cd_read_sector", "code": "__int64 __fastcall cd_read_sector ( __int64 @@a1@@ , int @@a2@@ , _BYTE * @@a3@@ , int @@a4@@ ) { int @@v6@@ ; if ( @@a4@@ == Number ) { @@v6@@ = bdrv_read ( @@a1@@ , Number L * @@a2@@ , @@a3@@ , Number L ) ; } else if ( @@a4@@ == Number ) { @@v6@@ = bdrv_read ( @@a1@@ , Number L * @@a2@@ , @@a3@@ + Number , Number L ) ; if ( @@v6@@ < Number ) return ( unsigned int ) @@v6@@ ; cd_data_to_raw ( @@a3@@ , @@a2@@ ) ; } else { @@v6@@ = Number ; } return ( unsigned int ) @@v6@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_BYTE"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "ide_atapi_cmd_read_dma_cb", "code": "__int64 __fastcall ide_atapi_cmd_read_dma_cb ( __int64 @@a1@@ , int @@a2@@ ) { __int64 @@result@@ ; __int64 @@v3@@ ; int v4 ; int v5 ; int @@v6@@ ; @@v3@@ = bmdma_active_if ( @@a1@@ ) ; if ( @@a2@@ < Number ) { ide_atapi_io_error ( @@v3@@ , @@a2@@ ) ; LABEL_12 : * ( _BYTE * ) ( @@a1@@ + Number ) &= Number ; * ( _BYTE * ) ( @@a1@@ + Number ) |= Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@result@@ = @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; return @@result@@ ; } if ( * ( int * ) ( @@v3@@ + Number ) > Number ) { if ( * ( _DWORD * ) ( @@v3@@ + Number ) != Number ) { if ( * ( _DWORD * ) ( @@v3@@ + Number ) == Number ) { v4 = Number ; cd_data_to_raw ( * ( _BYTE * * ) ( @@v3@@ + Number ) , * ( _DWORD * ) ( @@v3@@ + Number ) ) ; } else { v4 = * ( int * ) ( @@v3@@ + Number ) >> Number ; } * ( _DWORD * ) ( @@v3@@ + Number ) += v4 ; } * ( _DWORD * ) ( @@v3@@ + Number ) -= * ( _DWORD * ) ( @@v3@@ + Number ) ; if ( ! ( unsigned int ) dma_buf_rw ( ( _DWORD * ) @@a1@@ , Number ) ) goto LABEL_12 ; } if ( * ( int * ) ( @@v3@@ + Number ) <= Number ) { * ( _BYTE * ) ( @@v3@@ + Number ) = Number ; * ( _DWORD * ) ( @@v3@@ + Number ) = * ( _DWORD * ) ( @@v3@@ + Number ) & Number | Number ; ide_set_irq ( * ( _QWORD * ) @@v3@@ ) ; goto LABEL_12 ; } * ( _DWORD * ) ( @@v3@@ + Number ) = Number ; if ( * ( _DWORD * ) ( @@v3@@ + Number ) == Number ) { v5 = Number ; * ( _DWORD * ) ( @@v3@@ + Number ) = * ( _DWORD * ) ( @@v3@@ + Number ) ; @@v6@@ = Number ; } else { v5 = * ( int * ) ( @@v3@@ + Number ) >> Number ; if ( v5 > Number ) v5 = Number ; * ( _DWORD * ) ( @@v3@@ + Number ) = v5 << Number ; @@v6@@ = Number ; } * ( _QWORD * ) ( @@a1@@ + Number ) = @@v6@@ + * ( _QWORD * ) ( @@v3@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v5 << Number ; qemu_iovec_init_external ( @@a1@@ + Number , @@a1@@ + Number , Number L ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = bdrv_aio_readv ( * ( _QWORD * ) ( @@v3@@ + Number ) , Number L * * ( int * ) ( @@v3@@ + Number ) , @@a1@@ + Number , ( unsigned int ) ( Number * v5 ) , ide_atapi_cmd_read_dma_cb , @@a1@@ ) ; @@result@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! @@result@@ ) { ide_atapi_cmd_error ( @@v3@@ , Number , Number ) ; goto LABEL_12 ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]}