{"name": "announcement_heard", "code": "__int64 __fastcall announcement_heard ( __int64 @@a1@@ , unsigned __int16 @@a2@@ , unsigned __int16 @@a3@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = list_head ( announcements ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@a2@@ == * ( _WORD * ) ( @@i@@ + Number ) ) { @@result@@ = * ( _QWORD * ) ( @@i@@ + Number ) ; if ( @@result@@ ) @@result@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 , __int64 , _QWORD , _QWORD ) ) ( @@i@@ + Number ) ) ( @@i@@ , @@a1@@ , @@a2@@ , @@a3@@ ) ; return @@result@@ ; } @@result@@ = list_item_next ( @@i@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}