{"name": "add_timer", "code": "__int64 __fastcall add_timer ( __int64 @@a1@@ ) { __int64 @@i@@ ; etimer_request_poll ( ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { for ( @@i@@ = timerlist ; @@i@@ ; @@i@@ = * ( _QWORD * ) ( @@i@@ + Number ) ) { if ( @@i@@ == @@a1@@ ) return update_time ( ) ; } } * ( _QWORD * ) ( @@a1@@ + Number ) = process_current ; * ( _QWORD * ) ( @@a1@@ + Number ) = timerlist ; timerlist = @@a1@@ ; return update_time ( ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "update_time", "code": "__int64 update_time ( ) { __int64 @@result@@ ; __int64 @@v1@@ ; _QWORD * @@i@@ ; unsigned __int64 @@v3@@ ; @@result@@ = timerlist ; if ( timerlist ) { @@v1@@ = clock_time ( ) ; @@v3@@ = * ( _QWORD * ) timerlist + * ( _QWORD * ) ( timerlist + Number ) - @@v1@@ ; for ( @@i@@ = * ( _QWORD * * ) ( timerlist + Number ) ; @@i@@ ; @@i@@ = ( _QWORD * ) @@i@@ [ Number ] ) { if ( @@v3@@ > * @@i@@ + @@i@@ [ Number ] - @@v1@@ ) @@v3@@ = * @@i@@ + @@i@@ [ Number ] - @@v1@@ ; } @@result@@ = @@v1@@ + @@v3@@ ; next_expiration = @@v1@@ + @@v3@@ ; } else { next_expiration = Number L ; } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "etimer_set", "code": "__int64 __fastcall etimer_set ( __int64 @@a1@@ , __int64 @@a2@@ ) { timer_set ( @@a1@@ , @@a2@@ ) ; return add_timer ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "etimer_reset", "code": "__int64 __fastcall etimer_reset ( __int64 @@a1@@ ) { timer_reset ( @@a1@@ ) ; return add_timer ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "etimer_restart", "code": "__int64 __fastcall etimer_restart ( __int64 @@a1@@ ) { timer_restart ( @@a1@@ ) ; return add_timer ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}