{"name": "register_encounter", "code": "__int64 __fastcall register_encounter ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; __int16 @@v3@@ ; __int64 i ; __int64 v5 ; @@v3@@ = @@a2@@ ; @@result@@ = list_head ( encounter_list ) ; for ( i = @@result@@ ; i ; i = @@result@@ ) { @@a2@@ = i + Number ; if ( ( unsigned int ) rimeaddr_cmp ( @@a1@@ ) ) { @@result@@ = i ; * ( _WORD * ) ( i + Number ) = @@v3@@ ; break ; } @@result@@ = list_item_next ( i , @@a2@@ ) ; } if ( ! i ) { @@result@@ = memb_alloc ( & encounter_memb , @@a2@@ ) ; v5 = @@result@@ ; if ( @@result@@ ) { rimeaddr_copy ( @@result@@ + Number , @@a1@@ ) ; * ( _WORD * ) ( v5 + Number ) = @@v3@@ ; @@result@@ = list_add ( encounter_list , v5 ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s28"}]}