{"name": "process_post_synch", "code": "__int64 __fastcall process_post_synch ( __int64 @@a1@@ , unsigned __int8 @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; __int64 @@v4@@ ; @@v4@@ = process_current ; call_process ( @@a1@@ , @@a2@@ , @@a3@@ ) ; @@result@@ = @@v4@@ ; process_current = @@v4@@ ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "tcpip_icmp6_call", "code": "__int64 __fastcall tcpip_icmp6_call ( char @@a1@@ ) { __int64 @@result@@ ; char @@v2@@ [ Number ] ; @@v2@@ [ Number ] = @@a1@@ ; @@result@@ = uip_icmp6_conns ; if ( uip_icmp6_conns ) @@result@@ = process_post_synch ( uip_icmp6_conns , ( unsigned __int8 ) tcpip_icmp6_event , @@v2@@ ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "char", "s": 1}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v2", "t": {"T": 2, "n": 4, "s": 1, "t": "char"}, "location": "s4"}]} {"name": "tcpip_input", "code": "__int64 tcpip_input ( ) { __int64 @@result@@ ; @@result@@ = process_post_synch ( & tcpip_process , Number L , Number L ) ; uip_len = Number ; uip_ext_len = Number ; return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "tcpip_uipcall", "code": "__int64 tcpip_uipcall ( ) { __int64 * @@v0@@ ; _QWORD * @@v1@@ ; __int64 @@result@@ ; if ( uip_conn ) @@v0@@ = ( __int64 * ) ( uip_conn + Number ) ; else @@v0@@ = ( __int64 * ) ( ( char * ) uip_udp_conn + Number ) ; if ( ( uip_flags & Number ) != Number ) { @@v1@@ = & s ; for ( i_4815 = Number ; ( unsigned __int8 ) i_4815 <= Number ; ++ i_4815 ) { if ( * ( _WORD * ) @@v1@@ == * ( _WORD * ) ( uip_conn + Number ) && @@v1@@ [ Number ] ) { * @@v0@@ = @@v1@@ [ Number ] ; @@v0@@ [ Number ] = Number L ; break ; } @@v1@@ += Number ; } start_periodic_tcp_timer ( ) ; } @@result@@ = * @@v0@@ ; if ( * @@v0@@ ) @@result@@ = process_post_synch ( * @@v0@@ , ( unsigned __int8 ) tcpip_event , @@v0@@ [ Number ] ) ; return @@result@@ ; }", "source": [{"n": "v1", "t": {"T": 3, "t": "_QWORD"}, "location": "r104"}, {"n": "v0", "t": {"T": 3, "t": "__int64"}, "location": "r32"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "process_start", "code": "__int64 __fastcall process_start ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; _QWORD * @@i@@ ; for ( @@i@@ = ( _QWORD * ) process_list ; @@i@@ != ( _QWORD * ) @@a1@@ && @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) ; @@result@@ = ( __int64 ) @@i@@ ; if ( @@i@@ != ( _QWORD * ) @@a1@@ ) { * ( _QWORD * ) @@a1@@ = process_list ; process_list = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; * ( _WORD * ) ( @@a1@@ + Number ) = Number ; @@result@@ = process_post_synch ( @@a1@@ , Number L , @@a2@@ ) ; } 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": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "call_process", "code": "__int64 __fastcall call_process ( __int64 @@a1@@ , unsigned __int8 @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; int @@v4@@ ; @@result@@ = * ( _BYTE * ) ( @@a1@@ + Number ) & Number ; if ( ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) != Number ) { @@result@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@result@@ ) { process_current = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; @@v4@@ = ( * ( char ( __fastcall * * ) ( __int64 , _QWORD , __int64 ) ) ( @@a1@@ + Number ) ) ( @@a1@@ + Number , @@a2@@ , @@a3@@ ) ; if ( @@v4@@ == Number || @@v4@@ == Number || @@a2@@ == Number ) { @@result@@ = exit_process ( @@a1@@ , @@a1@@ ) ; } else { @@result@@ = @@a1@@ ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; } } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "process_post", "code": "__int64 __fastcall process_post ( __int64 @@a1@@ , char @@a2@@ , __int64 @@a3@@ ) { if ( nevents == Number ) return Number L ; snum_2541 = ( fevent + nevents ) & Number ; * ( ( _BYTE * ) & events + Number * ( ( fevent + nevents ) & Number ) ) = @@a2@@ ; * ( ( _QWORD * ) & unk_420CC8 + Number * ( unsigned __int8 ) snum_2541 ) = @@a3@@ ; qword_420CD0 [ Number * ( unsigned __int8 ) snum_2541 ] = @@a1@@ ; ++ nevents ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}]}