{"name": "rpl_repair_root", "code": "__int64 __fastcall rpl_repair_root ( unsigned __int8 @@a1@@ ) { __int64 @@v2@@ ; @@v2@@ = rpl_get_instance ( @@a1@@ ) ; if ( ! @@v2@@ || * ( _WORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) != * ( _WORD * ) ( @@v2@@ + Number ) ) return Number L ; ++ * ( _BYTE * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ; ++ * ( _BYTE * ) ( @@v2@@ + Number ) ; rpl_reset_dio_timer ( @@v2@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "rpl_get_instance", "code": "__int64 __fastcall rpl_get_instance ( char @@a1@@ ) { int @@i@@ ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { if ( * ( ( _BYTE * ) & unk_4238F1 + Number * @@i@@ ) && @@a1@@ == * ( ( _BYTE * ) & unk_4238F0 + Number * @@i@@ ) ) return Number L * @@i@@ + Number ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "char", "s": 1}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "rpl_reset_dio_timer", "code": "__int64 __fastcall rpl_reset_dio_timer ( unsigned __int8 * @@a1@@ ) { __int64 @@result@@ ; @@result@@ = @@a1@@ [ Number ] ; if ( @@a1@@ [ Number ] > ( unsigned __int8 ) @@result@@ ) { @@a1@@ [ Number ] = Number ; @@a1@@ [ Number ] = @@a1@@ [ Number ] ; @@result@@ = new_dio_interval ( ( __int64 ) @@a1@@ ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}