14001337b:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14001337f:	48 8d 15 ca f6 2e 00 	lea    0x2ef6ca(%rip),%rdx        # 0x140302a50
140013386:	0f b7 41 0a          	movzwl 0xa(%rcx),%eax
14001338a:	83 e0 1f             	and    $0x1f,%eax
14001338d:	48 c1 e0 05          	shl    $0x5,%rax
140013391:	48 83 24 10 00       	andq   $0x0,(%rax,%rdx,1)
140013396:	e8 91 98 ff ff       	call   0x14000cc2c
14001339b:	41 b5 01             	mov    $0x1,%r13b
14001339e:	eb 31                	jmp    0x1400133d1
1400133a0:	85 db                	test   %ebx,%ebx
1400133a2:	75 2d                	jne    0x1400133d1
1400133a4:	41 0f b7 4e 1c       	movzwl 0x1c(%r14),%ecx
1400133a9:	8b c1                	mov    %ecx,%eax
1400133ab:	83 e0 0f             	and    $0xf,%eax
1400133ae:	39 45 d0             	cmp    %eax,-0x30(%rbp)
1400133b1:	74 1a                	je     0x1400133cd
1400133b3:	83 7d d0 03          	cmpl   $0x3,-0x30(%rbp)
1400133b7:	75 0f                	jne    0x1400133c8
1400133b9:	41 83 3c 24 04       	cmpl   $0x4,(%r12)
1400133be:	75 08                	jne    0x1400133c8
1400133c0:	80 e1 0f             	and    $0xf,%cl
1400133c3:	80 f9 04             	cmp    $0x4,%cl
1400133c6:	74 05                	je     0x1400133cd
1400133c8:	bb 02 00 00 00       	mov    $0x2,%ebx
1400133cd:	85 db                	test   %ebx,%ebx
1400133cf:	74 5a                	je     0x14001342b
1400133d1:	48 85 ff             	test   %rdi,%rdi
1400133d4:	74 10                	je     0x1400133e6
1400133d6:	48 8b 07             	mov    (%rdi),%rax
1400133d9:	48 8b cf             	mov    %rdi,%rcx
1400133dc:	48 8b 40 08          	mov    0x8(%rax),%rax
1400133e0:	ff 15 4a fa 1f 00    	call   *0x1ffa4a(%rip)        # 0x140212e30
1400133e6:	8b 7d d4             	mov    -0x2c(%rbp),%edi
1400133e9:	41 ff c7             	inc    %r15d
1400133ec:	45 84 ed             	test   %r13b,%r13b
1400133ef:	0f 85 df fe ff ff    	jne    0x1400132d4
1400133f5:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1400133f9:	e8 ce 9b ff ff       	call   0x14000cfcc
1400133fe:	48 ff c6             	inc    %rsi
140013401:	48 8d 05 af 56 23 00 	lea    0x2356af(%rip),%rax        # 0x140248ab7
140013408:	48 3b f0             	cmp    %rax,%rsi
14001340b:	0f 85 89 fe ff ff    	jne    0x14001329a
140013411:	8b c3                	mov    %ebx,%eax
140013413:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
14001341a:	00
14001341b:	48 83 c4 60          	add    $0x60,%rsp
14001341f:	41 5f                	pop    %r15
140013421:	41 5e                	pop    %r14
140013423:	41 5d                	pop    %r13
140013425:	41 5c                	pop    %r12
140013427:	5f                   	pop    %rdi
140013428:	5e                   	pop    %rsi
140013429:	5d                   	pop    %rbp
14001342a:	c3                   	ret
14001342b:	48 85 ff             	test   %rdi,%rdi
14001342e:	74 38                	je     0x140013468
140013430:	48 8b 07             	mov    (%rdi),%rax
140013433:	48 8b cf             	mov    %rdi,%rcx
140013436:	48 8b 40 08          	mov    0x8(%rax),%rax
14001343a:	ff 15 f0 f9 1f 00    	call   *0x1ff9f0(%rip)        # 0x140212e30
140013440:	eb 26                	jmp    0x140013468
140013442:	83 c8 ff             	or     $0xffffffff,%eax
140013445:	f0 0f c1 45 e8       	lock xadd %eax,-0x18(%rbp)
14001344a:	83 f8 01             	cmp    $0x1,%eax
14001344d:	75 0f                	jne    0x14001345e
14001344f:	ff 15 83 f3 1f 00    	call   *0x1ff383(%rip)        # 0x1402127d8
140013455:	39 45 ec             	cmp    %eax,-0x14(%rbp)
140013458:	75 2b                	jne    0x140013485
14001345a:	83 65 ec 00          	andl   $0x0,-0x14(%rbp)
14001345e:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140013462:	ff 15 90 f3 1f 00    	call   *0x1ff390(%rip)        # 0x1402127f8
140013468:	8b 45 e8             	mov    -0x18(%rbp),%eax
14001346b:	85 c0                	test   %eax,%eax
14001346d:	75 d3                	jne    0x140013442
14001346f:	90                   	nop
140013470:	83 7d ec 00          	cmpl   $0x0,-0x14(%rbp)
140013474:	74 0b                	je     0x140013481
140013476:	ff 15 5c f3 1f 00    	call   *0x1ff35c(%rip)        # 0x1402127d8
14001347c:	39 45 ec             	cmp    %eax,-0x14(%rbp)
14001347f:	75 11                	jne    0x140013492
140013481:	33 c0                	xor    %eax,%eax
140013483:	eb 8e                	jmp    0x140013413
140013485:	33 d2                	xor    %edx,%edx
140013487:	b9 c5 f4 31 01       	mov    $0x131f4c5,%ecx
14001348c:	e8 53 7e ff ff       	call   0x14000b2e4
140013491:	cc                   	int3
140013492:	33 d2                	xor    %edx,%edx
140013494:	b9 c3 f4 31 01       	mov    $0x131f4c3,%ecx
140013499:	e8 46 7e ff ff       	call   0x14000b2e4
14001349e:	cc                   	int3
14001349f:	90                   	nop
1400134a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400134a5:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
1400134aa:	55                   	push   %rbp
1400134ab:	56                   	push   %rsi
1400134ac:	57                   	push   %rdi
1400134ad:	41 54                	push   %r12
1400134af:	41 55                	push   %r13
1400134b1:	41 56                	push   %r14
1400134b3:	41 57                	push   %r15
1400134b5:	48 8b ec             	mov    %rsp,%rbp
1400134b8:	48 83 ec 70          	sub    $0x70,%rsp
1400134bc:	41 8b c1             	mov    %r9d,%eax
1400134bf:	4c 8b ea             	mov    %rdx,%r13
1400134c2:	45 33 c9             	xor    %r9d,%r9d
1400134c5:	4c 8b e1             	mov    %rcx,%r12
1400134c8:	45 85 c0             	test   %r8d,%r8d
1400134cb:	74 04                	je     0x1400134d1
1400134cd:	66 44 89 0a          	mov    %r9w,(%rdx)
1400134d1:	45 8b c0             	mov    %r8d,%r8d
1400134d4:	4d 03 c0             	add    %r8,%r8
1400134d7:	49 3b c0             	cmp    %r8,%rax
1400134da:	0f 82 6e 02 00 00    	jb     0x14001374e
1400134e0:	48 8d 35 cd 55 23 00 	lea    0x2355cd(%rip),%rsi        # 0x140248ab4
1400134e7:	8a 0e                	mov    (%rsi),%cl
1400134e9:	49 8b d4             	mov    %r12,%rdx
1400134ec:	83 cb ff             	or     $0xffffffff,%ebx
1400134ef:	e8 98 f3 ff ff       	call   0x14001288c
1400134f4:	89 45 d8             	mov    %eax,-0x28(%rbp)
1400134f7:	8b f8                	mov    %eax,%edi
1400134f9:	83 f8 ff             	cmp    $0xffffffff,%eax
1400134fc:	0f 84 c2 01 00 00    	je     0x1400136c4
140013502:	48 83 65 e8 00       	andq   $0x0,-0x18(%rbp)
140013507:	48 8d 05 62 e3 2f 00 	lea    0x2fe362(%rip),%rax        # 0x140311870
14001350e:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140013512:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140013516:	e8 2d 9c ff ff       	call   0x14000d148
14001351b:	45 33 c0             	xor    %r8d,%r8d
14001351e:	45 8b f8             	mov    %r8d,%r15d
140013521:	41 83 ff 04          	cmp    $0x4,%r15d
140013525:	0f 8d 8d 01 00 00    	jge    0x1400136b8
14001352b:	41 8a 44 24 18       	mov    0x18(%r12),%al
140013530:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140013534:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
140013539:	45 8a f0             	mov    %r8b,%r14b
14001353c:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140013541:	44 8b cf             	mov    %edi,%r9d
140013544:	44 88 45 50          	mov    %r8b,0x50(%rbp)
140013548:	45 33 c0             	xor    %r8d,%r8d
14001354b:	88 44 24 20          	mov    %al,0x20(%rsp)
14001354f:	e8 bc e5 ff ff       	call   0x140011b10
140013554:	45 33 c0             	xor    %r8d,%r8d
140013557:	8b 18                	mov    (%rax),%ebx
140013559:	48 8b 78 08          	mov    0x8(%rax),%rdi
14001355d:	4c 89 40 08          	mov    %r8,0x8(%rax)
140013561:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140013565:	48 85 c9             	test   %rcx,%rcx
140013568:	74 14                	je     0x14001357e
14001356a:	4c 89 45 f8          	mov    %r8,-0x8(%rbp)
14001356e:	48 8b 01             	mov    (%rcx),%rax
140013571:	48 8b 40 08          	mov    0x8(%rax),%rax
140013575:	ff 15 b5 f8 1f 00    	call   *0x1ff8b5(%rip)        # 0x140212e30
14001357b:	45 33 c0             	xor    %r8d,%r8d
14001357e:	85 db                	test   %ebx,%ebx
140013580:	0f 85 0b 01 00 00    	jne    0x140013691
140013586:	8b 45 58             	mov    0x58(%rbp),%eax
140013589:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
14001358f:	45 8a 74 24 1c       	mov    0x1c(%r12),%r14b
140013594:	33 d2                	xor    %edx,%edx
140013596:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14001359a:	41 80 e6 0f          	and    $0xf,%r14b
14001359e:	89 45 d0             	mov    %eax,-0x30(%rbp)
1400135a1:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
1400135a5:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400135aa:	48 8d 45 d4          	lea    -0x2c(%rbp),%rax
1400135ae:	44 89 45 d4          	mov    %r8d,-0x2c(%rbp)
1400135b2:	4d 8b 04 24          	mov    (%r12),%r8
1400135b6:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1400135bb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400135c0:	ff 15 6a eb 31 00    	call   *0x31eb6a(%rip)        # 0x140332130
1400135c6:	8b 4d d4             	mov    -0x2c(%rbp),%ecx
1400135c9:	ba 02 00 00 00       	mov    $0x2,%edx
1400135ce:	8b d8                	mov    %eax,%ebx
1400135d0:	39 55 d0             	cmp    %edx,-0x30(%rbp)
1400135d3:	73 09                	jae    0x1400135de
1400135d5:	8d 41 ff             	lea    -0x1(%rcx),%eax
1400135d8:	83 f8 01             	cmp    $0x1,%eax
1400135db:	0f 46 da             	cmovbe %edx,%ebx
1400135de:	41 b9 f2 03 00 00    	mov    $0x3f2,%r9d
1400135e4:	41 3b d9             	cmp    %r9d,%ebx
1400135e7:	74 15                	je     0x1400135fe
1400135e9:	81 fb fa 03 00 00    	cmp    $0x3fa,%ebx
1400135ef:	74 0d                	je     0x1400135fe
1400135f1:	83 fb 06             	cmp    $0x6,%ebx
1400135f4:	74 08                	je     0x1400135fe
1400135f6:	45 33 c0             	xor    %r8d,%r8d
1400135f9:	41 8b c0             	mov    %r8d,%eax
1400135fc:	eb 08                	jmp    0x140013606
1400135fe:	b8 01 00 00 00       	mov    $0x1,%eax
140013603:	45 33 c0             	xor    %r8d,%r8d
140013606:	85 c0                	test   %eax,%eax
140013608:	75 39                	jne    0x140013643
14001360a:	85 db                	test   %ebx,%ebx
14001360c:	75 35                	jne    0x140013643
14001360e:	8d 41 ff             	lea    -0x1(%rcx),%eax
140013611:	83 f8 01             	cmp    $0x1,%eax
140013614:	77 0f                	ja     0x140013625
140013616:	8b 45 d0             	mov    -0x30(%rbp),%eax
140013619:	48 d1 e8             	shr    $1,%rax
14001361c:	66 45 89 44 45 fe    	mov    %r8w,-0x2(%r13,%rax,2)
140013622:	8b 4d d4             	mov    -0x2c(%rbp),%ecx
140013625:	41 0f b6 c6          	movzbl %r14b,%eax
140013629:	3b c8                	cmp    %eax,%ecx
14001362b:	74 16                	je     0x140013643
14001362d:	83 e9 01             	sub    $0x1,%ecx
140013630:	74 0b                	je     0x14001363d
140013632:	83 f9 01             	cmp    $0x1,%ecx
140013635:	75 0a                	jne    0x140013641
140013637:	3b c1                	cmp    %ecx,%eax
140013639:	75 06                	jne    0x140013641
14001363b:	eb 06                	jmp    0x140013643
14001363d:	3b c2                	cmp    %edx,%eax
14001363f:	74 02                	je     0x140013643
140013641:	8b da                	mov    %edx,%ebx
140013643:	41 3b d9             	cmp    %r9d,%ebx
140013646:	74 10                	je     0x140013658
140013648:	81 fb fa 03 00 00    	cmp    $0x3fa,%ebx
14001364e:	74 08                	je     0x140013658
140013650:	41 8b c0             	mov    %r8d,%eax
140013653:	83 fb 06             	cmp    $0x6,%ebx
140013656:	75 05                	jne    0x14001365d
140013658:	b8 01 00 00 00       	mov    $0x1,%eax
14001365d:	85 c0                	test   %eax,%eax
14001365f:	74 28                	je     0x140013689
140013661:	49 8b 4c 24 10       	mov    0x10(%r12),%rcx
140013666:	48 8d 15 e3 f3 2e 00 	lea    0x2ef3e3(%rip),%rdx        # 0x140302a50
14001366d:	0f b7 41 0a          	movzwl 0xa(%rcx),%eax
140013671:	83 e0 1f             	and    $0x1f,%eax
140013674:	48 c1 e0 05          	shl    $0x5,%rax
140013678:	4c 89 04 10          	mov    %r8,(%rax,%rdx,1)
14001367c:	e8 ab 95 ff ff       	call   0x14000cc2c
140013681:	45 33 c0             	xor    %r8d,%r8d
140013684:	41 b6 01             	mov    $0x1,%r14b
140013687:	eb 08                	jmp    0x140013691
140013689:	85 db                	test   %ebx,%ebx
14001368b:	74 64                	je     0x1400136f1
14001368d:	44 8a 75 50          	mov    0x50(%rbp),%r14b
140013691:	48 85 ff             	test   %rdi,%rdi
140013694:	74 13                	je     0x1400136a9
140013696:	48 8b 07             	mov    (%rdi),%rax
140013699:	48 8b cf             	mov    %rdi,%rcx
14001369c:	48 8b 40 08          	mov    0x8(%rax),%rax
1400136a0:	ff 15 8a f7 1f 00    	call   *0x1ff78a(%rip)        # 0x140212e30
1400136a6:	45 33 c0             	xor    %r8d,%r8d
1400136a9:	8b 7d d8             	mov    -0x28(%rbp),%edi
1400136ac:	41 ff c7             	inc    %r15d
1400136af:	45 84 f6             	test   %r14b,%r14b
1400136b2:	0f 85 69 fe ff ff    	jne    0x140013521
1400136b8:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1400136bc:	e8 0b 99 ff ff       	call   0x14000cfcc
1400136c1:	45 33 c9             	xor    %r9d,%r9d
1400136c4:	48 ff c6             	inc    %rsi
1400136c7:	48 8d 05 e9 53 23 00 	lea    0x2353e9(%rip),%rax        # 0x140248ab7
1400136ce:	48 3b f0             	cmp    %rax,%rsi
1400136d1:	0f 85 10 fe ff ff    	jne    0x1400134e7
1400136d7:	8b c3                	mov    %ebx,%eax
1400136d9:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
1400136e0:	00
1400136e1:	48 83 c4 70          	add    $0x70,%rsp
1400136e5:	41 5f                	pop    %r15
1400136e7:	41 5e                	pop    %r14
1400136e9:	41 5d                	pop    %r13
1400136eb:	41 5c                	pop    %r12
1400136ed:	5f                   	pop    %rdi
1400136ee:	5e                   	pop    %rsi
1400136ef:	5d                   	pop    %rbp
1400136f0:	c3                   	ret
1400136f1:	48 85 ff             	test   %rdi,%rdi
1400136f4:	74 3e                	je     0x140013734
1400136f6:	48 8b 07             	mov    (%rdi),%rax
1400136f9:	48 8b cf             	mov    %rdi,%rcx
1400136fc:	48 8b 40 08          	mov    0x8(%rax),%rax
140013700:	ff 15 2a f7 1f 00    	call   *0x1ff72a(%rip)        # 0x140212e30
140013706:	eb 29                	jmp    0x140013731
140013708:	83 c8 ff             	or     $0xffffffff,%eax
14001370b:	f0 0f c1 45 e8       	lock xadd %eax,-0x18(%rbp)
140013710:	83 f8 01             	cmp    $0x1,%eax
140013713:	75 12                	jne    0x140013727
140013715:	ff 15 bd f0 1f 00    	call   *0x1ff0bd(%rip)        # 0x1402127d8
14001371b:	39 45 ec             	cmp    %eax,-0x14(%rbp)
14001371e:	75 4d                	jne    0x14001376d
140013720:	45 33 c9             	xor    %r9d,%r9d
140013723:	44 89 4d ec          	mov    %r9d,-0x14(%rbp)
140013727:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
14001372b:	ff 15 c7 f0 1f 00    	call   *0x1ff0c7(%rip)        # 0x1402127f8
140013731:	45 33 c0             	xor    %r8d,%r8d
140013734:	8b 45 e8             	mov    -0x18(%rbp),%eax
140013737:	85 c0                	test   %eax,%eax
140013739:	75 cd                	jne    0x140013708
14001373b:	44 39 45 ec          	cmp    %r8d,-0x14(%rbp)
14001373f:	74 96                	je     0x1400136d7
140013741:	ff 15 91 f0 1f 00    	call   *0x1ff091(%rip)        # 0x1402127d8
140013747:	39 45 ec             	cmp    %eax,-0x14(%rbp)
14001374a:	75 14                	jne    0x140013760
14001374c:	eb 89                	jmp    0x1400136d7
14001374e:	b9 d3 d3 48 00       	mov    $0x48d3d3,%ecx
140013753:	e8 78 85 ff ff       	call   0x14000bcd0
140013758:	83 c8 ff             	or     $0xffffffff,%eax
14001375b:	e9 79 ff ff ff       	jmp    0x1400136d9
140013760:	33 d2                	xor    %edx,%edx
140013762:	b9 c3 f4 31 01       	mov    $0x131f4c3,%ecx
140013767:	e8 78 7b ff ff       	call   0x14000b2e4
14001376c:	cc                   	int3
14001376d:	33 d2                	xor    %edx,%edx
14001376f:	b9 c5 f4 31 01       	mov    $0x131f4c5,%ecx
140013774:	e8 6b 7b ff ff       	call   0x14000b2e4
140013779:	cc                   	int3
14001377a:	90                   	nop
14001377b:	90                   	nop
14001377c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140013781:	55                   	push   %rbp
140013782:	56                   	push   %rsi
140013783:	57                   	push   %rdi
140013784:	41 54                	push   %r12
140013786:	41 55                	push   %r13
140013788:	41 56                	push   %r14
14001378a:	41 57                	push   %r15
14001378c:	48 8b ec             	mov    %rsp,%rbp
14001378f:	48 83 ec 50          	sub    $0x50,%rsp
140013793:	45 33 ff             	xor    %r15d,%r15d
140013796:	44 8a e2             	mov    %dl,%r12b
140013799:	48 8b f9             	mov    %rcx,%rdi
14001379c:	48 85 c9             	test   %rcx,%rcx
14001379f:	0f 84 bc 01 00 00    	je     0x140013961
1400137a5:	84 d2                	test   %dl,%dl
1400137a7:	74 16                	je     0x1400137bf
1400137a9:	44 39 3d 7c fa 2f 00 	cmp    %r15d,0x2ffa7c(%rip)        # 0x14031322c
1400137b0:	74 06                	je     0x1400137b8
1400137b2:	f6 41 1c 40          	testb  $0x40,0x1c(%rcx)
1400137b6:	74 40                	je     0x1400137f8
1400137b8:	b8 01 00 00 00       	mov    $0x1,%eax
1400137bd:	eb 3c                	jmp    0x1400137fb
1400137bf:	8b 05 9b fd 2f 00    	mov    0x2ffd9b(%rip),%eax        # 0x140313560
1400137c5:	85 c0                	test   %eax,%eax
1400137c7:	74 08                	je     0x1400137d1
1400137c9:	83 f8 02             	cmp    $0x2,%eax
1400137cc:	0f 94 c0             	sete   %al
1400137cf:	eb 0a                	jmp    0x1400137db
1400137d1:	44 38 3d d8 fd 2f 00 	cmp    %r15b,0x2ffdd8(%rip)        # 0x1403135b0
1400137d8:	0f 95 c0             	setne  %al
1400137db:	84 c0                	test   %al,%al
1400137dd:	74 19                	je     0x1400137f8
1400137df:	0f b7 41 1c          	movzwl 0x1c(%rcx),%eax
1400137e3:	66 83 e0 30          	and    $0x30,%ax
1400137e7:	66 83 f8 10          	cmp    $0x10,%ax
1400137eb:	74 0b                	je     0x1400137f8
1400137ed:	66 83 f8 20          	cmp    $0x20,%ax
1400137f1:	b8 01 00 00 00       	mov    $0x1,%eax
1400137f6:	75 03                	jne    0x1400137fb
1400137f8:	41 8b c7             	mov    %r15d,%eax