{"name": "set_rpl_opt", "code": "int * __fastcall set_rpl_opt ( int @@a1@@ ) { int * @@result@@ ; unsigned __int8 @@v2@@ ; memmove ( ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number , ( char * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number , ( unsigned __int16 ) uip_len - Number ) ; memset ( ( void * ) ( ( unsigned __int8 ) uip_ext_len + Number + Number L ) , Number , Number ) ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = * ( ( _BYTE * ) & uip_aligned_buf + Number ) ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned int ) ( unsigned __int8 ) uip_ext_len + @@a1@@ + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned int ) ( unsigned __int8 ) uip_ext_len + @@a1@@ + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned int ) ( unsigned __int8 ) uip_ext_len + @@a1@@ + Number ) = Number ; * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned int ) ( unsigned __int8 ) uip_ext_len + @@a1@@ + Number ) = Number ; * ( _WORD * ) ( ( char * ) & unk_422784 + ( unsigned int ) ( unsigned __int8 ) uip_ext_len + @@a1@@ + Number ) = Number ; uip_len += Number ; @@v2@@ = * ( ( _BYTE * ) & uip_aligned_buf + Number ) ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = @@v2@@ + * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) + Number ; @@result@@ = ( int * ) * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) ; if ( @@v2@@ > ( unsigned __int8 ) @@result@@ ) { @@result@@ = & uip_aligned_buf ; ++ * ( ( _BYTE * ) & uip_aligned_buf + Number ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "int"}, "location": "r8"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}]}
{"name": "rpl_update_header_empty", "code": "__int64 rpl_update_header_empty ( ) { __int64 @@result@@ ; __int64 @@v1@@ ; unsigned int @@v2@@ ; @@v2@@ = ( unsigned __int8 ) uip_ext_len ; uip_ext_len = Number ; if ( * ( ( _BYTE * ) & uip_aligned_buf + Number ) ) { if ( ( unsigned __int16 ) uip_len <= Number ) { set_rpl_opt ( Number ) ; @@result@@ = @@v2@@ + Number ; uip_ext_len = @@v2@@ + Number ; } else { @@result@@ = @@v2@@ ; uip_ext_len = @@v2@@ ; } } else if ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) ) { @@result@@ = @@v2@@ ; uip_ext_len = @@v2@@ ; } else { @@result@@ = rpl_get_instance ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) ) ; @@v1@@ = @@result@@ ; if ( @@result@@ ) { @@result@@ = * ( unsigned __int8 * ) ( @@result@@ + Number ) ; if ( ( _BYTE ) @@result@@ ) { @@result@@ = * ( unsigned __int8 * ) ( * ( _QWORD * ) ( @@v1@@ + Number ) + Number L ) ; if ( ( _BYTE ) @@result@@ ) { if ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) == Number ) { * ( _WORD * ) ( ( char * ) & unk_422784 + ( unsigned __int8 ) uip_ext_len + Number ) = * ( _WORD * ) ( * ( _QWORD * ) ( @@v1@@ + Number ) + Number L ) ; if ( uip_ds6_route_lookup ( byte_422798 ) ) * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) |= Number ; else * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) &= Number ; @@result@@ = @@v2@@ ; uip_ext_len = @@v2@@ ; } else { @@result@@ = @@v2@@ ; uip_ext_len = @@v2@@ ; } } } } } return @@result@@ ; }", "source": [{"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}