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
1400137fb:	85 c0                	test   %eax,%eax
1400137fd:	0f 85 5e 01 00 00    	jne    0x140013961
140013803:	48 8d 05 66 e0 2f 00 	lea    0x2fe066(%rip),%rax        # 0x140311870
14001380a:	4c 89 7d e8          	mov    %r15,-0x18(%rbp)
14001380e:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140013812:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140013816:	e8 2d 99 ff ff       	call   0x14000d148
14001381b:	48 8d 35 92 52 23 00 	lea    0x235292(%rip),%rsi        # 0x140248ab4
140013822:	44 0f b6 06          	movzbl (%rsi),%r8d
140013826:	45 85 c0             	test   %r8d,%r8d
140013829:	74 09                	je     0x140013834
14001382b:	41 8a c7             	mov    %r15b,%al
14001382e:	41 83 f8 01          	cmp    $0x1,%r8d
140013832:	75 02                	jne    0x140013836
140013834:	b0 01                	mov    $0x1,%al
140013836:	44 3a e0             	cmp    %al,%r12b
140013839:	0f 85 06 01 00 00    	jne    0x140013945
14001383f:	48 8b d7             	mov    %rdi,%rdx
140013842:	41 8a c8             	mov    %r8b,%cl
140013845:	e8 42 f0 ff ff       	call   0x14001288c
14001384a:	89 45 40             	mov    %eax,0x40(%rbp)
14001384d:	8b c8                	mov    %eax,%ecx
14001384f:	83 f8 ff             	cmp    $0xffffffff,%eax
140013852:	0f 84 ed 00 00 00    	je     0x140013945
140013858:	45 8b f7             	mov    %r15d,%r14d
14001385b:	41 83 fe 04          	cmp    $0x4,%r14d
14001385f:	0f 8d e0 00 00 00    	jge    0x140013945
140013865:	8a 47 18             	mov    0x18(%rdi),%al
140013868:	44 8b c9             	mov    %ecx,%r9d
14001386b:	48 8b 57 10          	mov    0x10(%rdi),%rdx
14001386f:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140013873:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140013878:	45 33 c0             	xor    %r8d,%r8d
14001387b:	88 44 24 20          	mov    %al,0x20(%rsp)
14001387f:	45 8a ef             	mov    %r15b,%r13b
140013882:	e8 89 e2 ff ff       	call   0x140011b10
140013887:	44 8b 38             	mov    (%rax),%r15d
14001388a:	48 8b 58 08          	mov    0x8(%rax),%rbx
14001388e:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
140013893:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140013897:	48 85 c9             	test   %rcx,%rcx
14001389a:	74 12                	je     0x1400138ae
14001389c:	48 83 65 f8 00       	andq   $0x0,-0x8(%rbp)
1400138a1:	48 8b 01             	mov    (%rcx),%rax
1400138a4:	48 8b 40 08          	mov    0x8(%rax),%rax
1400138a8:	ff 15 82 f5 1f 00    	call   *0x1ff582(%rip)        # 0x140212e30
1400138ae:	45 85 ff             	test   %r15d,%r15d
1400138b1:	75 6b                	jne    0x14001391e
1400138b3:	48 8b 17             	mov    (%rdi),%rdx
1400138b6:	45 33 ff             	xor    %r15d,%r15d
1400138b9:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1400138bd:	45 33 c9             	xor    %r9d,%r9d
1400138c0:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
1400138c5:	45 33 c0             	xor    %r8d,%r8d
1400138c8:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1400138cd:	ff 15 65 e8 31 00    	call   *0x31e865(%rip)        # 0x140332138
1400138d3:	85 c0                	test   %eax,%eax
1400138d5:	0f 84 a0 00 00 00    	je     0x14001397b
1400138db:	3d f2 03 00 00       	cmp    $0x3f2,%eax
1400138e0:	74 0f                	je     0x1400138f1
1400138e2:	3d fa 03 00 00       	cmp    $0x3fa,%eax
1400138e7:	74 08                	je     0x1400138f1
1400138e9:	83 f8 06             	cmp    $0x6,%eax
1400138ec:	41 8b c7             	mov    %r15d,%eax
1400138ef:	75 05                	jne    0x1400138f6
1400138f1:	b8 01 00 00 00       	mov    $0x1,%eax
1400138f6:	85 c0                	test   %eax,%eax
1400138f8:	74 27                	je     0x140013921
1400138fa:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1400138fe:	48 8d 15 4b f1 2e 00 	lea    0x2ef14b(%rip),%rdx        # 0x140302a50
140013905:	0f b7 41 0a          	movzwl 0xa(%rcx),%eax
140013909:	83 e0 1f             	and    $0x1f,%eax
14001390c:	48 c1 e0 05          	shl    $0x5,%rax
140013910:	4c 89 3c 10          	mov    %r15,(%rax,%rdx,1)
140013914:	e8 13 93 ff ff       	call   0x14000cc2c
140013919:	41 b5 01             	mov    $0x1,%r13b
14001391c:	eb 03                	jmp    0x140013921
14001391e:	45 33 ff             	xor    %r15d,%r15d
140013921:	48 85 db             	test   %rbx,%rbx
140013924:	74 10                	je     0x140013936
140013926:	48 8b 03             	mov    (%rbx),%rax
140013929:	48 8b cb             	mov    %rbx,%rcx
14001392c:	48 8b 40 08          	mov    0x8(%rax),%rax
140013930:	ff 15 fa f4 1f 00    	call   *0x1ff4fa(%rip)        # 0x140212e30
140013936:	8b 4d 40             	mov    0x40(%rbp),%ecx
140013939:	41 ff c6             	inc    %r14d
14001393c:	45 84 ed             	test   %r13b,%r13b
14001393f:	0f 85 16 ff ff ff    	jne    0x14001385b
140013945:	48 ff c6             	inc    %rsi
140013948:	48 8d 05 68 51 23 00 	lea    0x235168(%rip),%rax        # 0x140248ab7
14001394f:	48 3b f0             	cmp    %rax,%rsi
140013952:	0f 85 ca fe ff ff    	jne    0x140013822
140013958:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14001395c:	e8 6b 96 ff ff       	call   0x14000cfcc
140013961:	32 c0                	xor    %al,%al
140013963:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
14001396a:	00
14001396b:	48 83 c4 50          	add    $0x50,%rsp
14001396f:	41 5f                	pop    %r15
140013971:	41 5e                	pop    %r14
140013973:	41 5d                	pop    %r13
140013975:	41 5c                	pop    %r12
140013977:	5f                   	pop    %rdi
140013978:	5e                   	pop    %rsi
140013979:	5d                   	pop    %rbp
14001397a:	c3                   	ret
14001397b:	48 85 db             	test   %rbx,%rbx
14001397e:	74 38                	je     0x1400139b8
140013980:	48 8b 03             	mov    (%rbx),%rax
140013983:	48 8b cb             	mov    %rbx,%rcx
140013986:	48 8b 40 08          	mov    0x8(%rax),%rax
14001398a:	ff 15 a0 f4 1f 00    	call   *0x1ff4a0(%rip)        # 0x140212e30
140013990:	eb 26                	jmp    0x1400139b8
140013992:	83 c8 ff             	or     $0xffffffff,%eax
140013995:	f0 0f c1 45 e8       	lock xadd %eax,-0x18(%rbp)
14001399a:	83 f8 01             	cmp    $0x1,%eax
14001399d:	75 0f                	jne    0x1400139ae
14001399f:	ff 15 33 ee 1f 00    	call   *0x1fee33(%rip)        # 0x1402127d8
1400139a5:	39 45 ec             	cmp    %eax,-0x14(%rbp)
1400139a8:	75 2b                	jne    0x1400139d5
1400139aa:	44 89 7d ec          	mov    %r15d,-0x14(%rbp)
1400139ae:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
1400139b2:	ff 15 40 ee 1f 00    	call   *0x1fee40(%rip)        # 0x1402127f8
1400139b8:	8b 45 e8             	mov    -0x18(%rbp),%eax
1400139bb:	85 c0                	test   %eax,%eax
1400139bd:	75 d3                	jne    0x140013992
1400139bf:	90                   	nop
1400139c0:	44 39 7d ec          	cmp    %r15d,-0x14(%rbp)
1400139c4:	74 0b                	je     0x1400139d1
1400139c6:	ff 15 0c ee 1f 00    	call   *0x1fee0c(%rip)        # 0x1402127d8
1400139cc:	39 45 ec             	cmp    %eax,-0x14(%rbp)
1400139cf:	75 11                	jne    0x1400139e2
1400139d1:	b0 01                	mov    $0x1,%al
1400139d3:	eb 8e                	jmp    0x140013963
1400139d5:	33 d2                	xor    %edx,%edx
1400139d7:	b9 c5 f4 31 01       	mov    $0x131f4c5,%ecx
1400139dc:	e8 03 79 ff ff       	call   0x14000b2e4
1400139e1:	cc                   	int3
1400139e2:	33 d2                	xor    %edx,%edx
1400139e4:	b9 c3 f4 31 01       	mov    $0x131f4c3,%ecx
1400139e9:	e8 f6 78 ff ff       	call   0x14000b2e4
1400139ee:	cc                   	int3
1400139ef:	90                   	nop
1400139f0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400139f5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400139fa:	55                   	push   %rbp
1400139fb:	57                   	push   %rdi
1400139fc:	41 56                	push   %r14
1400139fe:	48 8b ec             	mov    %rsp,%rbp
140013a01:	48 83 ec 50          	sub    $0x50,%rsp
140013a05:	45 33 f6             	xor    %r14d,%r14d
140013a08:	48 8b f9             	mov    %rcx,%rdi
140013a0b:	48 85 c9             	test   %rcx,%rcx
140013a0e:	0f 84 cd 02 00 00    	je     0x140013ce1
140013a14:	48 8b 41 10          	mov    0x10(%rcx),%rax
140013a18:	41 8d 4e 1f          	lea    0x1f(%r14),%ecx
140013a1c:	0f b7 50 0a          	movzwl 0xa(%rax),%edx
140013a20:	0f b7 c2             	movzwl %dx,%eax
140013a23:	66 23 c1             	and    %cx,%ax
140013a26:	74 1e                	je     0x140013a46
140013a28:	66 83 f8 05          	cmp    $0x5,%ax
140013a2c:	74 18                	je     0x140013a46
140013a2e:	48 23 d1             	and    %rcx,%rdx
140013a31:	48 8d 05 18 f0 2e 00 	lea    0x2ef018(%rip),%rax        # 0x140302a50
140013a38:	48 c1 e2 05          	shl    $0x5,%rdx
140013a3c:	4c 39 34 02          	cmp    %r14,(%rdx,%rax,1)
140013a40:	0f 85 3b 02 00 00    	jne    0x140013c81
140013a46:	48 8d 05 23 de 2f 00 	lea    0x2fde23(%rip),%rax        # 0x140311870
140013a4d:	4c 89 75 e8          	mov    %r14,-0x18(%rbp)
140013a51:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140013a55:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140013a59:	e8 ea 96 ff ff       	call   0x14000d148
140013a5e:	8a 47 18             	mov    0x18(%rdi),%al
140013a61:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140013a65:	48 8b 57 10          	mov    0x10(%rdi),%rdx