{"name": "vmxnet_tx_pkt_send", "code": "__int64 __fastcall vmxnet_tx_pkt_send ( __int64 @@a1@@ , __int64 @@a2@@ ) { if ( ! @@a1@@ ) _assert_fail ( String , String , Number , String ) ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) != Number && ( * ( _BYTE * ) @@a1@@ & Number ) != Number ) vmxnet_tx_pkt_do_sw_csum ( @@a1@@ ) ; if ( * ( _BYTE * ) ( @@a1@@ + Number ) && * ( unsigned int * ) ( @@a1@@ + Number ) > ( unsigned __int64 ) ( Number - * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ) { return Number L ; } if ( ! * ( _BYTE * ) ( @@a1@@ + Number ) && * ( _BYTE * ) ( @@a1@@ + Number ) ) return vmxnet_tx_pkt_do_sw_fragmentation ( @@a1@@ , @@a2@@ ) ; qemu_sendv_packet ( @@a2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) , ( unsigned int ) ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}
{"name": "vmxnet_tx_pkt_do_sw_csum", "code": "unsigned __int64 __fastcall vmxnet_tx_pkt_do_sw_csum ( __int64 @@a1@@ ) { int v1 ; __int16 v2 ; __int16 @@v4@@ ; unsigned __int16 @@v5@@ ; unsigned int @@v6@@ ; unsigned int @@v7@@ ; __int64 @@v8@@ ; __int64 @@v9@@ ; __int64 @@v10@@ ; unsigned __int64 @@v11@@ ; @@v11@@ = __readfsqword ( Number ) ; @@v8@@ = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ; @@v4@@ = Number ; @@v6@@ = * ( _DWORD * ) ( @@a1@@ + Number ) + Number ; @@v9@@ = * ( unsigned __int16 * ) ( @@a1@@ + Number ) + * ( unsigned __int16 * ) ( @@a1@@ + Number ) ; iov_from_buf ( @@v8@@ , @@v6@@ , @@v9@@ , & @@v4@@ , Number L ) ; @@v5@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v7@@ = net_checksum_add_iov ( @@v8@@ , @@v6@@ , * ( unsigned __int16 * ) ( @@a1@@ + Number ) , @@v5@@ ) ; @@v10@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; v1 = eth_calc_pseudo_hdr_csum ( @@v10@@ , @@v5@@ ) ; @@v7@@ += v1 ; v2 = net_checksum_finish ( @@v7@@ ) ; @@v4@@ = cpu_to_be16 ( v2 ) ; iov_from_buf ( @@v8@@ , @@v6@@ , @@v9@@ , & @@v4@@ , Number L ) ; return __readfsqword ( Number ) ^ @@v11@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s40"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int16", "s": 2}, "location": "s42"}, {"n": "v4", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s44"}, {"n": "v11", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "vmxnet_tx_pkt_do_sw_fragmentation", "code": "__int64 __fastcall vmxnet_tx_pkt_do_sw_fragmentation ( __int64 @@a1@@ , __int64 @@a2@@ ) { bool @@v3@@ ; int @@v4@@ ; unsigned int @@v5@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; unsigned __int64 @@v8@@ ; __int64 @@v9@@ ; __int64 @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; __int64 @@v13@@ [ Number ] ; @@v13@@ [ Number ] = __readfsqword ( Number ) ; @@v8@@ = Number L ; @@v4@@ = Number ; @@v6@@ = Number L ; @@v7@@ = Number L ; @@v9@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v10@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v11@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v12@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v13@@ [ Number ] = @@v9@@ ; @@v13@@ [ Number ] = @@v10@@ ; @@v13@@ [ Number ] = @@v11@@ ; @@v13@@ [ Number ] = @@v12@@ ; do { @@v8@@ = vmxnet_tx_pkt_fetch_fragment ( @@a1@@ , & @@v4@@ , & @@v6@@ , ( __int64 ) @@v13@@ , ( int * ) & @@v5@@ ) ; @@v3@@ = @@v8@@ + @@v7@@ < * ( unsigned int * ) ( @@a1@@ + Number ) ; eth_setup_ip4_fragmentation ( @@v9@@ , @@v10@@ , @@v11@@ , @@v12@@ , @@v8@@ , @@v7@@ , @@v3@@ ) ; eth_fix_ip4_checksum ( @@v11@@ , @@v12@@ ) ; qemu_sendv_packet ( @@a2@@ , @@v13@@ , @@v5@@ ) ; @@v7@@ += @@v8@@ ; } while ( @@v3@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v13", "t": {"T": 2, "n": 130, "s": 8, "t": "__int64"}, "location": "s1040"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s1048"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s1056"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s1064"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s1072"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s1080"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s1088"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s1096"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s1100"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s1104"}, {"n": "v3", "t": {"T": 1, "n": "bool", "s": 1}, "location": "s1105"}]}