{"name": "uip_nd6_na_input", "code": "__int64 uip_nd6_na_input ( ) { __int64 result ; size_t @@v1@@ ; const void * v2 ; char @@v3@@ ; char @@v4@@ ; char @@v5@@ ; char @@v6@@ ; @@v6@@ = Number ; @@v5@@ = * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) & Number ; @@v4@@ = * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) & Number ; @@v3@@ = * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) & Number ; result = * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) ; if ( ( _BYTE ) result != Number ) goto LABEL_44 ; result = * ( ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) ; if ( ( _BYTE ) result ) goto LABEL_44 ; result = * ( ( unsigned __int8 * ) & unk_422784 + ( unsigned __int8 ) uip_ext_len + Number ) ; if ( ( _BYTE ) result == Number ) goto LABEL_44 ; if ( @@v4@@ ) { result = byte_422798 [ Number ] ; if ( byte_422798 [ Number ] == Number ) goto LABEL_44 ; } nd6_opt_offset = Number ; nd6_opt_llao = Number L ; while ( ( unsigned __int8 ) nd6_opt_offset + ( unsigned __int8 ) uip_ext_len + Number < ( unsigned __int16 ) uip_len ) { result = * ( ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + ( unsigned __int8 ) nd6_opt_offset + Number ) ; if ( ! ( _BYTE ) result ) goto LABEL_44 ; if ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + ( unsigned __int8 ) nd6_opt_offset + Number ) == Number ) nd6_opt_llao = ( unsigned __int8 ) uip_ext_len + Number + ( unsigned __int8 ) nd6_opt_offset + Number L ; nd6_opt_offset += Number * * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + ( unsigned __int8 ) nd6_opt_offset + Number ) ; } addr = uip_ds6_addr_lookup ( ( unsigned __int8 ) uip_ext_len + Number + Number L ) ; result = addr ; if ( addr ) goto LABEL_44 ; nbr = uip_ds6_nbr_lookup ( ( unsigned __int8 ) uip_ext_len + Number + Number L ) ; result = nbr ; if ( ! nbr ) goto LABEL_44 ; if ( nd6_opt_llao ) @@v6@@ = memcmp ( ( const void * ) ( nd6_opt_llao + Number ) , ( const void * ) ( nbr + Number ) , Number ) ; if ( * ( _BYTE * ) ( nbr + Number ) ) { if ( ! @@v3@@ && @@v6@@ ) { result = * ( unsigned __int8 * ) ( nbr + Number ) ; if ( ( _BYTE ) result == Number ) { result = nbr ; * ( _BYTE * ) ( nbr + Number ) = Number ; } goto LABEL_44 ; } if ( @@v3@@ || nd6_opt_llao && ! @@v6@@ || ! nd6_opt_llao ) { if ( nd6_opt_llao ) * ( _QWORD * ) ( nbr + Number ) = * ( _QWORD * ) ( nd6_opt_llao + Number ) ; if ( @@v4@@ ) { * ( _BYTE * ) ( nbr + Number ) = Number ; stimer_set ( nbr + Number , dword_422C4C / Number ) ; } else if ( nd6_opt_llao && @@v6@@ ) { * ( _BYTE * ) ( nbr + Number ) = Number ; } } if ( * ( _BYTE * ) ( nbr + Number ) ) { if ( ! @@v5@@ ) { defrt = uip_ds6_defrt_lookup ( byte_422788 ) ; if ( defrt ) uip_ds6_defrt_rm ( defrt ) ; } } * ( _BYTE * ) ( nbr + Number ) = @@v5@@ ; } else { result = nd6_opt_llao ; if ( ! nd6_opt_llao ) goto LABEL_44 ; * ( _QWORD * ) ( nbr + Number ) = * ( _QWORD * ) ( nd6_opt_llao + Number ) ; if ( @@v4@@ ) { * ( _BYTE * ) ( nbr + Number ) = Number ; * ( _BYTE * ) ( nbr + Number ) = Number ; stimer_set ( nbr + Number , dword_422C4C / Number ) ; } else { * ( _BYTE * ) ( nbr + Number ) = Number ; } * ( _BYTE * ) ( nbr + Number ) = @@v5@@ ; } result = uip_packetqueue_buflen ( nbr + Number ) ; if ( ( _WORD ) result ) { uip_len = uip_packetqueue_buflen ( nbr + Number ) ; @@v1@@ = ( unsigned __int16 ) uip_len ; v2 = ( const void * ) uip_packetqueue_buf ( nbr + Number ) ; memcpy ( & uip_aligned_buf , v2 , @@v1@@ ) ; return uip_packetqueue_free ( nbr + Number ) ; } LABEL_44 : uip_len = Number ; return result ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r32"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s17"}, {"n": "v5", "t": {"T": 1, "n": "char", "s": 1}, "location": "s18"}, {"n": "v4", "t": {"T": 1, "n": "char", "s": 1}, "location": "s19"}, {"n": "v3", "t": {"T": 1, "n": "char", "s": 1}, "location": "s20"}]}
{"name": "uip_process", "code": "__int64 __fastcall uip_process ( char @@a1@@ ) { char * @@v1@@ ; __int64 result ; char v3 ; __int64 v4 ; __int64 v5 ; __int64 v6 ; __int16 v7 ; __int16 v8 ; __int64 v9 ; char @@v10@@ ; @@v1@@ = ( char * ) uip_conn ; if ( @@a1@@ == Number ) goto LABEL_155 ; uip_appdata = ( __int64 ) & unk_4227BC ; uip_sappdata = & unk_4227BC ; if ( @@a1@@ == Number ) { if ( ( * ( _BYTE * ) ( uip_conn + Number ) & Number ) != Number || * ( _WORD * ) ( uip_conn + Number ) ) { result = * ( _BYTE * ) ( uip_conn + Number ) & Number ; if ( ( _DWORD ) result == Number ) { * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; LABEL_203 : * ( ( _BYTE * ) & dword_4227A8 + Number ) |= Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; uip_len = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; LABEL_313 : * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = @@v1@@ [ Number ] ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; dword_4227A8 = * ( ( _DWORD * ) @@v1@@ + Number ) ; v9 = * ( ( _QWORD * ) @@v1@@ + Number ) ; unk_422798 = * ( _QWORD * ) @@v1@@ ; * ( ( _QWORD * ) & unk_422798 + Number ) = v9 ; uip_ds6_select_src ( byte_422788 , & unk_422798 ) ; if ( ( @@v1@@ [ Number ] & Number ) != Number ) { * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; } else { * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; } LABEL_316 : * ( ( _BYTE * ) & uip_aligned_buf + Number ) = byte_422C44 ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = ( unsigned __int16 ) ( uip_len - Number ) >> Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = uip_len - Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _WORD * ) & dword_4227A8 + Number ) = Number ; * ( ( _WORD * ) & dword_4227A8 + Number ) = ~ ( unsigned __int16 ) uip_tcpchksum ( ) ; goto LABEL_317 ; } goto LABEL_319 ; } LABEL_5 : uip_flags = Number ; tcpip_uipcall ( ) ; LABEL_270 : if ( ( uip_flags & Number ) != Number ) { uip_slen = Number ; @@v1@@ [ Number ] = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; LABEL_311 : uip_len = Number ; goto LABEL_312 ; } if ( ( uip_flags & Number ) != Number ) { uip_slen = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_311 ; } if ( uip_slen ) { if ( ( uip_flags & Number ) != Number ) * ( ( _WORD * ) @@v1@@ + Number ) = Number ; if ( * ( ( _WORD * ) @@v1@@ + Number ) ) { uip_slen = * ( ( _WORD * ) @@v1@@ + Number ) ; } else { if ( * ( ( _WORD * ) @@v1@@ + Number ) < ( unsigned __int16 ) uip_slen ) uip_slen = * ( ( _WORD * ) @@v1@@ + Number ) ; * ( ( _WORD * ) @@v1@@ + Number ) = uip_slen ; } } @@v1@@ [ Number ] = Number ; LABEL_283 : uip_appdata = ( __int64 ) uip_sappdata ; if ( uip_slen && * ( ( _WORD * ) @@v1@@ + Number ) ) { uip_len = * ( ( _WORD * ) @@v1@@ + Number ) + Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; LABEL_312 : * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_313 ; } result = uip_flags & Number ; if ( ( uip_flags & Number ) != Number ) { uip_len = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_312 ; } goto LABEL_319 ; } if ( @@a1@@ != Number ) { if ( @@a1@@ != Number ) { result = ( unsigned __int8 ) uip_aligned_buf & Number ; if ( ( _DWORD ) result != Number ) goto LABEL_319 ; result = ( unsigned __int16 ) uip_len ; if ( * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) + ( * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) << Number ) > ( unsigned __int16 ) uip_len ) goto LABEL_319 ; uip_len = ( * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) << Number ) + * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) + Number ; result = byte_422788 [ Number ] ; if ( byte_422788 [ Number ] == Number ) goto LABEL_319 ; uip_next_hdr = ( __int64 ) byte_422786 ; uip_ext_len = Number ; uip_ext_bitmap = Number ; if ( ! byte_422786 [ Number ] ) { uip_ext_bitmap |= Number ; result = ( unsigned __int8 ) ext_hdr_options_process ( ) ; if ( ( unsigned __int8 ) result == Number ) goto LABEL_318 ; if ( ( int ) result <= Number ) { if ( ( _DWORD ) result ) { if ( ( _DWORD ) result == Number ) goto LABEL_319 ; } else { uip_next_hdr = ( unsigned __int8 ) uip_ext_len + Number + Number L ; uip_ext_len += Number * * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) + Number ; } } } if ( uip_ds6_addr_lookup ( & unk_422798 ) || uip_ds6_maddr_lookup ( & unk_422798 ) ) { while ( Number ) { result = * ( unsigned __int8 * ) uip_next_hdr ; switch ( * ( _BYTE * ) uip_next_hdr ) { case Number : if ( ( uip_ext_bitmap & Number ) != Number ) goto LABEL_121 ; uip_ext_bitmap |= Number ; result = ( unsigned __int8 ) ext_hdr_options_process ( ) ; if ( ( unsigned __int8 ) result == Number ) goto LABEL_318 ; if ( ( int ) result > Number ) continue ; if ( ( _DWORD ) result ) { if ( ( _DWORD ) result == Number ) goto LABEL_319 ; } else { uip_next_hdr = ( unsigned __int8 ) uip_ext_len + Number + Number L ; uip_ext_len += Number * * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) + Number ; } continue ; case Number : remove_ext_hdr ( ) ; result = uip_tcpchksum ( ) ; if ( ( _WORD ) result != Number ) goto LABEL_319 ; result = HIWORD ( dword_4227A8 ) ; if ( ! ( _WORD ) result ) goto LABEL_319 ; result = ( unsigned __int16 ) dword_4227A8 ; if ( ! ( _WORD ) dword_4227A8 ) goto LABEL_319 ; @@v1@@ = ( char * ) & uip_conns ; while ( Number ) { if ( @@v1@@ <= byte_422708 ) { if ( ! @@v1@@ [ Number ] || HIWORD ( dword_4227A8 ) != * ( ( _WORD * ) @@v1@@ + Number ) || ( _WORD ) dword_4227A8 != * ( ( _WORD * ) @@v1@@ + Number ) || memcmp ( byte_422788 , @@v1@@ , Number ) ) { @@v1@@ += Number ; continue ; } uip_conn = ( __int64 ) @@v1@@ ; uip_flags = Number ; if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) { @@v1@@ [ Number ] = Number ; uip_flags = Number ; result = tcpip_uipcall ( ) ; goto LABEL_319 ; } c = Number * ( * ( ( _BYTE * ) & dword_4227A8 + Number ) >> Number ) ; uip_len = uip_len - ( unsigned __int8 ) c - Number ; if ( ( ( @@v1@@ [ Number ] & Number ) != Number || ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) && ( ( @@v1@@ [ Number ] & Number ) != Number || ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) && ( uip_len || ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) && ( * ( ( _BYTE * ) & dword_4227A8 + Number ) != @@v1@@ [ Number ] || * ( ( _BYTE * ) & dword_4227A8 + Number ) != @@v1@@ [ Number ] || * ( ( _BYTE * ) & dword_4227A8 + Number ) != @@v1@@ [ Number ] || * ( ( _BYTE * ) & dword_4227A8 + Number ) != @@v1@@ [ Number ] ) ) { if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) { LABEL_202 : * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_203 ; } LABEL_310 : * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_311 ; } if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) { if ( * ( ( _WORD * ) @@v1@@ + Number ) ) { uip_add32 ( @@v1@@ + Number , * ( ( _WORD * ) @@v1@@ + Number ) ) ; if ( * ( ( _BYTE * ) & dword_4227A8 + Number ) == uip_acc32 && * ( ( _BYTE * ) & dword_4227A8 + Number ) == byte_421E63 && * ( ( _BYTE * ) & dword_4227A8 + Number ) == byte_421E64 && * ( ( _BYTE * ) & dword_4227A8 + Number ) == byte_421E65 ) { @@v1@@ [ Number ] = uip_acc32 ; @@v1@@ [ Number ] = byte_421E63 ; @@v1@@ [ Number ] = byte_421E64 ; @@v1@@ [ Number ] = byte_421E65 ; if ( ! @@v1@@ [ Number ] ) { @@v10@@ = @@v1@@ [ Number ] - @@v1@@ [ Number ] - ( ( unsigned __int8 ) @@v1@@ [ Number ] >> Number ) ; @@v1@@ [ Number ] += @@v10@@ ; if ( @@v10@@ < Number ) @@v10@@ = - @@v10@@ ; @@v1@@ [ Number ] += @@v10@@ - ( ( unsigned __int8 ) @@v1@@ [ Number ] >> Number ) ; @@v1@@ [ Number ] = ( ( unsigned __int8 ) @@v1@@ [ Number ] >> Number ) + @@v1@@ [ Number ] ; } uip_flags = Number ; @@v1@@ [ Number ] = @@v1@@ [ Number ] ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; } } } result = @@v1@@ [ Number ] & Number ; switch ( @@v1@@ [ Number ] & Number ) { case Number : if ( ( uip_flags & Number ) != Number ) { @@v1@@ [ Number ] = Number ; uip_flags = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; if ( uip_len ) { uip_flags |= Number ; uip_add_rcv_nxt ( uip_len ) ; } goto LABEL_269 ; } result = * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ; if ( ( _DWORD ) result != Number ) goto LABEL_319 ; goto LABEL_202 ; case Number : if ( ( uip_flags & Number ) != Number && ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) == Number ) { if ( ( * ( _BYTE * ) ( & dword_4227A8 + Number ) & Number ) > Number ) { for ( c = Number ; ; c += * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ) { while ( Number ) { if ( ( unsigned __int8 ) c >= Number * ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) >> Number ) - Number ) ) goto LABEL_251 ; opt = * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ; if ( ! opt ) goto LABEL_251 ; if ( opt != Number ) break ; ++ c ; } if ( opt == Number && * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) == Number ) break ; if ( ! * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ) goto LABEL_251 ; } tmp16 = ( * ( ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) << Number ) | * ( ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ; v8 = tmp16 ; if ( ( unsigned __int16 ) tmp16 > Number ) v8 = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = v8 ; * ( ( _WORD * ) @@v1@@ + Number ) = * ( ( _WORD * ) @@v1@@ + Number ) ; } LABEL_251 : @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; uip_add_rcv_nxt ( Number ) ; uip_flags = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; uip_len = Number ; uip_slen = Number ; tcpip_uipcall ( ) ; goto LABEL_270 ; } uip_flags = Number ; tcpip_uipcall ( ) ; * ( _BYTE * ) ( uip_conn + Number ) = Number ; break ; case Number : if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number && ( @@v1@@ [ Number ] & Number ) == Number ) { result = * ( ( unsigned __int16 * ) @@v1@@ + Number ) ; if ( ( _WORD ) result ) goto LABEL_319 ; uip_add_rcv_nxt ( uip_len + Number ) ; uip_flags |= Number ; if ( uip_len ) uip_flags |= Number ; tcpip_uipcall ( ) ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; LABEL_259 : * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_311 ; } if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) { uip_appdata += ( * ( ( unsigned __int8 * ) & dword_4227A8 + Number ) << Number ) | ( unsigned int ) * ( ( unsigned __int8 * ) & dword_4227A8 + Number ) ; uip_len -= _byteswap_ushort ( * ( ( _WORD * ) & dword_4227A8 + Number ) ) ; } if ( uip_len && ( @@v1@@ [ Number ] & Number ) == Number ) { uip_flags |= Number ; uip_add_rcv_nxt ( uip_len ) ; } tmp16 = ( * ( ( unsigned __int8 * ) & dword_4227A8 + Number ) << Number ) + * ( ( unsigned __int8 * ) & dword_4227A8 + Number ) ; if ( * ( ( _WORD * ) @@v1@@ + Number ) < ( unsigned __int16 ) tmp16 || ! tmp16 ) tmp16 = * ( ( _WORD * ) @@v1@@ + Number ) ; * ( ( _WORD * ) @@v1@@ + Number ) = tmp16 ; result = uip_flags & Number ; if ( ( uip_flags & Number ) != Number ) { LABEL_269 : uip_slen = Number ; tcpip_uipcall ( ) ; goto LABEL_270 ; } goto LABEL_319 ; case Number : if ( uip_len ) uip_add_rcv_nxt ( uip_len ) ; if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) { if ( ( uip_flags & Number ) != Number ) { @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; } else { @@v1@@ [ Number ] = Number ; } uip_add_rcv_nxt ( Number ) ; uip_flags = Number ; tcpip_uipcall ( ) ; goto LABEL_310 ; } result = uip_flags & Number ; if ( ( uip_flags & Number ) != Number ) { @@v1@@ [ Number ] = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; goto LABEL_319 ; } result = ( unsigned __int16 ) uip_len ; if ( uip_len ) goto LABEL_310 ; goto LABEL_319 ; case Number : if ( uip_len ) uip_add_rcv_nxt ( uip_len ) ; if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) { @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; uip_add_rcv_nxt ( Number ) ; uip_flags = Number ; tcpip_uipcall ( ) ; goto LABEL_310 ; } result = ( unsigned __int16 ) uip_len ; if ( uip_len ) goto LABEL_310 ; goto LABEL_319 ; case Number : result = uip_flags & Number ; if ( ( uip_flags & Number ) != Number ) { @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; } goto LABEL_319 ; case Number : goto LABEL_310 ; case Number : result = uip_flags & Number ; if ( ( uip_flags & Number ) != Number ) { @@v1@@ [ Number ] = Number ; uip_flags = Number ; result = tcpip_uipcall ( ) ; } goto LABEL_319 ; default : goto LABEL_319 ; } } else if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) == Number ) { tmp16 = HIWORD ( dword_4227A8 ) ; for ( c = Number ; ( unsigned __int8 ) c <= Number ; ++ c ) { if ( uip_listenports [ ( unsigned __int8 ) c ] == tmp16 ) { @@v1@@ = Number L ; for ( c = Number ; ; ++ c ) { result = ( unsigned __int8 ) c ; if ( ( unsigned __int8 ) c > Number ) break ; if ( ! byte_421EA5 [ Number * ( unsigned __int8 ) c ] ) { result = Number L * ( unsigned __int8 ) c ; @@v1@@ = ( char * ) & uip_conns + result ; break ; } if ( byte_421EA5 [ Number * ( unsigned __int8 ) c ] == Number && ( ! @@v1@@ || byte_421EA5 [ Number * ( unsigned __int8 ) c + Number ] > ( unsigned __int8 ) @@v1@@ [ Number ] ) ) { @@v1@@ = ( char * ) & uip_conns + Number * ( unsigned __int8 ) c ; } } if ( @@v1@@ ) { uip_conn = ( __int64 ) @@v1@@ ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = @@v1@@ [ Number ] ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = HIWORD ( dword_4227A8 ) ; * ( ( _WORD * ) @@v1@@ + Number ) = dword_4227A8 ; v6 = * ( _QWORD * ) & byte_422788 [ Number ] ; * ( _QWORD * ) @@v1@@ = * ( _QWORD * ) byte_422788 ; * ( ( _QWORD * ) @@v1@@ + Number ) = v6 ; @@v1@@ [ Number ] = Number ; @@v1@@ [ Number ] = iss ; @@v1@@ [ Number ] = byte_41F477 ; @@v1@@ [ Number ] = byte_41F478 ; @@v1@@ [ Number ] = byte_41F479 ; * ( ( _WORD * ) @@v1@@ + Number ) = Number ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; @@v1@@ [ Number ] = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; uip_add_rcv_nxt ( Number ) ; if ( ( * ( _BYTE * ) ( & dword_4227A8 + Number ) & Number ) > Number ) { c = Number ; while ( ( unsigned __int8 ) c < Number * ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) >> Number ) - Number ) ) { opt = * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ; if ( ! opt ) break ; if ( opt == Number ) { ++ c ; } else { if ( opt == Number && * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) == Number ) { tmp16 = ( * ( ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) << Number ) | * ( ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ; v7 = tmp16 ; if ( ( unsigned __int16 ) tmp16 > Number ) v7 = Number ; * ( ( _WORD * ) @@v1@@ + Number ) = v7 ; * ( ( _WORD * ) @@v1@@ + Number ) = * ( ( _WORD * ) @@v1@@ + Number ) ; goto LABEL_202 ; } if ( ! * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ) goto LABEL_202 ; c += * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) c + Number ) ; } } } goto LABEL_202 ; } goto LABEL_319 ; } } } break ; } result = * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ; if ( ( * ( ( _BYTE * ) & dword_4227A8 + Number ) & Number ) != Number ) goto LABEL_319 ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; uip_len = Number ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; c = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = c ; c = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = c ; c = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = c ; c = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = * ( ( _BYTE * ) & dword_4227A8 + Number ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = c ; if ( ! ++ * ( ( _BYTE * ) & dword_4227A8 + Number ) && ! ++ * ( ( _BYTE * ) & dword_4227A8 + Number ) && ! ++ * ( ( _BYTE * ) & dword_4227A8 + Number ) ) { ++ * ( ( _BYTE * ) & dword_4227A8 + Number ) ; } tmp16 = dword_4227A8 ; LOWORD ( dword_4227A8 ) = HIWORD ( dword_4227A8 ) ; HIWORD ( dword_4227A8 ) = tmp16 ; v5 = * ( _QWORD * ) & byte_422788 [ Number ] ; unk_422798 = * ( _QWORD * ) byte_422788 ; * ( ( _QWORD * ) & unk_422798 + Number ) = v5 ; uip_ds6_select_src ( byte_422788 , & unk_422798 ) ; goto LABEL_316 ; case Number : remove_ext_hdr ( ) ; uip_len -= Number ; uip_appdata = ( __int64 ) & unk_4227B0 ; if ( * ( ( _WORD * ) & dword_4227A8 + Number ) ) { result = uip_udpchksum ( ) ; if ( ( _WORD ) result != Number ) goto LABEL_319 ; } result = HIWORD ( dword_4227A8 ) ; if ( ! ( _WORD ) result ) goto LABEL_319 ; uip_udp_conn = & uip_udp_conns ; while ( Number ) { result = ( __int64 ) uip_udp_conn ; if ( uip_udp_conn >= & uip_udp_conn ) goto LABEL_319 ; if ( ! * ( ( _WORD * ) uip_udp_conn + Number ) || HIWORD ( dword_4227A8 ) != * ( ( _WORD * ) uip_udp_conn + Number ) || * ( ( _WORD * ) uip_udp_conn + Number ) && ( _WORD ) dword_4227A8 != * ( ( _WORD * ) uip_udp_conn + Number ) || ( * ( _WORD * ) uip_udp_conn || * ( ( _WORD * ) uip_udp_conn + Number ) || * ( ( _WORD * ) uip_udp_conn + Number ) || * ( ( _WORD * ) uip_udp_conn + Number ) || * ( ( _WORD * ) uip_udp_conn + Number ) || * ( ( _WORD * ) uip_udp_conn + Number ) || * ( ( _WORD * ) uip_udp_conn + Number ) || * ( ( _WORD * ) uip_udp_conn + Number ) ) && memcmp ( byte_422788 , uip_udp_conn , Number ) ) { uip_udp_conn = ( char * ) uip_udp_conn + Number ; continue ; } break ; } uip_conn = Number L ; uip_flags = Number ; uip_appdata = ( __int64 ) & unk_4227B0 ; uip_sappdata = & unk_4227B0 ; uip_slen = Number ; tcpip_uipcall ( ) ; goto LABEL_155 ; case Number : if ( ( uip_ext_bitmap & Number ) != Number ) goto LABEL_121 ; uip_ext_bitmap |= Number ; if ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) ) { result = uip_icmp6_error_output ( Number L , Number L , ( unsigned int ) ( unsigned __int8 ) uip_ext_len + Number ) ; goto LABEL_318 ; } uip_next_hdr = ( unsigned __int8 ) uip_ext_len + Number + Number L ; uip_ext_len += Number * * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) + Number ; continue ; case Number : case Number : goto LABEL_319 ; case Number : result = uip_icmp6chksum ( ) ; if ( ( _WORD ) result == Number ) { tcpip_icmp6_call ( * ( ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) ) ; switch ( * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) ) { case Number : uip_icmp6_echo_request_input ( ) ; break ; case Number : uip_len = Number ; break ; case Number : uip_len = Number ; break ; case Number : uip_len = Number ; break ; case Number : uip_nd6_ns_input ( ) ; break ; case Number : uip_nd6_na_input ( ) ; break ; case Number : uip_rpl_input ( ) ; break ; default : uip_len = Number ; break ; } result = ( unsigned __int16 ) uip_len ; if ( uip_len ) goto LABEL_318 ; } goto LABEL_319 ; case Number : if ( ( uip_ext_bitmap & Number ) != Number ) { if ( ( uip_ext_bitmap & Number ) != Number ) { LABEL_121 : result = uip_icmp6_error_output ( Number L , Number L , ( unsigned int ) ( uip_next_hdr - ( _QWORD ) & uip_aligned_buf ) ) ; goto LABEL_318 ; } uip_ext_bitmap |= Number ; } else { uip_ext_bitmap |= Number ; } result = ( unsigned __int8 ) ext_hdr_options_process ( ) ; if ( ( unsigned __int8 ) result == Number ) goto LABEL_318 ; if ( ( int ) result <= Number ) { if ( ( _DWORD ) result ) { if ( ( _DWORD ) result == Number ) goto LABEL_319 ; } else { uip_next_hdr = ( unsigned __int8 ) uip_ext_len + Number + Number L ; uip_ext_len += Number * * ( ( _BYTE * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number ) + Number ; } } continue ; default : goto LABEL_121 ; } } } if ( unk_422798 != Number && ( unk_422798 != Number || * ( ( _BYTE * ) & unk_422798 + Number ) != Number ) && ( byte_422788 [ Number ] != Number || byte_422788 [ Number ] != Number ) && ( * ( _WORD * ) byte_422788 || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] ) && ( unk_422798 || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _BYTE * ) & unk_422798 + Number ) || * ( ( _BYTE * ) & unk_422798 + Number ) != Number ) ) { if ( ( unsigned __int16 ) uip_len <= Number ) { if ( * ( ( _BYTE * ) & uip_aligned_buf + Number ) > Number ) { rpl_update_header_empty ( ) ; result = ( unsigned int ) ( unsigned __int8 ) ( * ( ( _BYTE * ) & uip_aligned_buf + Number ) ) -- - Number ; } else { result = uip_icmp6_error_output ( Number L , Number L , Number L ) ; } } else { result = uip_icmp6_error_output ( Number L , Number L , Number L ) ; } goto LABEL_318 ; } result = byte_422788 [ Number ] ; if ( byte_422788 [ Number ] == Number ) { result = byte_422788 [ Number ] ; if ( ( _BYTE ) result == Number ) { if ( * ( _WORD * ) byte_422788 || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || * ( _WORD * ) & byte_422788 [ Number ] || ( result = * ( unsigned __int16 * ) & byte_422788 [ Number ] , ( _WORD ) result ) ) { if ( unk_422798 || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _WORD * ) & unk_422798 + Number ) || * ( ( _BYTE * ) & unk_422798 + Number ) || ( result = * ( ( unsigned __int8 * ) & unk_422798 + Number ) , ( _BYTE ) result != Number ) ) { result = unk_422798 ; if ( unk_422798 != Number ) { result = uip_ds6_is_addr_onlink ( & unk_422798 ) ; if ( ! ( _BYTE ) result ) { result = uip_icmp6_error_output ( Number L , Number L , Number L ) ; goto LABEL_318 ; } } } } } } goto LABEL_319 ; } result = * ( ( unsigned __int16 * ) uip_udp_conn + Number ) ; if ( ! ( _WORD ) result ) goto LABEL_319 ; uip_conn = Number L ; uip_appdata = ( __int64 ) & unk_4227B0 ; uip_sappdata = & unk_4227B0 ; uip_slen = Number ; uip_len = Number ; uip_flags = Number ; tcpip_uipcall ( ) ; LABEL_155 : result = ( unsigned __int16 ) uip_slen ; if ( uip_slen ) { uip_len = uip_slen + Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = ( unsigned __int16 ) ( uip_slen + Number ) >> Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = uip_len - Number ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = * ( ( _BYTE * ) uip_udp_conn + Number ) ; * ( ( _BYTE * ) & uip_aligned_buf + Number ) = Number ; * ( ( _WORD * ) & dword_4227A8 + Number ) = ( ( uip_slen + Number ) << Number ) | ( ( unsigned __int16 ) ( uip_slen + Number ) >> Number ) ; * ( ( _WORD * ) & dword_4227A8 + Number ) = Number ; dword_4227A8 = * ( ( _DWORD * ) uip_udp_conn + Number ) ; v4 = * ( ( _QWORD * ) uip_udp_conn + Number ) ; unk_422798 = * ( _QWORD * ) uip_udp_conn ; * ( ( _QWORD * ) & unk_422798 + Number ) = v4 ; uip_ds6_select_src ( byte_422788 , & unk_422798 ) ; uip_appdata = ( __int64 ) & unk_4227BC ; * ( ( _WORD * ) & dword_4227A8 + Number ) = ~ ( unsigned __int16 ) uip_udpchksum ( ) ; if ( ! * ( ( _WORD * ) & dword_4227A8 + Number ) ) * ( ( _WORD * ) & dword_4227A8 + Number ) = Number ; LABEL_317 : uip_aligned_buf = Number ; result = ( __int64 ) & uip_aligned_buf ; LABEL_318 : uip_flags = Number ; return result ; } goto LABEL_319 ; } uip_len = Number ; uip_slen = Number ; if ( ! ++ byte_41F479 && ! ++ byte_41F478 && ! ++ byte_41F477 ) ++ iss ; if ( * ( _BYTE * ) ( uip_conn + Number ) == Number || * ( _BYTE * ) ( uip_conn + Number ) == Number ) { ++ * ( _BYTE * ) ( uip_conn + Number ) ; result = ( unsigned __int8 ) @@v1@@ [ Number ] ; if ( ( _BYTE ) result == Number ) @@v1@@ [ Number ] = Number ; goto LABEL_319 ; } result = * ( unsigned __int8 * ) ( uip_conn + Number ) ; if ( ( _BYTE ) result ) { if ( * ( _WORD * ) ( uip_conn + Number ) ) { result = * ( unsigned __int8 * ) ( uip_conn + Number ) ; * ( _BYTE * ) ( uip_conn + Number ) = result - Number ; if ( ! ( _BYTE ) result ) { if ( @@v1@@ [ Number ] != Number && ( @@v1@@ [ Number ] != Number && @@v1@@ [ Number ] != Number || @@v1@@ [ Number ] != Number ) ) { v3 = @@v1@@ [ Number ] ; if ( ( unsigned __int8 ) v3 > Number ) v3 = Number ; @@v1@@ [ Number ] = Number << v3 ; ++ @@v1@@ [ Number ] ; result = @@v1@@ [ Number ] & Number ; switch ( @@v1@@ [ Number ] & Number ) { case Number : goto LABEL_202 ; case Number : * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_203 ; case Number : uip_flags = Number ; tcpip_uipcall ( ) ; goto LABEL_283 ; case Number : case Number : case Number : goto LABEL_259 ; default : goto LABEL_319 ; } } @@v1@@ [ Number ] = Number ; uip_flags = Number ; tcpip_uipcall ( ) ; * ( ( _BYTE * ) & dword_4227A8 + Number ) = Number ; goto LABEL_311 ; } goto LABEL_319 ; } result = * ( _BYTE * ) ( uip_conn + Number ) & Number ; if ( ( _DWORD ) result != Number ) goto LABEL_319 ; goto LABEL_5 ; } LABEL_319 : uip_len = Number ; uip_ext_len = Number ; uip_ext_bitmap = Number ; uip_flags = Number ; return result ; }", "source": [{"n": "v1", "t": {"T": 3, "t": "char"}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "char", "s": 1}, "location": "r56"}, {"n": "v10", "t": {"T": 1, "n": "char", "s": 1}, "location": "s17"}]} {"name": "uip_packetqueue_free", "code": "_QWORD * __fastcall uip_packetqueue_free ( _QWORD * @@a1@@ ) { _QWORD * @@result@@ ; @@result@@ = ( _QWORD * ) * @@a1@@ ; if ( * @@a1@@ ) { ctimer_stop ( * @@a1@@ + Number L ) ; memb_free ( & packets_memb , * @@a1@@ ) ; @@result@@ = @@a1@@ ; * @@a1@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}]} {"name": "uip_packetqueue_buf", "code": "__int64 __fastcall uip_packetqueue_buf ( _QWORD * @@a1@@ ) { __int64 @@result@@ ; if ( * @@a1@@ ) @@result@@ = * @@a1@@ + Number L ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "uip_packetqueue_buflen", "code": "__int64 __fastcall uip_packetqueue_buflen ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( * ( _QWORD * ) @@a1@@ ) @@result@@ = * ( unsigned __int16 * ) ( * ( _QWORD * ) @@a1@@ + Number L ) ; else @@result@@ = Number L ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "uip_ds6_nbr_lookup", "code": "__int64 __fastcall uip_ds6_nbr_lookup ( const void * @@a1@@ ) { __int64 @@v1@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( uip_ds6_nbr_cache , Number , Number , @@a1@@ , Number , & locnbr ) ) return Number L ; @@v1@@ = locnbr ; * ( _QWORD * ) ( @@v1@@ + Number ) = clock_time ( ) ; return locnbr ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}]} {"name": "uip_ds6_addr_lookup", "code": "__int64 __fastcall uip_ds6_addr_lookup ( const void * @@a1@@ ) { __int64 @@result@@ ; if ( ( unsigned __int8 ) uip_ds6_list_loop ( byte_422C58 , Number , Number , @@a1@@ , Number , & locaddr ) ) @@result@@ = Number L ; else @@result@@ = locaddr ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "uip_ds6_defrt_rm", "code": "__int64 __fastcall uip_ds6_defrt_rm ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@i@@ ; @@result@@ = list_head ( defaultrouterlist ) ; for ( @@i@@ = @@result@@ ; @@i@@ ; @@i@@ = @@result@@ ) { if ( @@i@@ == @@a1@@ ) { list_remove ( defaultrouterlist , @@a1@@ ) ; memb_free ( & defaultroutermemb , @@a1@@ ) ; return call_route_callback ( Number , @@a1@@ + Number , @@a1@@ + Number ) ; } @@result@@ = list_item_next ( @@i@@ ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "uip_ds6_defrt_lookup", "code": "__int64 __fastcall uip_ds6_defrt_lookup ( const void * @@a1@@ ) { __int64 @@i@@ ; for ( @@i@@ = list_head ( defaultrouterlist ) ; @@i@@ ; @@i@@ = list_item_next ( @@i@@ ) ) { if ( ! memcmp ( ( const void * ) ( @@i@@ + Number ) , @@a1@@ , Number ) ) return @@i@@ ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "const void"}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "off", "code": "__int64 __fastcall off ( unsigned int @@a1@@ ) { return off_0 ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}]} {"name": "timer_set", "code": "__time_t __fastcall timer_set ( __time_t * @@a1@@ , __time_t @@a2@@ ) { __time_t @@result@@ ; @@a1@@ [ Number ] = @@a2@@ ; @@result@@ = clock_time ( ) ; * @@a1@@ = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__time_t"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r8"}]} {"name": "stimer_set", "code": "__time_t __fastcall stimer_set ( __time_t * @@a1@@ , __time_t @@a2@@ ) { __time_t @@result@@ ; @@a1@@ [ Number ] = @@a2@@ ; @@result@@ = clock_seconds ( ) ; * @@a1@@ = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__time_t"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r8"}]} {"name": "input", "code": "__int64 input ( ) { int v0 ; int @@v1@@ ; __int64 result ; __int64 v3 ; __int64 v4 ; char v5 ; char @@v6@@ ; char @@v7@@ ; unsigned __int16 @@v8@@ ; unsigned __int8 @@v9@@ ; unsigned __int16 @@v10@@ ; @@v10@@ = Number ; @@v9@@ = Number ; @@v8@@ = Number ; @@v7@@ = Number ; @@v6@@ = Number ; uncomp_hdr_len = Number ; rime_hdr_len = Number ; rime_ptr = packetbuf_dataptr ( ) ; if ( timer_expired ( reass_timer ) ) { sicslowpan_len = Number ; processed_ip_in_len = Number ; } v0 = ( ( ( unsigned __int16 ) ( * ( unsigned __int8 * ) rime_ptr << Number ) | * ( ( unsigned __int8 * ) rime_ptr + Number ) ) >> Number ) & Number ; if ( v0 == Number ) { @@v9@@ = Number ; @@v10@@ = _byteswap_ushort ( * ( _WORD * ) rime_ptr ) & Number ; @@v8@@ = _byteswap_ushort ( * ( ( _WORD * ) rime_ptr + Number ) ) ; rime_hdr_len += Number ; @@v7@@ = Number ; } else if ( v0 == Number ) { @@v9@@ = * ( ( _BYTE * ) rime_ptr + Number ) ; @@v8@@ = _byteswap_ushort ( * ( ( _WORD * ) rime_ptr + Number ) ) ; @@v10@@ = _byteswap_ushort ( * ( _WORD * ) rime_ptr ) & Number ; rime_hdr_len += Number ; @@v1@@ = ( unsigned __int16 ) processed_ip_in_len ; if ( @@v1@@ + ( unsigned __int16 ) packetbuf_datalen ( ) - ( unsigned __int8 ) rime_hdr_len >= @@v10@@ ) @@v6@@ = Number ; } result = ( unsigned __int16 ) processed_ip_in_len ; if ( processed_ip_in_len ) { if ( @@v10@@ ) { result = ( unsigned __int16 ) sicslowpan_len ; if ( @@v10@@ != sicslowpan_len ) return result ; result = ( unsigned __int16 ) reass_tag ; if ( @@v8@@ != reass_tag ) return result ; v3 = packetbuf_addr ( Number ) ; result = rimeaddr_cmp ( ( __int64 ) & frag_sender , v3 ) ; if ( ! ( _DWORD ) result ) return result ; } if ( ! @@v10@@ ) return result ; } else if ( @@v10@@ && @@v10@@ <= Number ) { sicslowpan_len = @@v10@@ ; reass_tag = @@v8@@ ; timer_set ( reass_timer , Number L ) ; v4 = packetbuf_addr ( Number ) ; rimeaddr_copy ( ( __int64 ) & frag_sender , v4 ) ; } if ( rime_hdr_len != Number ) { if ( ( * ( ( _BYTE * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len ) & Number ) == Number ) { uncompress_hdr_hc06 ( @@v10@@ ) ; } else { result = * ( ( unsigned __int8 * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len ) ; if ( ( _DWORD ) result != Number ) return result ; memcpy ( & sicslowpan_aligned_buf , ( char * ) rime_ptr + ( unsigned __int8 ) ++ rime_hdr_len , Number ) ; rime_hdr_len += Number ; uncomp_hdr_len += Number ; } } result = packetbuf_datalen ( ) ; if ( ( unsigned __int16 ) result >= ( unsigned __int8 ) rime_hdr_len ) { v5 = packetbuf_datalen ( ) ; rime_payload_len = v5 - rime_hdr_len ; memcpy ( ( char * ) & sicslowpan_aligned_buf + ( unsigned __int8 ) uncomp_hdr_len + ( unsigned __int64 ) ( unsigned __int16 ) ( Number * @@v9@@ ) , ( char * ) rime_ptr + ( unsigned __int8 ) rime_hdr_len , ( unsigned __int8 ) ( v5 - rime_hdr_len ) ) ; if ( @@v10@@ ) { if ( @@v7@@ ) processed_ip_in_len += ( unsigned __int8 ) uncomp_hdr_len ; if ( @@v6@@ ) processed_ip_in_len = @@v10@@ ; else processed_ip_in_len += ( unsigned __int8 ) rime_payload_len ; } else { sicslowpan_len = ( unsigned __int8 ) rime_payload_len + ( unsigned __int8 ) uncomp_hdr_len ; } if ( ! processed_ip_in_len || ( result = ( unsigned __int16 ) sicslowpan_len , processed_ip_in_len == sicslowpan_len ) ) { memcpy ( & uip_aligned_buf , & sicslowpan_aligned_buf , ( unsigned __int16 ) sicslowpan_len ) ; uip_len = sicslowpan_len ; sicslowpan_len = Number ; processed_ip_in_len = Number ; neighbor_info_packet_received ( ) ; if ( callback ) { set_packet_attrs ( ) ; ( * ( void ( * * ) ( void ) ) ( callback + Number ) ) ( ) ; } result = tcpip_input ( ) ; } } return result ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r32"}, {"n": "v10", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s18"}, {"n": "v9", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s19"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s22"}, {"n": "v7", "t": {"T": 1, "n": "char", "s": 1}, "location": "s23"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s24"}]}