{"name": "crc16_add", "code": "__int64 __fastcall crc16_add ( unsigned __int8 @@a1@@ , unsigned __int16 @@a2@@ ) { unsigned __int16 @@v3@@ ; @@v3@@ = ( ( unsigned __int16 ) ( ( Number * ( ( ( unsigned __int16 ) ( @@a1@@ ^ @@a2@@ ) >> Number ) | ( ( @@a1@@ ^ @@a2@@ ) << Number ) ) ) & Number ^ ( ( ( unsigned __int16 ) ( @@a1@@ ^ @@a2@@ ) >> Number ) | ( ( @@a1@@ ^ @@a2@@ ) << Number ) ) ) >> Number ) ^ ( Number * ( ( ( unsigned __int16 ) ( @@a1@@ ^ @@a2@@ ) >> Number ) | ( ( @@a1@@ ^ @@a2@@ ) << Number ) ) ) & Number ^ ( ( ( unsigned __int16 ) ( @@a1@@ ^ @@a2@@ ) >> Number ) | ( ( @@a1@@ ^ @@a2@@ ) << Number ) ) ; return ( ( int ) @@v3@@ >> Number ) & Number ^ @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s8"}]}
{"name": "crc16_data", "code": "__int64 __fastcall crc16_data ( unsigned __int8 * @@a1@@ , int @@a2@@ , unsigned __int16 @@a3@@ ) { int @@i@@ ; for ( @@i@@ = Number ; @@i@@ < @@a2@@ ; ++ @@i@@ ) @@a3@@ = crc16_add ( * @@a1@@ ++ , @@a3@@ ) ; return @@a3@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]}