{"name": "process_thread_ctimer_process", "code": "__int64 __fastcall process_thread_ctimer_process ( _WORD * @@a1@@ , char @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; __int64 @@v5@@ ; char @@v6@@ ; _QWORD * i ; __int64 j ; @@v6@@ = Number ; if ( ! * @@a1@@ ) { for ( i = ( _QWORD * ) list_head ( ( __int64 ) ctimer_list ) ; i ; i = ( _QWORD * ) * i ) etimer_set ( ( __int64 ) ( i + Number ) , i [ Number ] ) ; initialized_0 = Number ; goto LABEL_8 ; } if ( * @@a1@@ == Number ) { while ( @@v6@@ && @@a2@@ == Number ) { for ( j = list_head ( ( __int64 ) ctimer_list ) ; j ; j = * ( _QWORD * ) j ) { if ( @@a3@@ == j + Number ) { list_remove ( ctimer_list , ( _QWORD * ) j ) ; @@v5@@ = process_current ; process_current = * ( _QWORD * ) ( j + Number ) ; if ( * ( _QWORD * ) ( j + Number ) ) ( * ( void ( __fastcall * * ) ( _QWORD ) ) ( j + Number ) ) ( * ( _QWORD * ) ( j + Number ) ) ; process_current = @@v5@@ ; break ; } } LABEL_8 : @@v6@@ = Number ; * @@a1@@ = Number ; } @@result@@ = Number L ; } else { * @@a1@@ = Number ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_WORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s9"}]}
{"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": "timer_set", "code": "__time_t __fastcall timer_set ( __time_t * @@a1@@ , __time_t @@a2@@ ) { __time_t @@result@@ ; @@a1@@ [ Number ] = @@a2@@ ; @@result@@ = clock_time ( ) ; * @@a1@@ = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__time_t"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r8"}]} {"name": "list_head", "code": "__int64 __fastcall list_head ( __int64 @@a1@@ ) { return * ( _QWORD * ) @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "list_remove", "code": "_QWORD * __fastcall list_remove ( _QWORD * @@a1@@ , _QWORD * @@a2@@ ) { _QWORD * @@result@@ ; _QWORD * @@v3@@ ; _QWORD * @@i@@ ; @@result@@ = ( _QWORD * ) * @@a1@@ ; if ( * @@a1@@ ) { @@v3@@ = Number L ; @@result@@ = ( _QWORD * ) * @@a1@@ ; for ( @@i@@ = ( _QWORD * ) * @@a1@@ ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { if ( @@i@@ == @@a2@@ ) { if ( @@v3@@ ) * @@v3@@ = * @@i@@ ; else * @@a1@@ = * @@i@@ ; @@result@@ = @@i@@ ; * @@i@@ = Number L ; return @@result@@ ; } @@v3@@ = @@i@@ ; @@result@@ = ( _QWORD * ) * @@i@@ ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}, {"n": "v3", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}