{"name": "process_thread_serial_line_process", "code": "__int64 __fastcall process_thread_serial_line_process ( _WORD * @@a1@@ , char @@a2@@ ) { int v2 ; __int64 result ; int v4 ; int v5 ; int @@v6@@ ; char @@v7@@ ; @@v7@@ = Number ; v2 = ( unsigned __int16 ) * @@a1@@ ; if ( v2 == Number ) goto LABEL_16 ; if ( ( unsigned __int16 ) * @@a1@@ > Number ) goto LABEL_20 ; if ( ! * @@a1@@ ) { serial_line_event_message = process_alloc_event ( ) ; ptr_2484 = Number ; goto LABEL_7 ; } if ( v2 == Number ) { LABEL_9 : if ( @@v7@@ ) { while ( Number ) { while ( Number ) { LABEL_7 : @@v6@@ = ringbuf_get ( & rxbuf ) ; if ( @@v6@@ == Number ) { @@v7@@ = Number ; * @@a1@@ = Number ; goto LABEL_9 ; } if ( @@v6@@ == Number ) break ; if ( ptr_2484 <= Number ) { v4 = ptr_2484 ++ ; buf_2483 [ v4 ] = @@v6@@ ; } } v5 = ptr_2484 ++ ; buf_2483 [ v5 ] = Number ; process_post ( Number L , serial_line_event_message , ( __int64 ) buf_2483 ) ; if ( ! ( unsigned int ) process_post ( process_current , Number , Number L ) ) { @@v7@@ = Number ; * @@a1@@ = Number ; LABEL_16 : if ( ! @@v7@@ || @@a2@@ != Number ) break ; } ptr_2484 = Number ; } result = Number L ; } else { result = Number L ; } } else { LABEL_20 : * @@a1@@ = Number ; result = Number L ; } return result ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_WORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s1"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}
{"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"}]} {"name": "ringbuf_get", "code": "__int64 __fastcall ringbuf_get ( __int64 @@a1@@ ) { unsigned __int8 @@v2@@ ; if ( ( ( * ( unsigned __int8 * ) ( @@a1@@ + Number ) - * ( unsigned __int8 * ) ( @@a1@@ + Number ) ) & * ( unsigned __int8 * ) ( @@a1@@ + Number ) ) <= Number ) return Number ; @@v2@@ = * ( _BYTE * ) ( * ( _QWORD * ) @@a1@@ + * ( unsigned __int8 * ) ( @@a1@@ + Number ) ) ; * ( _BYTE * ) ( @@a1@@ + Number ) = ( * ( _BYTE * ) ( @@a1@@ + Number ) + Number ) & * ( _BYTE * ) ( @@a1@@ + Number ) ; return @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}]}