{"name": "uip_htons", "code": "__int64 __fastcall uip_htons ( unsigned __int16 @@a1@@ ) { unsigned int @@v1@@ ; @@v1@@ = @@a1@@ ; LOWORD ( @@v1@@ ) = HIBYTE ( @@a1@@ ) ; return ( @@a1@@ << Number ) | @@v1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r56"}, {"n": "v1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r8"}]}
{"name": "uip_chksum", "code": "__int64 __fastcall uip_chksum ( unsigned __int8 * @@a1@@ , unsigned __int16 @@a2@@ ) { unsigned __int16 @@v2@@ ; @@v2@@ = chksum ( Number , @@a1@@ , @@a2@@ ) ; return uip_htons ( @@v2@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r64"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "r8"}]} {"name": "upper_layer_chksum", "code": "__int64 __fastcall upper_layer_chksum ( unsigned __int8 @@a1@@ ) { unsigned __int16 v1 ; __int64 result ; unsigned __int16 @@v3@@ ; unsigned __int16 @@v4@@ ; @@v3@@ = * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) + ( * ( ( unsigned __int8 * ) & uip_aligned_buf + Number ) << Number ) - ( unsigned __int8 ) uip_ext_len ; v1 = chksum ( @@a1@@ + @@v3@@ , byte_422788 , Number ) ; @@v4@@ = chksum ( v1 , ( unsigned __int8 * ) & uip_aligned_buf + ( unsigned __int8 ) uip_ext_len + Number , @@v3@@ ) ; if ( @@v4@@ ) result = uip_htons ( @@v4@@ ) ; else result = Number ; return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r56"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s2"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s4"}]} {"name": "uip_connect", "code": "char * __fastcall uip_connect ( _QWORD * @@a1@@ , __int16 @@a2@@ ) { char * v2 ; __int16 v3 ; char * v4 ; char * @@v5@@ ; __int64 @@v7@@ ; LABEL_1 : if ( ( unsigned __int16 ) ++ lastport > Number ) lastport = Number ; for ( c = Number ; ( unsigned __int8 ) c <= Number ; ++ c ) { v2 = ( char * ) & uip_conns + Number * ( unsigned __int8 ) c ; if ( v2 [ Number ] ) { v3 = * ( ( _WORD * ) v2 + Number ) ; if ( v3 == ( unsigned __int16 ) uip_htons ( ( unsigned __int16 ) lastport ) ) goto LABEL_1 ; } } v4 = Number L ; for ( c = Number ; ( unsigned __int8 ) c <= Number ; ++ c ) { @@v5@@ = ( char * ) & uip_conns + Number * ( unsigned __int8 ) c ; if ( ! @@v5@@ [ Number ] ) { v4 = ( char * ) & uip_conns + Number * ( unsigned __int8 ) c ; break ; } if ( @@v5@@ [ Number ] == Number && ( ! v4 || ( unsigned __int8 ) @@v5@@ [ Number ] > ( unsigned __int8 ) v4 [ Number ] ) ) v4 = ( char * ) & uip_conns + Number * ( unsigned __int8 ) c ; } if ( ! v4 ) return Number L ; v4 [ Number ] = Number ; v4 [ Number ] = iss ; v4 [ Number ] = byte_41F477 ; v4 [ Number ] = byte_41F478 ; v4 [ Number ] = byte_41F479 ; v4 [ Number ] = Number ; v4 [ Number ] = Number ; v4 [ Number ] = Number ; v4 [ Number ] = Number ; * ( ( _WORD * ) v4 + Number ) = Number ; * ( ( _WORD * ) v4 + Number ) = * ( ( _WORD * ) v4 + Number ) ; * ( ( _WORD * ) v4 + Number ) = Number ; v4 [ Number ] = Number ; v4 [ Number ] = Number ; v4 [ Number ] = Number ; v4 [ Number ] = Number ; v4 [ Number ] = Number ; * ( ( _WORD * ) v4 + Number ) = uip_htons ( ( unsigned __int16 ) lastport ) ; * ( ( _WORD * ) v4 + Number ) = @@a2@@ ; @@v7@@ = @@a1@@ [ Number ] ; * ( _QWORD * ) v4 = * @@a1@@ ; * ( ( _QWORD * ) v4 + Number ) = @@v7@@ ; return v4 ; }", "source": [{"n": "v5", "t": {"T": 3, "t": "char"}, "location": "r104"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "r64"}]} {"name": "uip_udp_new", "code": "char * __fastcall uip_udp_new ( _QWORD * @@a1@@ , __int16 @@a2@@ ) { __int16 v2 ; char * v3 ; __int64 @@v5@@ ; LABEL_1 : if ( ( unsigned __int16 ) ++ lastport > Number ) lastport = Number ; for ( c = Number ; ( unsigned __int8 ) c <= Number ; ++ c ) { v2 = word_4229B0 [ Number * ( unsigned __int8 ) c ] ; if ( v2 == ( unsigned __int16 ) uip_htons ( ( unsigned __int16 ) lastport ) ) goto LABEL_1 ; } v3 = Number L ; for ( c = Number ; ( unsigned __int8 ) c <= Number ; ++ c ) { if ( ! word_4229B0 [ Number * ( unsigned __int8 ) c ] ) { v3 = ( char * ) & uip_udp_conns + Number * ( unsigned __int8 ) c ; break ; } } if ( ! v3 ) return Number L ; * ( ( _WORD * ) v3 + Number ) = ( lastport << Number ) | HIBYTE ( lastport ) ; * ( ( _WORD * ) v3 + Number ) = @@a2@@ ; if ( @@a1@@ ) { @@v5@@ = @@a1@@ [ Number ] ; * ( _QWORD * ) v3 = * @@a1@@ ; * ( ( _QWORD * ) v3 + Number ) = @@v5@@ ; } else { memset ( v3 , Number , Number ) ; } v3 [ Number ] = byte_422C44 ; return v3 ; }", "source": [{"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "r64"}]}