⬢ DragonFlyBSD Kernel Audit
DF-3526 / disasm.fix26.txt
← back to finding ↓ download raw
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>