18003332e:	48 85 c0             	test   %rax,%rax
180033331:	74 03                	je     0x180033336
180033333:	48 33 c2             	xor    %rdx,%rax
180033336:	49 3b c0             	cmp    %r8,%rax
180033339:	0f 85 ef 04 00 00    	jne    0x18003382e
18003333f:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
180033343:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
180033347:	45 85 db             	test   %r11d,%r11d
18003334a:	74 08                	je     0x180033354
18003334c:	48 85 c9             	test   %rcx,%rcx
18003334f:	74 08                	je     0x180033359
180033351:	48 33 ca             	xor    %rdx,%rcx
180033354:	48 85 c9             	test   %rcx,%rcx
180033357:	75 0e                	jne    0x180033367
180033359:	4c 3b d2             	cmp    %rdx,%r10
18003335c:	0f 85 cc 04 00 00    	jne    0x18003382e
180033362:	4d 8b d0             	mov    %r8,%r10
180033365:	eb 52                	jmp    0x1800333b9
180033367:	48 8b 41 08          	mov    0x8(%rcx),%rax
18003336b:	45 85 db             	test   %r11d,%r11d
18003336e:	74 08                	je     0x180033378
180033370:	48 85 c0             	test   %rax,%rax
180033373:	74 03                	je     0x180033378
180033375:	48 33 c1             	xor    %rcx,%rax
180033378:	48 3b c2             	cmp    %rdx,%rax
18003337b:	75 13                	jne    0x180033390
18003337d:	49 8b c0             	mov    %r8,%rax
180033380:	48 33 c1             	xor    %rcx,%rax
180033383:	45 85 db             	test   %r11d,%r11d
180033386:	49 0f 44 c0          	cmove  %r8,%rax
18003338a:	48 89 41 08          	mov    %rax,0x8(%rcx)
18003338e:	eb 29                	jmp    0x1800333b9
180033390:	48 8b 01             	mov    (%rcx),%rax
180033393:	45 85 db             	test   %r11d,%r11d
180033396:	74 08                	je     0x1800333a0
180033398:	48 85 c0             	test   %rax,%rax
18003339b:	74 03                	je     0x1800333a0
18003339d:	48 33 c1             	xor    %rcx,%rax
1800333a0:	48 3b c2             	cmp    %rdx,%rax
1800333a3:	0f 85 85 04 00 00    	jne    0x18003382e
1800333a9:	49 8b c0             	mov    %r8,%rax
1800333ac:	48 33 c1             	xor    %rcx,%rax
1800333af:	45 85 db             	test   %r11d,%r11d
1800333b2:	49 0f 44 c0          	cmove  %r8,%rax
1800333b6:	48 89 01             	mov    %rax,(%rcx)
1800333b9:	45 85 db             	test   %r11d,%r11d
1800333bc:	74 08                	je     0x1800333c6
1800333be:	48 85 c9             	test   %rcx,%rcx
1800333c1:	74 03                	je     0x1800333c6
1800333c3:	49 33 c8             	xor    %r8,%rcx
1800333c6:	49 83 60 10 03       	andq   $0x3,0x10(%r8)
1800333cb:	49 09 48 10          	or     %rcx,0x10(%r8)
1800333cf:	49 8b 0c f8          	mov    (%r8,%rdi,8),%rcx
1800333d3:	45 85 db             	test   %r11d,%r11d
1800333d6:	74 08                	je     0x1800333e0
1800333d8:	48 85 c9             	test   %rcx,%rcx
1800333db:	74 40                	je     0x18003341d
1800333dd:	49 33 c8             	xor    %r8,%rcx
1800333e0:	48 85 c9             	test   %rcx,%rcx
1800333e3:	74 38                	je     0x18003341d
1800333e5:	48 8b 59 10          	mov    0x10(%rcx),%rbx
1800333e9:	48 8b c3             	mov    %rbx,%rax
1800333ec:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1800333f0:	45 85 db             	test   %r11d,%r11d
1800333f3:	74 08                	je     0x1800333fd
1800333f5:	48 85 c0             	test   %rax,%rax
1800333f8:	74 03                	je     0x1800333fd
1800333fa:	48 33 c1             	xor    %rcx,%rax
1800333fd:	49 3b c0             	cmp    %r8,%rax
180033400:	0f 85 28 04 00 00    	jne    0x18003382e
180033406:	48 8b c2             	mov    %rdx,%rax
180033409:	48 33 c1             	xor    %rcx,%rax
18003340c:	45 85 db             	test   %r11d,%r11d
18003340f:	48 0f 44 c2          	cmove  %rdx,%rax
180033413:	83 e3 03             	and    $0x3,%ebx
180033416:	48 0b c3             	or     %rbx,%rax
180033419:	48 89 41 10          	mov    %rax,0x10(%rcx)
18003341d:	45 85 db             	test   %r11d,%r11d
180033420:	74 08                	je     0x18003342a
180033422:	48 85 c9             	test   %rcx,%rcx
180033425:	74 03                	je     0x18003342a
180033427:	48 33 ca             	xor    %rdx,%rcx
18003342a:	48 89 0c ea          	mov    %rcx,(%rdx,%rbp,8)
18003342e:	49 8b c8             	mov    %r8,%rcx
180033431:	48 33 ca             	xor    %rdx,%rcx
180033434:	45 85 db             	test   %r11d,%r11d
180033437:	48 8b c1             	mov    %rcx,%rax
18003343a:	48 0f 44 c2          	cmove  %rdx,%rax
18003343e:	49 89 04 f8          	mov    %rax,(%r8,%rdi,8)
180033442:	48 83 62 10 03       	andq   $0x3,0x10(%rdx)
180033447:	45 85 db             	test   %r11d,%r11d
18003344a:	49 0f 44 c8          	cmove  %r8,%rcx
18003344e:	48 09 4a 10          	or     %rcx,0x10(%rdx)
180033452:	45 84 79 08          	test   %r15b,0x8(%r9)
180033456:	74 0f                	je     0x180033467
180033458:	49 8b c1             	mov    %r9,%rax
18003345b:	49 33 c2             	xor    %r10,%rax
18003345e:	49 f7 da             	neg    %r10
180033461:	4d 1b d2             	sbb    %r10,%r10
180033464:	4c 23 d0             	and    %rax,%r10
180033467:	4d 89 11             	mov    %r10,(%r9)
18003346a:	41 80 60 10 fe       	andb   $0xfe,0x10(%r8)
18003346f:	44 08 7a 10          	or     %r15b,0x10(%rdx)
180033473:	41 8a 49 08          	mov    0x8(%r9),%cl
180033477:	4c 8b 04 ea          	mov    (%rdx,%rbp,8),%r8
18003347b:	41 84 cf             	test   %cl,%r15b
18003347e:	74 08                	je     0x180033488
180033480:	4d 85 c0             	test   %r8,%r8
180033483:	74 03                	je     0x180033488
180033485:	4c 33 c2             	xor    %rdx,%r8
180033488:	49 8b 00             	mov    (%r8),%rax
18003348b:	41 22 cf             	and    %r15b,%cl
18003348e:	48 85 c0             	test   %rax,%rax
180033491:	74 0d                	je     0x1800334a0
180033493:	84 c9                	test   %cl,%cl
180033495:	74 03                	je     0x18003349a
180033497:	49 33 c0             	xor    %r8,%rax
18003349a:	44 84 78 10          	test   %r15b,0x10(%rax)
18003349e:	75 72                	jne    0x180033512
1800334a0:	49 8b 40 08          	mov    0x8(%r8),%rax
1800334a4:	48 85 c0             	test   %rax,%rax
1800334a7:	74 0d                	je     0x1800334b6
1800334a9:	84 c9                	test   %cl,%cl
1800334ab:	74 03                	je     0x1800334b0
1800334ad:	49 33 c0             	xor    %r8,%rax
1800334b0:	44 84 78 10          	test   %r15b,0x10(%rax)
1800334b4:	75 5c                	jne    0x180033512
1800334b6:	8a 42 10             	mov    0x10(%rdx),%al
1800334b9:	41 84 c7             	test   %al,%r15b
1800334bc:	0f 85 5e 03 00 00    	jne    0x180033820
1800334c2:	45 08 78 10          	or     %r15b,0x10(%r8)
1800334c6:	48 8b 42 10          	mov    0x10(%rdx),%rax
1800334ca:	41 8a 49 08          	mov    0x8(%r9),%cl
1800334ce:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1800334d2:	44 8a d1             	mov    %cl,%r10b
1800334d5:	45 22 d7             	and    %r15b,%r10b
1800334d8:	74 0c                	je     0x1800334e6
1800334da:	48 85 c0             	test   %rax,%rax
1800334dd:	0f 84 d5 fc ff ff    	je     0x1800331b8
1800334e3:	48 33 c2             	xor    %rdx,%rax
1800334e6:	48 85 c0             	test   %rax,%rax
1800334e9:	0f 84 c9 fc ff ff    	je     0x1800331b8
1800334ef:	4c 8b 40 08          	mov    0x8(%rax),%r8
1800334f3:	45 84 d2             	test   %r10b,%r10b
1800334f6:	74 08                	je     0x180033500
1800334f8:	4d 85 c0             	test   %r8,%r8
1800334fb:	74 03                	je     0x180033500
1800334fd:	4c 33 c0             	xor    %rax,%r8
180033500:	45 33 f6             	xor    %r14d,%r14d
180033503:	4c 3b c2             	cmp    %rdx,%r8
180033506:	48 8b d0             	mov    %rax,%rdx
180033509:	41 0f 94 c6          	sete   %r14b
18003350d:	e9 b8 fd ff ff       	jmp    0x1800332ca
180033512:	4d 8b 1c e8          	mov    (%r8,%rbp,8),%r11
180033516:	84 c9                	test   %cl,%cl
180033518:	74 08                	je     0x180033522
18003351a:	4d 85 db             	test   %r11,%r11
18003351d:	74 12                	je     0x180033531
18003351f:	4d 33 d8             	xor    %r8,%r11
180033522:	4d 85 db             	test   %r11,%r11
180033525:	74 0a                	je     0x180033531
180033527:	45 84 7b 10          	test   %r15b,0x10(%r11)
18003352b:	0f 85 4a 01 00 00    	jne    0x18003367b
180033531:	41 8b c6             	mov    %r14d,%eax
180033534:	4d 8b 14 c0          	mov    (%r8,%rax,8),%r10
180033538:	84 c9                	test   %cl,%cl
18003353a:	74 08                	je     0x180033544
18003353c:	4d 85 d2             	test   %r10,%r10
18003353f:	74 03                	je     0x180033544
180033541:	4d 33 d0             	xor    %r8,%r10
180033544:	41 80 62 10 fe       	andb   $0xfe,0x10(%r10)
180033549:	41 8b ce             	mov    %r14d,%ecx
18003354c:	49 8b 42 10          	mov    0x10(%r10),%rax
180033550:	41 33 cf             	xor    %r15d,%ecx
180033553:	45 0f b6 59 08       	movzbl 0x8(%r9),%r11d
180033558:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
18003355c:	45 23 df             	and    %r15d,%r11d
18003355f:	74 08                	je     0x180033569
180033561:	48 85 c0             	test   %rax,%rax
180033564:	74 03                	je     0x180033569
180033566:	49 33 c2             	xor    %r10,%rax
180033569:	49 3b c0             	cmp    %r8,%rax
18003356c:	0f 85 bc 02 00 00    	jne    0x18003382e
180033572:	8b f1                	mov    %ecx,%esi
180033574:	49 33 f7             	xor    %r15,%rsi
180033577:	8b f9                	mov    %ecx,%edi
180033579:	49 8b 04 f0          	mov    (%r8,%rsi,8),%rax
18003357d:	45 85 db             	test   %r11d,%r11d
180033580:	74 08                	je     0x18003358a
180033582:	48 85 c0             	test   %rax,%rax
180033585:	74 03                	je     0x18003358a
180033587:	49 33 c0             	xor    %r8,%rax
18003358a:	49 3b c2             	cmp    %r10,%rax
18003358d:	0f 85 9b 02 00 00    	jne    0x18003382e
180033593:	48 8b 04 ca          	mov    (%rdx,%rcx,8),%rax
180033597:	45 85 db             	test   %r11d,%r11d
18003359a:	74 08                	je     0x1800335a4
18003359c:	48 85 c0             	test   %rax,%rax
18003359f:	74 03                	je     0x1800335a4
1800335a1:	48 33 c2             	xor    %rdx,%rax
1800335a4:	49 3b c0             	cmp    %r8,%rax
1800335a7:	0f 85 81 02 00 00    	jne    0x18003382e
1800335ad:	49 8b 40 10          	mov    0x10(%r8),%rax
1800335b1:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1800335b5:	45 85 db             	test   %r11d,%r11d
1800335b8:	74 08                	je     0x1800335c2
1800335ba:	48 85 c0             	test   %rax,%rax
1800335bd:	74 03                	je     0x1800335c2
1800335bf:	49 33 c0             	xor    %r8,%rax
1800335c2:	48 3b c2             	cmp    %rdx,%rax
1800335c5:	0f 85 63 02 00 00    	jne    0x18003382e
1800335cb:	48 8b ca             	mov    %rdx,%rcx
1800335ce:	49 33 ca             	xor    %r10,%rcx
1800335d1:	45 85 db             	test   %r11d,%r11d
1800335d4:	48 8b c1             	mov    %rcx,%rax
1800335d7:	49 0f 44 c2          	cmove  %r10,%rax
1800335db:	48 89 04 fa          	mov    %rax,(%rdx,%rdi,8)
1800335df:	74 05                	je     0x1800335e6
1800335e1:	48 85 d2             	test   %rdx,%rdx
1800335e4:	75 03                	jne    0x1800335e9
1800335e6:	48 8b ca             	mov    %rdx,%rcx
1800335e9:	49 83 62 10 03       	andq   $0x3,0x10(%r10)
1800335ee:	49 09 4a 10          	or     %rcx,0x10(%r10)
1800335f2:	49 8b 0c fa          	mov    (%r10,%rdi,8),%rcx
1800335f6:	45 85 db             	test   %r11d,%r11d
1800335f9:	74 08                	je     0x180033603
1800335fb:	48 85 c9             	test   %rcx,%rcx
1800335fe:	74 40                	je     0x180033640
180033600:	49 33 ca             	xor    %r10,%rcx
180033603:	48 85 c9             	test   %rcx,%rcx
180033606:	74 38                	je     0x180033640
180033608:	48 8b 59 10          	mov    0x10(%rcx),%rbx
18003360c:	48 8b c3             	mov    %rbx,%rax
18003360f:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180033613:	45 85 db             	test   %r11d,%r11d
180033616:	74 08                	je     0x180033620
180033618:	48 85 c0             	test   %rax,%rax
18003361b:	74 03                	je     0x180033620
18003361d:	48 33 c1             	xor    %rcx,%rax
180033620:	49 3b c2             	cmp    %r10,%rax
180033623:	0f 85 05 02 00 00    	jne    0x18003382e
180033629:	48 8b c1             	mov    %rcx,%rax
18003362c:	49 33 c0             	xor    %r8,%rax
18003362f:	45 85 db             	test   %r11d,%r11d
180033632:	49 0f 44 c0          	cmove  %r8,%rax
180033636:	83 e3 03             	and    $0x3,%ebx
180033639:	48 0b c3             	or     %rbx,%rax
18003363c:	48 89 41 10          	mov    %rax,0x10(%rcx)
180033640:	45 85 db             	test   %r11d,%r11d
180033643:	74 08                	je     0x18003364d
180033645:	48 85 c9             	test   %rcx,%rcx
180033648:	74 03                	je     0x18003364d
18003364a:	49 33 c8             	xor    %r8,%rcx
18003364d:	49 89 0c f0          	mov    %rcx,(%r8,%rsi,8)
180033651:	49 8b ca             	mov    %r10,%rcx
180033654:	49 33 c8             	xor    %r8,%rcx
180033657:	45 85 db             	test   %r11d,%r11d
18003365a:	48 8b c1             	mov    %rcx,%rax
18003365d:	49 0f 44 c0          	cmove  %r8,%rax
180033661:	49 89 04 fa          	mov    %rax,(%r10,%rdi,8)
180033665:	49 83 60 10 03       	andq   $0x3,0x10(%r8)
18003366a:	45 85 db             	test   %r11d,%r11d
18003366d:	4d 8b d8             	mov    %r8,%r11
180033670:	49 0f 44 ca          	cmove  %r10,%rcx
180033674:	49 09 48 10          	or     %rcx,0x10(%r8)
180033678:	4d 8b c2             	mov    %r10,%r8
18003367b:	41 8a 40 10          	mov    0x10(%r8),%al
18003367f:	32 42 10             	xor    0x10(%rdx),%al
180033682:	41 22 c7             	and    %r15b,%al
180033685:	41 30 40 10          	xor    %al,0x10(%r8)
180033689:	80 62 10 fe          	andb   $0xfe,0x10(%rdx)
18003368d:	41 80 63 10 fe       	andb   $0xfe,0x10(%r11)
180033692:	4d 8b 11             	mov    (%r9),%r10
180033695:	45 84 79 08          	test   %r15b,0x8(%r9)
180033699:	74 08                	je     0x1800336a3
18003369b:	4d 85 d2             	test   %r10,%r10
18003369e:	74 03                	je     0x1800336a3
1800336a0:	4d 33 d1             	xor    %r9,%r10
1800336a3:	49 8b 40 10          	mov    0x10(%r8),%rax
1800336a7:	45 0f b6 59 08       	movzbl 0x8(%r9),%r11d
1800336ac:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1800336b0:	45 23 df             	and    %r15d,%r11d
1800336b3:	74 08                	je     0x1800336bd
1800336b5:	48 85 c0             	test   %rax,%rax
1800336b8:	74 03                	je     0x1800336bd
1800336ba:	49 33 c0             	xor    %r8,%rax
1800336bd:	48 3b c2             	cmp    %rdx,%rax
1800336c0:	0f 85 68 01 00 00    	jne    0x18003382e
1800336c6:	48 8b 04 ea          	mov    (%rdx,%rbp,8),%rax
1800336ca:	45 85 db             	test   %r11d,%r11d
1800336cd:	74 08                	je     0x1800336d7
1800336cf:	48 85 c0             	test   %rax,%rax
1800336d2:	74 03                	je     0x1800336d7
1800336d4:	48 33 c2             	xor    %rdx,%rax
1800336d7:	49 3b c0             	cmp    %r8,%rax
1800336da:	0f 85 4e 01 00 00    	jne    0x18003382e
1800336e0:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
1800336e4:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
1800336e8:	45 85 db             	test   %r11d,%r11d
1800336eb:	74 08                	je     0x1800336f5
1800336ed:	48 85 c9             	test   %rcx,%rcx
1800336f0:	74 08                	je     0x1800336fa
1800336f2:	48 33 ca             	xor    %rdx,%rcx
1800336f5:	48 85 c9             	test   %rcx,%rcx
1800336f8:	75 0e                	jne    0x180033708
1800336fa:	4c 3b d2             	cmp    %rdx,%r10
1800336fd:	0f 85 2b 01 00 00    	jne    0x18003382e
180033703:	4d 8b d0             	mov    %r8,%r10
180033706:	eb 52                	jmp    0x18003375a
180033708:	48 8b 41 08          	mov    0x8(%rcx),%rax
18003370c:	45 85 db             	test   %r11d,%r11d
18003370f:	74 08                	je     0x180033719
180033711:	48 85 c0             	test   %rax,%rax
180033714:	74 03                	je     0x180033719
180033716:	48 33 c1             	xor    %rcx,%rax
180033719:	48 3b c2             	cmp    %rdx,%rax
18003371c:	75 13                	jne    0x180033731
18003371e:	48 8b c1             	mov    %rcx,%rax
180033721:	49 33 c0             	xor    %r8,%rax
180033724:	45 85 db             	test   %r11d,%r11d
180033727:	49 0f 44 c0          	cmove  %r8,%rax
18003372b:	48 89 41 08          	mov    %rax,0x8(%rcx)
18003372f:	eb 29                	jmp    0x18003375a
180033731:	48 8b 01             	mov    (%rcx),%rax
180033734:	45 85 db             	test   %r11d,%r11d
180033737:	74 08                	je     0x180033741
180033739:	48 85 c0             	test   %rax,%rax
18003373c:	74 03                	je     0x180033741
18003373e:	48 33 c1             	xor    %rcx,%rax
180033741:	48 3b c2             	cmp    %rdx,%rax
180033744:	0f 85 e4 00 00 00    	jne    0x18003382e
18003374a:	48 8b c1             	mov    %rcx,%rax
18003374d:	49 33 c0             	xor    %r8,%rax
180033750:	45 85 db             	test   %r11d,%r11d
180033753:	49 0f 44 c0          	cmove  %r8,%rax
180033757:	48 89 01             	mov    %rax,(%rcx)
18003375a:	45 85 db             	test   %r11d,%r11d
18003375d:	74 08                	je     0x180033767
18003375f:	48 85 c9             	test   %rcx,%rcx
180033762:	74 03                	je     0x180033767
180033764:	49 33 c8             	xor    %r8,%rcx
180033767:	49 83 60 10 03       	andq   $0x3,0x10(%r8)
18003376c:	49 09 48 10          	or     %rcx,0x10(%r8)
180033770:	41 8b fe             	mov    %r14d,%edi
180033773:	49 8d 34 f8          	lea    (%r8,%rdi,8),%rsi
180033777:	48 8b 0e             	mov    (%rsi),%rcx
18003377a:	45 85 db             	test   %r11d,%r11d
18003377d:	74 08                	je     0x180033787
18003377f:	48 85 c9             	test   %rcx,%rcx
180033782:	74 40                	je     0x1800337c4