DF-3526 / disasm.fix26.txt
ng_iface.ko: file format elf64-x86-64 Disassembly of section .text: 0000000000000000 <ng_iface_mod_event>: 0: cmp $0x2,%esi 3: sbb %eax,%eax 5: not %eax 7: and $0x2d,%eax a: retq b: nopl 0x0(%rax,%rax,1) 0000000000000010 <ng_iface_disconnect>: 10: mov 0x38(%rdi),%rax 14: mov 0x30(%rax),%rax 18: cmp 0x18(%rax),%rdi 1c: je 64 <ng_iface_disconnect+0x54> 1e: cmp 0x20(%rax),%rdi 22: je 70 <ng_iface_disconnect+0x60> 24: cmp 0x28(%rax),%rdi 28: je 50 <ng_iface_disconnect+0x40> 2a: mov $0x3,%edx 2f: cmp 0x30(%rax),%rdi 33: je 55 <ng_iface_disconnect+0x45> 35: push %rbp 36: mov $0x0,%rdi 3d: xor %eax,%eax 3f: mov %rsp,%rbp 42: callq 47 <ng_iface_disconnect+0x37> 47: nopw 0x0(%rax,%rax,1) 50: mov $0x2,%edx 55: and $0x3,%edx 58: movq $0x0,0x18(%rax,%rdx,8) 61: xor %eax,%eax 63: retq 64: xor %edx,%edx 66: jmp 58 <ng_iface_disconnect+0x48> 68: nopl 0x0(%rax,%rax,1) 70: mov $0x1,%edx 75: jmp 55 <ng_iface_disconnect+0x45> 77: nopw 0x0(%rax,%rax,1) 0000000000000080 <ng_iface_bpftap>: 80: push %rbp 81: movzbl %dl,%edx 84: mov %rsp,%rbp 87: push %r12 89: push %rbx 8a: sub $0x10,%rsp 8e: cmpq $0x0,0x60(%rdi) 93: mov %edx,-0x14(%rbp) 96: je c2 <ng_iface_bpftap+0x42> 98: mov %rdi,%rbx 9b: mov %rsi,%r12 9e: callq a3 <ng_iface_bpftap+0x23> a3: mov 0x60(%rbx),%rdi a7: test %rdi,%rdi aa: je bd <ng_iface_bpftap+0x3d> ac: mov $0x4,%ecx b1: lea -0x14(%rbp),%rdx b5: mov %r12,%rsi b8: callq bd <ng_iface_bpftap+0x3d> bd: callq c2 <ng_iface_bpftap+0x42> c2: add $0x10,%rsp c6: pop %rbx c7: pop %r12 c9: pop %rbp ca: retq cb: nopl 0x0(%rax,%rax,1) 00000000000000d0 <ng_iface_rcvdata>: d0: push %rbp d1: mov %rsp,%rbp d4: push %r12 d6: mov $0x0,%r12 dd: push %rbx de: sub $0x10,%rsp e2: mov 0x38(%rdi),%rax e6: mov 0x30(%rax),%rax ea: cmp 0x18(%rax),%rdi ee: je 111 <ng_iface_rcvdata+0x41> f0: cmp 0x20(%rax),%rdi f4: je 201 <ng_iface_rcvdata+0x131> fa: cmp 0x28(%rax),%rdi fe: je 220 <ng_iface_rcvdata+0x150> 104: xor %r12d,%r12d 107: cmp 0x30(%rax),%rdi 10b: je 228 <ng_iface_rcvdata+0x158> 111: mov (%rax),%rdi 114: mov 0x60(%rsi),%rbx 118: movq $0x0,0x60(%rsi) 120: orq $0x10,0x40(%rsi) 125: testb $0x1,0x6c(%rdi) 129: je 1e0 <ng_iface_rcvdata+0x110> 12f: mov %gs:0x0,%rax 138: mov 0x48(%rax),%eax 13b: mov %rbx,%rsi 13e: shl $0x7,%rax 142: add 0x388(%rdi),%rax 149: addq $0x1,(%rax) 14d: movslq 0xb8(%rbx),%rdx 154: mov %gs:0x0,%rax 15d: mov 0x48(%rax),%eax 160: shl $0x7,%rax 164: add 0x388(%rdi),%rax 16b: add %rdx,0x28(%rax) 16f: mov %rdi,0xa0(%rbx) 176: movzbl (%r12),%edx 17b: callq 80 <ng_iface_bpftap> 180: movzbl (%r12),%eax 185: cmp $0x2,%al 187: je 1d0 <ng_iface_rcvdata+0x100> 189: cmp $0x1c,%al 18b: jne 1b0 <ng_iface_rcvdata+0xe0> 18d: mov $0x1c,%edi 192: andl $0xffefffff,0x1c(%rbx) 199: mov %rbx,%rsi 19c: callq 1a1 <ng_iface_rcvdata+0xd1> 1a1: xor %eax,%eax 1a3: add $0x10,%rsp 1a7: pop %rbx 1a8: pop %r12 1aa: pop %rbp 1ab: retq 1ac: nopl 0x0(%rax) 1b0: mov %rbx,%rdi 1b3: callq 1b8 <ng_iface_rcvdata+0xe8> 1b8: add $0x10,%rsp 1bc: mov $0x2f,%eax 1c1: pop %rbx 1c2: pop %r12 1c4: pop %rbp 1c5: retq 1c6: nopw %cs:0x0(%rax,%rax,1) 1d0: mov $0x2,%edi 1d5: jmp 192 <ng_iface_rcvdata+0xc2> 1d7: nopw 0x0(%rax,%rax,1) 1e0: mov $0x32,%eax 1e5: test %rbx,%rbx 1e8: je 1a3 <ng_iface_rcvdata+0xd3> 1ea: mov %rbx,%rdi 1ed: mov %eax,-0x14(%rbp) 1f0: callq 1f5 <ng_iface_rcvdata+0x125> 1f5: mov -0x14(%rbp),%eax 1f8: add $0x10,%rsp 1fc: pop %rbx 1fd: pop %r12 1ff: pop %rbp 200: retq 201: mov $0x1,%r12d 207: shl $0x4,%r12 20b: add $0x0,%r12 212: jmpq 111 <ng_iface_rcvdata+0x41> 217: nopw 0x0(%rax,%rax,1) 220: mov $0x2,%r12d 226: jmp 207 <ng_iface_rcvdata+0x137> 228: mov $0x3,%r12d 22e: jmp 207 <ng_iface_rcvdata+0x137> 0000000000000230 <ng_iface_newhook>: 230: push %rbp 231: mov %rsp,%rbp 234: push %r15 236: mov %rdi,%r15 239: mov $0x0,%rdi 240: push %r14 242: mov %rsi,%r14 245: push %r13 247: mov %rdx,%r13 24a: push %r12 24c: mov %r13,%rsi 24f: push %rbx 250: xor %ebx,%ebx 252: movslq %ebx,%r12 255: sub $0x8,%rsp 259: callq 25e <ng_iface_newhook+0x2e> 25e: test %eax,%eax 260: je 289 <ng_iface_newhook+0x59> 262: add $0x1,%rbx 266: cmp $0x4,%rbx 26a: je 2b0 <ng_iface_newhook+0x80> 26c: mov %rbx,%rax 26f: mov %r13,%rsi 272: movslq %ebx,%r12 275: shl $0x4,%rax 279: mov 0x0(%rax),%rdi 280: callq 285 <ng_iface_newhook+0x55> 285: test %eax,%eax 287: jne 262 <ng_iface_newhook+0x32> 289: mov 0x30(%r15),%rdx 28d: lea (%rdx,%r12,8),%rdx 291: cmpq $0x0,0x18(%rdx) 296: jne 2c4 <ng_iface_newhook+0x94> 298: mov %r14,0x18(%rdx) 29c: orl $0x10,0x28(%r14) 2a1: add $0x8,%rsp 2a5: pop %rbx 2a6: pop %r12 2a8: pop %r13 2aa: pop %r14 2ac: pop %r15 2ae: pop %rbp 2af: retq 2b0: add $0x8,%rsp 2b4: mov $0x2e,%eax 2b9: pop %rbx 2ba: pop %r12 2bc: pop %r13 2be: pop %r14 2c0: pop %r15 2c2: pop %rbp 2c3: retq 2c4: add $0x8,%rsp 2c8: mov $0x38,%eax 2cd: pop %rbx 2ce: pop %r12 2d0: pop %r13 2d2: pop %r14 2d4: pop %r15 2d6: pop %rbp 2d7: retq 2d8: nopl 0x0(%rax,%rax,1) 00000000000002e0 <ng_iface_shutdown>: 2e0: push %rbp 2e1: mov %rsp,%rbp 2e4: push %r12 2e6: mov %rdi,%r12 2e9: push %rbx 2ea: mov 0x30(%rdi),%rbx 2ee: mov (%rbx),%rdi 2f1: callq 2f6 <ng_iface_shutdown+0x16> 2f6: mov (%rbx),%rdi 2f9: callq 2fe <ng_iface_shutdown+0x1e> 2fe: mov (%rbx),%rdi 301: mov $0x0,%rsi 308: callq 30d <ng_iface_shutdown+0x2d> 30d: movslq 0x8(%rbx),%rax 311: mov %rbx,%rdi 314: mov 0x0(%rip),%rsi # 31b <ng_iface_shutdown+0x3b> 31b: mov $0x1,%edx 320: movq $0x0,(%rbx) 327: mov %rax,%rcx 32a: sar $0x5,%rax 32e: shl %cl,%edx 330: or %edx,(%rsi,%rax,4) 333: mov $0x0,%rsi 33a: callq 33f <ng_iface_shutdown+0x5f> 33f: mov %r12,%rdi 342: movq $0x0,0x30(%r12) 34b: callq 350 <ng_iface_shutdown+0x70> 350: pop %rbx 351: xor %eax,%eax 353: pop %r12 355: pop %rbp 356: retq 357: nopw 0x0(%rax,%rax,1) 0000000000000360 <ng_iface_rcvmsg>: 360: push %rbp 361: mov %rsp,%rbp 364: push %r15 366: push %r14 368: mov %rdi,%r14 36b: push %r13 36d: push %r12 36f: push %rbx 370: mov %rsi,%rbx 373: sub $0x18,%rsp 377: mov 0x30(%rdi),%r15 37b: mov 0x60(%rsi),%r12 37f: mov (%r15),%r8 382: movq $0x0,0x60(%rsi) 38a: mov 0x14(%r12),%eax 38f: cmp $0x334d599b,%eax 394: je 3d4 <ng_iface_rcvmsg+0x74> 396: cmp $0x420f81ef,%eax 39b: je 440 <ng_iface_rcvmsg+0xe0> 3a1: cmp $0x32c37e5d,%eax 3a6: je 420 <ng_iface_rcvmsg+0xc0> 3a8: mov $0x16,%r13d 3ae: orq $0x10,0x40(%rbx) 3b3: mov $0x0,%rsi 3ba: mov %r12,%rdi 3bd: callq 3c2 <ng_iface_rcvmsg+0x62> 3c2: add $0x18,%rsp 3c6: mov %r13d,%eax 3c9: pop %rbx 3ca: pop %r12 3cc: pop %r13 3ce: pop %r14 3d0: pop %r15 3d2: pop %rbp 3d3: retq 3d4: cmpl $0x2,0x8(%r12) 3da: mov $0x16,%r13d 3e0: jne 3ae <ng_iface_rcvmsg+0x4e> 3e2: mov %gs:0x0,%rax 3eb: mov 0x48(%rax),%eax 3ee: shl $0x4,%rax 3f2: add 0x48(%r8),%rax 3f6: mov (%rax),%rax 3f9: test %rax,%rax 3fc: je 418 <ng_iface_rcvmsg+0xb8> 3fe: mov 0x8(%rax),%r15 402: mov (%r15),%rdx 405: cmpb $0x2,0x1(%rdx) 409: je 640 <ng_iface_rcvmsg+0x2e0> 40f: mov 0x10(%rax),%rax 413: test %rax,%rax 416: jne 3fe <ng_iface_rcvmsg+0x9e> 418: mov $0x31,%r13d 41e: jmp 3ae <ng_iface_rcvmsg+0x4e> 420: mov 0x8(%r12),%eax 425: cmp $0x20,%eax 428: je 600 <ng_iface_rcvmsg+0x2a0> 42e: cmp $0x21,%eax 431: je 5f0 <ng_iface_rcvmsg+0x290> 437: xor %r13d,%r13d 43a: jmpq 3ae <ng_iface_rcvmsg+0x4e> 43f: nop 440: mov 0x8(%r12),%eax 445: cmp $0x3,%eax 448: ja 511 <ng_iface_rcvmsg+0x1b1> 44e: cmp $0x2,%eax 451: jae 610 <ng_iface_rcvmsg+0x2b0> 457: cmp $0x1,%eax 45a: jne 3a8 <ng_iface_rcvmsg+0x48> 460: mov $0x402,%edx 465: mov $0x0,%rsi 46c: mov $0x48,%edi 471: mov %r8,-0x38(%rbp) 475: callq 47a <ng_iface_rcvmsg+0x11a> 47a: mov -0x38(%rbp),%r8 47e: test %rax,%rax 481: mov %rax,%r13 484: je 6f0 <ng_iface_rcvmsg+0x390> 48a: lea 0x8(%rax),%rdi 48e: mov %rax,%rcx 491: mov %r8,-0x38(%rbp) 495: lea 0x18(%r12),%rsi 49a: and $0xfffffffffffffff8,%rdi 49e: movq $0x0,(%rax) 4a5: mov $0x20,%edx 4aa: sub %rdi,%rcx 4ad: movq $0x0,0x40(%rax) 4b5: xor %eax,%eax 4b7: add $0x48,%ecx 4ba: shr $0x3,%ecx 4bd: rep stos %rax,%es:(%rdi) 4c0: movb $0x8,0x0(%r13) 4c5: lea 0x18(%r13),%rdi 4c9: movl $0x10,0x4(%r13) 4d1: mov 0x10(%r12),%eax 4d6: mov %eax,0x10(%r13) 4da: mov 0x14(%r12),%eax 4df: mov %eax,0x14(%r13) 4e3: mov 0x8(%r12),%eax 4e8: mov %eax,0x8(%r13) 4ec: callq 4f1 <ng_iface_rcvmsg+0x191> 4f1: orl $0x1,0xc(%r13) 4f6: mov -0x38(%rbp),%r8 4fa: lea 0x38(%r13),%rdi 4fe: mov $0x10,%edx 503: lea 0x20(%r8),%rsi 507: callq 50c <ng_iface_rcvmsg+0x1ac> 50c: jmpq 5af <ng_iface_rcvmsg+0x24f> 511: cmp $0x4,%eax 514: jne 3a8 <ng_iface_rcvmsg+0x48> 51a: mov $0x402,%edx 51f: mov $0x0,%rsi 526: mov $0x3c,%edi 52b: callq 530 <ng_iface_rcvmsg+0x1d0> 530: mov %rax,%r13 533: test %rax,%rax 536: je 6f0 <ng_iface_rcvmsg+0x390> 53c: lea 0x8(%rax),%rdi 540: mov %rax,%rcx 543: movq $0x0,(%rax) 54a: lea 0x18(%r12),%rsi 54f: and $0xfffffffffffffff8,%rdi 553: movq $0x0,0x34(%rax) 55b: xor %eax,%eax 55d: mov $0x20,%edx 562: sub %rdi,%rcx 565: add $0x3c,%ecx 568: shr $0x3,%ecx 56b: rep stos %rax,%es:(%rdi) 56e: movb $0x8,0x0(%r13) 573: lea 0x18(%r13),%rdi 577: movl $0x4,0x4(%r13) 57f: mov 0x10(%r12),%eax 584: mov %eax,0x10(%r13) 588: mov 0x14(%r12),%eax 58d: mov %eax,0x14(%r13) 591: mov 0x8(%r12),%eax 596: mov %eax,0x8(%r13) 59a: callq 59f <ng_iface_rcvmsg+0x23f> 59f: orl $0x1,0xc(%r13) 5a4: mov (%r15),%rax 5a7: movzwl 0x68(%rax),%eax 5ab: mov %eax,0x38(%r13) 5af: mov 0x68(%rbx),%edx 5b2: mov %r13,0x60(%rbx) 5b6: xor %ecx,%ecx 5b8: mov %rbx,%rsi 5bb: movl $0x0,0x68(%rbx) 5c2: mov %r14,%rdi 5c5: callq 5ca <ng_iface_rcvmsg+0x26a> 5ca: mov %eax,%r13d 5cd: test %eax,%eax 5cf: jne 3b3 <ng_iface_rcvmsg+0x53> 5d5: mov $0x1,%esi 5da: mov %rbx,%rdi 5dd: callq 5e2 <ng_iface_rcvmsg+0x282> 5e2: mov %eax,%r13d 5e5: jmpq 3b3 <ng_iface_rcvmsg+0x53> 5ea: nopw 0x0(%rax,%rax,1) 5f0: andl $0xffffffbf,0x6c(%r8) 5f5: jmpq 437 <ng_iface_rcvmsg+0xd7> 5fa: nopw 0x0(%rax,%rax,1) 600: orl $0x40,0x6c(%r8) 605: xor %r13d,%r13d 608: jmpq 3ae <ng_iface_rcvmsg+0x4e> 60d: nopl (%rax) 610: mov 0x6c(%r8),%edx 614: mov %edx,%r13d 617: and $0x1,%r13d 61b: jne 6e4 <ng_iface_rcvmsg+0x384> 621: cmp $0x3,%eax 624: je 700 <ng_iface_rcvmsg+0x3a0> 62a: and $0xfffffffd,%edx 62d: or $0x10,%edx 630: mov %edx,0x6c(%r8) 634: jmpq 3ae <ng_iface_rcvmsg+0x4e> 639: nopl 0x0(%rax) 640: mov $0x402,%edx 645: mov $0x0,%rsi 64c: mov $0x40,%edi 651: callq 656 <ng_iface_rcvmsg+0x2f6> 656: mov %rax,%r13 659: test %rax,%rax 65c: je 6f0 <ng_iface_rcvmsg+0x390> 662: lea 0x8(%rax),%rdi 666: mov %rax,%rcx 669: movq $0x0,(%rax) 670: lea 0x18(%r12),%rsi 675: and $0xfffffffffffffff8,%rdi 679: movq $0x0,0x38(%rax) 681: xor %eax,%eax 683: mov $0x20,%edx 688: sub %rdi,%rcx 68b: add $0x40,%ecx 68e: shr $0x3,%ecx 691: rep stos %rax,%es:(%rdi) 694: movb $0x8,0x0(%r13) 699: lea 0x18(%r13),%rdi 69d: movl $0x8,0x4(%r13) 6a5: mov 0x10(%r12),%eax 6aa: mov %eax,0x10(%r13) 6ae: mov 0x14(%r12),%eax 6b3: mov %eax,0x14(%r13) 6b7: mov 0x8(%r12),%eax 6bc: mov %eax,0x8(%r13) 6c0: callq 6c5 <ng_iface_rcvmsg+0x365> 6c5: orl $0x1,0xc(%r13) 6ca: mov (%r15),%rax 6cd: mov 0x4(%rax),%eax 6d0: mov %eax,0x38(%r13) 6d4: mov 0x10(%r15),%rax 6d8: mov 0x4(%rax),%eax 6db: mov %eax,0x3c(%r13) 6df: jmpq 5af <ng_iface_rcvmsg+0x24f> 6e4: mov $0x10,%r13d 6ea: jmpq 3c2 <ng_iface_rcvmsg+0x62> 6ef: nop 6f0: mov $0xc,%r13d 6f6: jmpq 3ae <ng_iface_rcvmsg+0x4e> 6fb: nopl 0x0(%rax,%rax,1) 700: and $0xffffffef,%edx 703: or $0x2,%edx 706: mov %edx,0x6c(%r8) 70a: jmpq 3ae <ng_iface_rcvmsg+0x4e> 70f: nop 0000000000000710 <ng_iface_ioctl>: 710: push %rbp 711: mov %rsp,%rbp 714: push %rbx 715: sub $0x8,%rsp 719: mov %gs:0x0,%rax 722: mov 0x8(%rax),%rax 726: addl $0x1,0xd4(%rax) 72d: mov $0x80206932,%eax 732: cmp %rax,%rsi 735: jbe 775 <ng_iface_ioctl+0x65> 737: mov $0x80206936,%eax 73c: mov $0x2d,%ebx 741: cmp %rax,%rsi 744: je 767 <ng_iface_ioctl+0x57> 746: add $0x3fffffeb,%rax 74c: xor %ebx,%ebx 74e: cmp %rax,%rsi 751: je 767 <ng_iface_ioctl+0x57> 753: sub $0x3fffffed,%rax 759: cmp %rax,%rsi 75c: je 7f0 <ng_iface_ioctl+0xe0> 762: mov $0x16,%ebx 767: callq 76c <ng_iface_ioctl+0x5c> 76c: add $0x8,%rsp 770: mov %ebx,%eax 772: pop %rbx 773: pop %rbp 774: retq 775: sub $0x1,%rax 779: cmp %rax,%rsi 77c: jae 7e0 <ng_iface_ioctl+0xd0> 77e: sub $0x25,%rax 782: cmp %rax,%rsi 785: je 820 <ng_iface_ioctl+0x110> 78b: add $0x4,%rax 78f: cmp %rax,%rsi 792: jne 762 <ng_iface_ioctl+0x52> 794: mov 0x6c(%rdi),%eax 797: mov %eax,%ebx 799: and $0x40,%ebx 79c: testb $0x1,0x10(%rdx) 7a0: je 7c0 <ng_iface_ioctl+0xb0> 7a2: test %ebx,%ebx 7a4: jne 7e0 <ng_iface_ioctl+0xd0> 7a6: mov 0x210(%rdi),%rax 7ad: movl $0x0,0x84(%rax) 7b7: orl $0x40,0x6c(%rdi) 7bb: jmp 767 <ng_iface_ioctl+0x57> 7bd: nopl (%rax) 7c0: test %ebx,%ebx 7c2: je 767 <ng_iface_ioctl+0x57> 7c4: and $0xffffffbf,%eax 7c7: xor %ebx,%ebx 7c9: mov %eax,0x6c(%rdi) 7cc: mov 0x210(%rdi),%rax 7d3: movl $0x0,0x84(%rax) 7dd: jmp 767 <ng_iface_ioctl+0x57> 7df: nop 7e0: callq 7e5 <ng_iface_ioctl+0xd5> 7e5: xor %ebx,%ebx 7e7: add $0x8,%rsp 7eb: mov %ebx,%eax 7ed: pop %rbx 7ee: pop %rbp 7ef: retq 7f0: movslq 0x10(%rdx),%rax 7f4: mov $0x16,%ebx 7f9: lea -0x48(%rax),%edx 7fc: cmp $0xffb7,%edx 802: ja 767 <ng_iface_ioctl+0x57> 808: mov %rax,0x90(%rdi) 80f: xor %ebx,%ebx 811: callq 816 <ng_iface_ioctl+0x106> 816: add $0x8,%rsp 81a: mov %ebx,%eax 81c: pop %rbx 81d: pop %rbp 81e: retq 81f: nop 820: mov 0x210(%rdi),%rax 827: orl $0x41,0x6c(%rdi) 82b: xor %ebx,%ebx 82d: movl $0x0,0x84(%rax) 837: callq 83c <ng_iface_ioctl+0x12c> 83c: add $0x8,%rsp 840: mov %ebx,%eax 842: pop %rbx 843: pop %rbp 844: retq 845: data16 nopw %cs:0x0(%rax,%rax,1) 0000000000000850 <ng_iface_send>: 850: push %rbp 851: mov %rsp,%rbp 854: push %r15 856: push %r14 858: push %r13 85a: push %r12 85c: mov %rdi,%r12 85f: mov %rsi,%rdi 862: push %rbx 863: sub $0x8,%rsp 867: mov (%r12),%r14 86b: cmp $0x2,%dl 86e: je 8c1 <ng_iface_send+0x71> 870: mov %edx,%ebx 872: cmp $0x1c,%dl 875: je 964 <ng_iface_send+0x114> 87b: cmp $0x1e,%dl 87e: je 980 <ng_iface_send+0x130> 884: cmp $0x1d,%dl 887: je 987 <ng_iface_send+0x137> 88d: callq 892 <ng_iface_send+0x42> 892: movzbl %bl,%ecx 895: lea 0x20(%r12),%rdx 89a: xor %eax,%eax 89c: mov $0x0,%rsi 8a3: mov $0x4,%edi 8a8: callq 8ad <ng_iface_send+0x5d> 8ad: mov $0x2f,%eax 8b2: add $0x8,%rsp 8b6: pop %rbx 8b7: pop %r12 8b9: pop %r13 8bb: pop %r14 8bd: pop %r15 8bf: pop %rbp 8c0: retq 8c1: mov $0x0,%rbx 8c8: xor %esi,%esi 8ca: movslq 0xb8(%rdi),%r13 8d1: callq 8d6 <ng_iface_send+0x86> 8d6: mov %rax,%r15 8d9: test %rax,%rax 8dc: je 950 <ng_iface_send+0x100> 8de: sub $0x0,%rbx 8e5: xor %ecx,%ecx 8e7: xor %edi,%edi 8e9: mov %r15,%rsi 8ec: sar $0x4,%rbx 8f0: mov 0x18(%r14,%rbx,8),%rdx 8f5: callq 8fa <ng_iface_send+0xaa> 8fa: test %eax,%eax 8fc: jne 8b2 <ng_iface_send+0x62> 8fe: xor %esi,%esi 900: mov %r15,%rdi 903: callq 908 <ng_iface_send+0xb8> 908: test %eax,%eax 90a: jne 8b2 <ng_iface_send+0x62> 90c: mov %gs:0x0,%rcx 915: mov 0x48(%rcx),%edx 918: shl $0x7,%rdx 91c: add 0x388(%r12),%rdx 924: add %r13,0x30(%rdx) 928: mov 0x48(%rcx),%edx 92b: shl $0x7,%rdx 92f: add 0x388(%r12),%rdx 937: addq $0x1,0x10(%rdx) 93c: add $0x8,%rsp 940: pop %rbx 941: pop %r12 943: pop %r13 945: pop %r14 947: pop %r15 949: pop %rbp 94a: retq 94b: nopl 0x0(%rax,%rax,1) 950: add $0x8,%rsp 954: mov $0xc,%eax 959: pop %rbx 95a: pop %r12 95c: pop %r13 95e: pop %r14 960: pop %r15 962: pop %rbp 963: retq 964: mov $0x1,%ebx 969: shl $0x4,%rbx 96d: add $0x0,%rbx 974: jmpq 8c8 <ng_iface_send+0x78> 979: nopl 0x0(%rax) 980: mov $0x2,%ebx 985: jmp 969 <ng_iface_send+0x119> 987: mov $0x3,%ebx 98c: jmp 969 <ng_iface_send+0x119> 98e: xchg %ax,%ax 0000000000000990 <ng_iface_start>: 990: push %rbp 991: mov %rsp,%rbp 994: push %r13 996: mov %rdi,%r13 999: push %r12 99b: push %rbx 99c: sub $0x8,%rsp 9a0: jmp 9f9 <ng_iface_start+0x69> 9a2: mov %rbx,%rdi 9a5: mov 0x60(%rbx),%rax 9a9: mov $0x1,%esi 9ae: jmp 9c1 <ng_iface_start+0x31> 9b0: callq 9bc <ng_iface_start+0x2c> 9b5: pause 9b7: lfence 9ba: jmp 9b5 <ng_iface_start+0x25> 9bc: mov %rax,(%rsp) 9c0: retq 9c1: callq 9b0 <ng_iface_start+0x20> 9c6: mov %rbx,%rdi 9c9: mov %rax,%r12 9cc: callq 9d1 <ng_iface_start+0x41> 9d1: test %r12,%r12 9d4: je a32 <ng_iface_start+0xa2> 9d6: mov 0x10(%r12),%rax 9db: mov $0x1,%esi 9e0: mov %r12,%rdi 9e3: movzbl (%rax),%ebx 9e6: callq 9eb <ng_iface_start+0x5b> 9eb: mov %r12,%rsi 9ee: mov %r13,%rdi 9f1: movzbl %bl,%edx 9f4: callq 850 <ng_iface_send> 9f9: mov 0x210(%r13),%rbx a00: mov %rbx,%rdi a03: callq a08 <ng_iface_start+0x78> a08: mov 0x78(%rbx),%r12 a0c: test %r12,%r12 a0f: je 9a2 <ng_iface_start+0x12> a11: movq $0x0,0x78(%rbx) a19: mov %rbx,%rdi a1c: subl $0x1,0x48(%rbx) a20: mov 0xb8(%r12),%eax a28: sub %eax,0x50(%rbx) a2b: callq a30 <ng_iface_start+0xa0> a30: jmp 9d6 <ng_iface_start+0x46> a32: add $0x8,%rsp a36: pop %rbx a37: pop %r12 a39: pop %r13 a3b: pop %rbp a3c: retq a3d: nopl (%rax) 0000000000000a40 <ng_iface_output>: a40: push %rbp a41: mov %rsp,%rbp a44: push %r13 a46: mov %rsi,%r13 a49: push %r12 a4b: push %rbx a4c: sub $0x8,%rsp a50: mov 0x6c(%rdi),%eax a53: and $0x41,%eax a56: cmp $0x41,%eax a59: jne aa0 <ng_iface_output+0x60> a5b: mov %rdx,%r12 a5e: movzbl 0x1(%rdx),%edx a62: mov %rdi,%rbx a65: test %dl,%dl a67: jne a76 <ng_iface_output+0x36> a69: mov 0x2(%r12),%eax a6e: mov %al,0x1(%r12) a73: movzbl %al,%edx a76: mov %r13,%rsi a79: mov %rbx,%rdi a7c: callq 80 <ng_iface_bpftap> a81: movzbl 0x1(%r12),%edx a87: add $0x8,%rsp a8b: mov %r13,%rsi a8e: mov %rbx,%rdi a91: pop %rbx a92: pop %r12 a94: pop %r13 a96: pop %rbp a97: jmpq 850 <ng_iface_send> a9c: nopl 0x0(%rax) aa0: mov %rsi,%rdi aa3: callq aa8 <ng_iface_output+0x68> aa8: add $0x8,%rsp aac: mov $0x32,%eax ab1: pop %rbx ab2: pop %r12 ab4: pop %r13 ab6: pop %rbp ab7: retq ab8: nopl 0x0(%rax,%rax,1) 0000000000000ac0 <ng_iface_constructor>: ac0: push %rbp ac1: mov $0x402,%edx ac6: mov $0x0,%rsi acd: mov %rsp,%rbp ad0: push %r15 ad2: push %r14 ad4: push %r13 ad6: mov %rdi,%r13 ad9: mov $0x38,%edi ade: push %r12 ae0: push %rbx ae1: sub $0x28,%rsp ae5: callq aea <ng_iface_constructor+0x2a> aea: test %rax,%rax aed: je cef <ng_iface_constructor+0x22f> af3: lea 0x8(%rax),%rdi af7: mov %rax,%rcx afa: xor %r14d,%r14d afd: mov %rax,%r12 b00: and $0xfffffffffffffff8,%rdi b04: movq $0x0,(%rax) b0b: mov $0x402,%edx b10: mov $0x0,%rsi b17: sub %rdi,%rcx b1a: movq $0x0,0x30(%rax) b22: mov %r14,%rax b25: add $0x38,%ecx b28: shr $0x3,%ecx b2b: rep stos %rax,%es:(%rdi) b2e: mov $0x3a0,%edi b33: callq b38 <ng_iface_constructor+0x78> b38: mov %rax,%rbx b3b: test %rax,%rax b3e: je ce0 <ng_iface_constructor+0x220> b44: lea 0x8(%rax),%rdi b48: mov %rax,%rcx b4b: movq $0x0,0x398(%rax) b56: mov %r14,%rax b59: and $0xfffffffffffffff8,%rdi b5d: sub %rdi,%rcx b60: add $0x3a0,%ecx b66: shr $0x3,%ecx b69: rep stos %rax,%es:(%rdi) b6c: mov %r12,(%rbx) b6f: mov %rbx,(%r12) b73: mov 0x0(%rip),%r15d # b7a <ng_iface_constructor+0xba> b7a: test %r15d,%r15d b7d: jle e41 <ng_iface_constructor+0x381> b83: mov 0x0(%rip),%rcx # b8a <ng_iface_constructor+0xca> b8a: mov (%rcx),%eax b8c: test %eax,%eax b8e: jne e50 <ng_iface_constructor+0x390> b94: lea -0x1(%r15),%edi b98: lea 0x4(%rcx),%r8 b9c: mov $0x1,%esi ba1: add $0x1,%rdi ba5: jmp bc6 <ng_iface_constructor+0x106> ba7: nopw 0x0(%rax,%rax,1) bb0: mov (%r8),%eax bb3: mov %r8,%rcx bb6: add $0x1,%rsi bba: lea 0x4(%r8),%r8 bbe: test %eax,%eax bc0: jne cd0 <ng_iface_constructor+0x210> bc6: mov %esi,%edx bc8: mov %esi,%r9d bcb: cmp %rdi,%rsi bce: jne bb0 <ng_iface_constructor+0xf0> bd0: cmp %r15d,%r9d bd3: je d20 <ng_iface_constructor+0x260> bd9: mov 0x0(%rip),%rax # be0 <ng_iface_constructor+0x120> be0: movslq %r9d,%rdx be3: shl $0x5,%r9d be7: mov %r9d,%r15d bea: lea (%rax,%rdx,4),%rcx bee: mov (%rcx),%eax bf0: bsf %eax,%esi bf3: mov $0xffffffff,%edx bf8: mov %rbx,%rdi bfb: cmovne %esi,%edx bfe: mov $0x0,%rsi c05: btr %edx,%eax c08: add %r15d,%edx c0b: mov %eax,(%rcx) c0d: mov %edx,0x8(%r12) c12: mov %r12,0x30(%r13) c16: mov %r13,0x10(%r12) c1b: lea 0x20(%rbx),%r12 c1f: callq c24 <ng_iface_constructor+0x164> c24: xor %eax,%eax c26: lea 0x1d0(%rbx),%rdi c2d: mov $0xfa,%esi c32: movq $0x0,0x150(%rbx) c3d: movq $0x0,0x160(%rbx) c48: movq $0x0,0x168(%rbx) c53: movq $0x0,0x170(%rbx) c5e: movq $0x5dc,0x90(%rbx) c69: movl $0x8890,0x6c(%rbx) c70: movb $0x35,0x88(%rbx) c77: mov %ax,0x8a(%rbx) c7e: movq $0xfa00,0xa8(%rbx) c89: callq c8e <ng_iface_constructor+0x1ce> c8e: mov %r12,%rsi c91: mov %r13,%rdi c94: orl $0x1,0x1d4(%rbx) c9b: callq ca0 <ng_iface_constructor+0x1e0> ca0: test %eax,%eax ca2: jne d03 <ng_iface_constructor+0x243> ca4: mov %rbx,%rdi ca7: xor %esi,%esi ca9: callq cae <ng_iface_constructor+0x1ee> cae: mov %rbx,%rdi cb1: mov $0x4,%edx cb6: xor %esi,%esi cb8: callq cbd <ng_iface_constructor+0x1fd> cbd: add $0x28,%rsp cc1: xor %eax,%eax cc3: pop %rbx cc4: pop %r12 cc6: pop %r13 cc8: pop %r14 cca: pop %r15 ccc: pop %rbp ccd: retq cce: xchg %ax,%ax cd0: shl $0x5,%edx cd3: mov %edx,%r15d cd6: jmpq bf0 <ng_iface_constructor+0x130> cdb: nopl 0x0(%rax,%rax,1) ce0: mov $0x0,%rsi ce7: mov %r12,%rdi cea: callq cef <ng_iface_constructor+0x22f> cef: add $0x28,%rsp cf3: mov $0xc,%eax cf8: pop %rbx cf9: pop %r12 cfb: pop %r13 cfd: pop %r14 cff: pop %r15 d01: pop %rbp d02: retq d03: mov %r12,%rdx d06: mov $0x0,%rsi d0d: mov $0x4,%edi d12: xor %eax,%eax d14: callq d19 <ng_iface_constructor+0x259> d19: jmp ca4 <ng_iface_constructor+0x1e4> d1b: nopl 0x0(%rax,%rax,1) d20: lea 0x4(%r9,%r9,1),%r9d d25: mov $0x601,%edx d2a: mov $0x0,%rsi d31: movslq %r9d,%rdi d34: mov %r9d,-0x38(%rbp) d38: shl $0x2,%rdi d3c: callq d41 <ng_iface_constructor+0x281> d41: mov -0x38(%rbp),%r9d d45: test %rax,%rax d48: mov %rax,%r8 d4b: je dd0 <ng_iface_constructor+0x310> d51: mov 0x0(%rip),%r14d # d58 <ng_iface_constructor+0x298> d58: mov 0x0(%rip),%r10 # d5f <ng_iface_constructor+0x29f> d5f: test %r14d,%r14d d62: jg e02 <ng_iface_constructor+0x342> d68: movslq %r14d,%rcx d6b: cmp %r14d,%r9d d6e: jg d75 <ng_iface_constructor+0x2b5> d70: jmp d86 <ng_iface_constructor+0x2c6> d72: movslq %r14d,%rcx d75: add $0x1,%r14d d79: movl $0xffffffff,(%r8,%rcx,4) d81: cmp %r14d,%r9d d84: jg d72 <ng_iface_constructor+0x2b2> d86: test %r10,%r10 d89: je daa <ng_iface_constructor+0x2ea> d8b: mov $0x0,%rsi d92: mov %r10,%rdi d95: mov %r8,-0x40(%rbp) d99: mov %r9d,-0x38(%rbp) d9d: callq da2 <ng_iface_constructor+0x2e2> da2: mov -0x38(%rbp),%r9d da6: mov -0x40(%rbp),%r8 daa: movslq %r15d,%rax dad: mov %r8,0x0(%rip) # db4 <ng_iface_constructor+0x2f4> db4: shl $0x5,%r15d db8: lea (%r8,%rax,4),%rcx dbc: mov %r9d,0x0(%rip) # dc3 <ng_iface_constructor+0x303> dc3: mov (%rcx),%eax dc5: jmpq bf0 <ng_iface_constructor+0x130> dca: nopw 0x0(%rax,%rax,1) dd0: mov %rbx,%rdi dd3: mov $0x0,%rsi dda: callq ddf <ng_iface_constructor+0x31f> ddf: mov %r12,%rdi de2: mov $0x0,%rsi de9: callq dee <ng_iface_constructor+0x32e> dee: add $0x28,%rsp df2: mov $0xc,%eax df7: pop %rbx df8: pop %r12 dfa: pop %r13 dfc: pop %r14 dfe: pop %r15 e00: pop %rbp e01: retq e02: movslq %r14d,%rcx e05: mov %r10,%rsi e08: mov %rax,%rdi e0b: mov %r9d,-0x44(%rbp) e0f: lea 0x0(,%rcx,4),%rdx e17: mov %rcx,-0x40(%rbp) e1b: mov %r10,-0x38(%rbp) e1f: callq e24 <ng_iface_constructor+0x364> e24: mov -0x44(%rbp),%r9d e28: mov -0x38(%rbp),%r10 e2c: mov %rax,%r8 e2f: mov -0x40(%rbp),%rcx e33: cmp %r14d,%r9d e36: jg d75 <ng_iface_constructor+0x2b5> e3c: jmpq d8b <ng_iface_constructor+0x2cb> e41: xor %r9d,%r9d e44: jmpq bd0 <ng_iface_constructor+0x110> e49: nopl 0x0(%rax) e50: xor %r15d,%r15d e53: jmpq bf0 <ng_iface_constructor+0x130>