{"name": "parse_drive", "code": "__int64 __fastcall parse_drive ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 * @@a3@@ ) { __int64 @@v5@@ ; @@v5@@ = bdrv_find ( @@a2@@ ) ; if ( ! @@v5@@ ) return Number L ; if ( ( int ) bdrv_attach_dev ( @@v5@@ , @@a1@@ ) < Number ) return Number L ; * @@a3@@ = @@v5@@ ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "__int64"}, "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": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "set_drive", "code": "unsigned __int64 __fastcall set_drive ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { return set_pointer ( @@a1@@ , @@a2@@ , @@a3@@ , ( __int64 ( __fastcall * ) ( __int64 , _BYTE * , _QWORD * ) ) parse_drive , @@a4@@ , @@a5@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}]}