{"name": "process_is_running", "code": "_BOOL8 __fastcall process_is_running ( __int64 @@a1@@ ) { return * ( _BYTE * ) ( @@a1@@ + Number ) != Number ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}
{"name": "exit_process", "code": "__int64 __fastcall exit_process ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; _QWORD * i ; _QWORD * j ; _QWORD * k ; __int64 @@v6@@ ; @@result@@ = process_current ; @@v6@@ = process_current ; for ( i = ( _QWORD * ) process_list ; i != ( _QWORD * ) @@a1@@ && i ; i = ( _QWORD * ) * i ) ; if ( i ) { if ( ( unsigned int ) process_is_running ( @@a1@@ ) ) { * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; for ( j = ( _QWORD * ) process_list ; j ; j = ( _QWORD * ) * j ) { if ( ( _QWORD * ) @@a1@@ != j ) call_process ( j , Number L , @@a1@@ ) ; } if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { if ( @@a1@@ != @@a2@@ ) { process_current = @@a1@@ ; ( * ( void ( __fastcall * * ) ( __int64 , __int64 , _QWORD ) ) ( @@a1@@ + Number ) ) ( @@a1@@ + Number , Number L , Number L ) ; } } } if ( @@a1@@ == process_list ) { process_list = * ( _QWORD * ) process_list ; } else { for ( k = ( _QWORD * ) process_list ; k ; k = ( _QWORD * ) * k ) { if ( @@a1@@ == * k ) { * k = * ( _QWORD * ) @@a1@@ ; break ; } } } @@result@@ = @@v6@@ ; process_current = @@v6@@ ; } 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": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}]}