14016f5ff:	4c 8d 87 28 12 00 00 	lea    0x1228(%rdi),%r8
14016f606:	45 33 c9             	xor    %r9d,%r9d
14016f609:	ba 07 00 00 00       	mov    $0x7,%edx
14016f60e:	48 8b cd             	mov    %rbp,%rcx
14016f611:	e8 2a f8 fe ff       	call   0x14015ee40
14016f616:	85 c0                	test   %eax,%eax
14016f618:	0f 84 a4 00 00 00    	je     0x14016f6c2
14016f61e:	83 e8 05             	sub    $0x5,%eax
14016f621:	0f 84 6c fc ff ff    	je     0x14016f293
14016f627:	83 e8 02             	sub    $0x2,%eax
14016f62a:	0f 84 57 fc ff ff    	je     0x14016f287
14016f630:	83 f8 01             	cmp    $0x1,%eax
14016f633:	0f 85 5f fc ff ff    	jne    0x14016f298
14016f639:	bb 43 00 00 00       	mov    $0x43,%ebx
14016f63e:	8b c3                	mov    %ebx,%eax
14016f640:	e9 b7 00 00 00       	jmp    0x14016f6fc
14016f645:	83 f9 0b             	cmp    $0xb,%ecx
14016f648:	0f 84 dd fe ff ff    	je     0x14016f52b
14016f64e:	83 e9 05             	sub    $0x5,%ecx
14016f651:	0f 84 3c fc ff ff    	je     0x14016f293
14016f657:	83 e9 02             	sub    $0x2,%ecx
14016f65a:	0f 84 27 fc ff ff    	je     0x14016f287
14016f660:	83 f9 01             	cmp    $0x1,%ecx
14016f663:	e9 0d fc ff ff       	jmp    0x14016f275
14016f668:	83 f9 0c             	cmp    $0xc,%ecx
14016f66b:	0f 84 4d ff ff ff    	je     0x14016f5be
14016f671:	83 e9 05             	sub    $0x5,%ecx
14016f674:	0f 84 19 fc ff ff    	je     0x14016f293
14016f67a:	83 e9 02             	sub    $0x2,%ecx
14016f67d:	0f 84 04 fc ff ff    	je     0x14016f287
14016f683:	83 f9 01             	cmp    $0x1,%ecx
14016f686:	0f 85 0c fc ff ff    	jne    0x14016f298
14016f68c:	bb 43 00 00 00       	mov    $0x43,%ebx
14016f691:	8b c3                	mov    %ebx,%eax
14016f693:	eb 67                	jmp    0x14016f6fc
14016f695:	83 fa 0d             	cmp    $0xd,%edx
14016f698:	0f 84 61 ff ff ff    	je     0x14016f5ff
14016f69e:	83 ea 05             	sub    $0x5,%edx
14016f6a1:	0f 84 ec fb ff ff    	je     0x14016f293
14016f6a7:	83 ea 02             	sub    $0x2,%edx
14016f6aa:	0f 84 d7 fb ff ff    	je     0x14016f287
14016f6b0:	83 fa 01             	cmp    $0x1,%edx
14016f6b3:	0f 85 df fb ff ff    	jne    0x14016f298
14016f6b9:	bb 43 00 00 00       	mov    $0x43,%ebx
14016f6be:	8b c3                	mov    %ebx,%eax
14016f6c0:	eb 3a                	jmp    0x14016f6fc
14016f6c2:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14016f6c8:	4c 8d 87 08 12 00 00 	lea    0x1208(%rdi),%r8
14016f6cf:	ba 06 00 00 00       	mov    $0x6,%edx
14016f6d4:	48 8b cd             	mov    %rbp,%rcx
14016f6d7:	e8 64 f7 fe ff       	call   0x14015ee40
14016f6dc:	85 c0                	test   %eax,%eax
14016f6de:	74 3a                	je     0x14016f71a
14016f6e0:	48 8b 97 f8 11 00 00 	mov    0x11f8(%rdi),%rdx
14016f6e7:	48 8d 0d f2 0d 1d 00 	lea    0x1d0df2(%rip),%rcx        # 0x1403404e0
14016f6ee:	e8 dd 31 fe ff       	call   0x1401528d0
14016f6f3:	85 c0                	test   %eax,%eax
14016f6f5:	75 61                	jne    0x14016f758
14016f6f7:	b8 1b 00 00 00       	mov    $0x1b,%eax
14016f6fc:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
14016f701:	4c 8b 6c 24 78       	mov    0x78(%rsp),%r13
14016f706:	4c 8b 64 24 70       	mov    0x70(%rsp),%r12
14016f70b:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14016f710:	48 83 c4 38          	add    $0x38,%rsp
14016f714:	41 5e                	pop    %r14
14016f716:	5f                   	pop    %rdi
14016f717:	5e                   	pop    %rsi
14016f718:	5d                   	pop    %rbp
14016f719:	c3                   	ret
14016f71a:	48 8b 8f 08 12 00 00 	mov    0x1208(%rdi),%rcx
14016f721:	33 d2                	xor    %edx,%edx
14016f723:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
14016f729:	ff 15 41 a7 1b 00    	call   *0x1ba741(%rip)        # 0x140329e70
14016f72f:	8b 8f 10 02 00 00    	mov    0x210(%rdi),%ecx
14016f735:	85 c9                	test   %ecx,%ecx
14016f737:	74 09                	je     0x14016f742
14016f739:	44 38 af 04 13 00 00 	cmp    %r13b,0x1304(%rdi)
14016f740:	75 0a                	jne    0x14016f74c
14016f742:	8b c8                	mov    %eax,%ecx
14016f744:	e8 37 92 00 00       	call   0x140178980
14016f749:	0f b7 c8             	movzwl %ax,%ecx
14016f74c:	89 8e 54 01 00 00    	mov    %ecx,0x154(%rsi)
14016f752:	89 8e 50 01 00 00    	mov    %ecx,0x150(%rsi)
14016f758:	4c 8d 87 30 12 00 00 	lea    0x1230(%rdi),%r8
14016f75f:	45 33 c9             	xor    %r9d,%r9d
14016f762:	ba 08 00 00 00       	mov    $0x8,%edx
14016f767:	48 8b cd             	mov    %rbp,%rcx
14016f76a:	e8 d1 f6 fe ff       	call   0x14015ee40
14016f76f:	48 8b 8f 00 12 00 00 	mov    0x1200(%rdi),%rcx
14016f776:	48 8b d9             	mov    %rcx,%rbx
14016f779:	48 85 c9             	test   %rcx,%rcx
14016f77c:	74 33                	je     0x14016f7b1
14016f77e:	80 39 5b             	cmpb   $0x5b,(%rcx)
14016f781:	75 2e                	jne    0x14016f7b1
14016f783:	c6 86 d8 03 00 00 01 	movb   $0x1,0x3d8(%rsi)
14016f78a:	48 ff c3             	inc    %rbx
14016f78d:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14016f794:	44 38 6c 03 01       	cmp    %r13b,0x1(%rbx,%rax,1)
14016f799:	48 8d 40 01          	lea    0x1(%rax),%rax
14016f79d:	75 f5                	jne    0x14016f794
14016f79f:	44 88 2c 08          	mov    %r13b,(%rax,%rcx,1)
14016f7a3:	4c 8b c6             	mov    %rsi,%r8
14016f7a6:	48 8b cd             	mov    %rbp,%rcx
14016f7a9:	48 8b d7             	mov    %rdi,%rdx
14016f7ac:	e8 7f 64 00 00       	call   0x140175c30
14016f7b1:	48 85 db             	test   %rbx,%rbx
14016f7b4:	48 8d 0d 7d b1 1b 00 	lea    0x1bb17d(%rip),%rcx        # 0x14032a938
14016f7bb:	48 0f 45 cb          	cmovne %rbx,%rcx
14016f7bf:	ff 15 5b 35 29 00    	call   *0x29355b(%rip)        # 0x140402d20
14016f7c5:	48 89 86 90 00 00 00 	mov    %rax,0x90(%rsi)
14016f7cc:	48 85 c0             	test   %rax,%rax
14016f7cf:	0f 84 22 ff ff ff    	je     0x14016f6f7
14016f7d5:	48 89 86 a0 00 00 00 	mov    %rax,0xa0(%rsi)
14016f7dc:	8b 87 40 0a 00 00    	mov    0xa40(%rdi),%eax
14016f7e2:	85 c0                	test   %eax,%eax
14016f7e4:	74 06                	je     0x14016f7ec
14016f7e6:	89 86 88 00 00 00    	mov    %eax,0x88(%rsi)
14016f7ec:	33 c0                	xor    %eax,%eax
14016f7ee:	e9 09 ff ff ff       	jmp    0x14016f6fc
14016f7f3:	4c 8b c3             	mov    %rbx,%r8
14016f7f6:	48 8d 15 8b 0c 1d 00 	lea    0x1d0c8b(%rip),%rdx        # 0x140340488
14016f7fd:	48 8b cf             	mov    %rdi,%rcx
14016f800:	e8 2b 2f fd ff       	call   0x140142730
14016f805:	b8 01 00 00 00       	mov    $0x1,%eax
14016f80a:	e9 ed fe ff ff       	jmp    0x14016f6fc
14016f80f:	cc                   	int3
14016f810:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14016f815:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14016f81a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14016f81f:	57                   	push   %rdi
14016f820:	48 83 ec 20          	sub    $0x20,%rsp
14016f824:	49 8b d9             	mov    %r9,%rbx
14016f827:	8b f2                	mov    %edx,%esi
14016f829:	48 8b e9             	mov    %rcx,%rbp
14016f82c:	45 85 c0             	test   %r8d,%r8d
14016f82f:	75 39                	jne    0x14016f86a
14016f831:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
14016f838:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14016f83f:	00
14016f840:	48 ff c1             	inc    %rcx
14016f843:	41 80 3c 09 00       	cmpb   $0x0,(%r9,%rcx,1)
14016f848:	75 f6                	jne    0x14016f840
14016f84a:	e8 11 91 00 00       	call   0x140178960
14016f84f:	8b f8                	mov    %eax,%edi
14016f851:	3b f0                	cmp    %eax,%esi
14016f853:	7e 15                	jle    0x14016f86a
14016f855:	8d 48 01             	lea    0x1(%rax),%ecx
14016f858:	48 8b d3             	mov    %rbx,%rdx
14016f85b:	4c 63 c1             	movslq %ecx,%r8
14016f85e:	48 8b cd             	mov    %rbp,%rcx
14016f861:	e8 c2 d1 18 00       	call   0x1402fca28
14016f866:	8b c7                	mov    %edi,%eax
14016f868:	eb 02                	jmp    0x14016f86c
14016f86a:	33 c0                	xor    %eax,%eax
14016f86c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14016f871:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14016f876:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14016f87b:	48 83 c4 20          	add    $0x20,%rsp
14016f87f:	5f                   	pop    %rdi
14016f880:	c3                   	ret
14016f881:	cc                   	int3
14016f882:	cc                   	int3
14016f883:	cc                   	int3
14016f884:	cc                   	int3
14016f885:	cc                   	int3
14016f886:	cc                   	int3
14016f887:	cc                   	int3
14016f888:	cc                   	int3
14016f889:	cc                   	int3
14016f88a:	cc                   	int3
14016f88b:	cc                   	int3
14016f88c:	cc                   	int3
14016f88d:	cc                   	int3
14016f88e:	cc                   	int3
14016f88f:	cc                   	int3
14016f890:	48 89 74 24 08       	mov    %rsi,0x8(%rsp)
14016f895:	57                   	push   %rdi
14016f896:	48 83 ec 20          	sub    $0x20,%rsp
14016f89a:	44 8b 99 c8 0d 00 00 	mov    0xdc8(%rcx),%r11d
14016f8a1:	45 33 d2             	xor    %r10d,%r10d
14016f8a4:	49 8b f0             	mov    %r8,%rsi
14016f8a7:	48 8b f9             	mov    %rcx,%rdi
14016f8aa:	45 85 db             	test   %r11d,%r11d
14016f8ad:	74 19                	je     0x14016f8c8
14016f8af:	90                   	nop
14016f8b0:	4b 8d 04 92          	lea    (%r10,%r10,4),%rax
14016f8b4:	41 8b ca             	mov    %r10d,%ecx
14016f8b7:	39 94 c7 70 0d 00 00 	cmp    %edx,0xd70(%rdi,%rax,8)
14016f8be:	74 50                	je     0x14016f910
14016f8c0:	41 ff c2             	inc    %r10d
14016f8c3:	45 3b d3             	cmp    %r11d,%r10d
14016f8c6:	72 e8                	jb     0x14016f8b0
14016f8c8:	4b 8d 04 92          	lea    (%r10,%r10,4),%rax
14016f8cc:	41 8b ca             	mov    %r10d,%ecx
14016f8cf:	48 c7 84 c7 50 0d 00 	movq   $0x0,0xd50(%rdi,%rax,8)
14016f8d6:	00 00 00 00 00
14016f8db:	48 c7 84 c7 58 0d 00 	movq   $0x0,0xd58(%rdi,%rax,8)
14016f8e2:	00 00 00 00 00
14016f8e7:	48 c7 84 c7 60 0d 00 	movq   $0x0,0xd60(%rdi,%rax,8)
14016f8ee:	00 00 00 00 00
14016f8f3:	48 c7 84 c7 68 0d 00 	movq   $0x4000000,0xd68(%rdi,%rax,8)
14016f8fa:	00 00 00 00 04
14016f8ff:	4b 8d 04 92          	lea    (%r10,%r10,4),%rax
14016f903:	89 94 c7 70 0d 00 00 	mov    %edx,0xd70(%rdi,%rax,8)
14016f90a:	ff 87 c8 0d 00 00    	incl   0xdc8(%rdi)
14016f910:	48 8d 04 8d aa 01 00 	lea    0x1aa(,%rcx,4),%rax
14016f917:	00
14016f918:	4d 8b c1             	mov    %r9,%r8
14016f91b:	48 03 c1             	add    %rcx,%rax
14016f91e:	48 8b d6             	mov    %rsi,%rdx
14016f921:	48 8d 0c c7          	lea    (%rdi,%rax,8),%rcx
14016f925:	e8 96 37 ff ff       	call   0x1401630c0
14016f92a:	85 c0                	test   %eax,%eax
14016f92c:	74 10                	je     0x14016f93e
14016f92e:	b8 1b 00 00 00       	mov    $0x1b,%eax
14016f933:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14016f938:	48 83 c4 20          	add    $0x20,%rsp
14016f93c:	5f                   	pop    %rdi
14016f93d:	c3                   	ret
14016f93e:	83 8f 5c 01 00 00 10 	orl    $0x10,0x15c(%rdi)
14016f945:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
14016f94a:	33 c0                	xor    %eax,%eax
14016f94c:	48 83 c4 20          	add    $0x20,%rsp
14016f950:	5f                   	pop    %rdi
14016f951:	c3                   	ret
14016f952:	cc                   	int3
14016f953:	cc                   	int3
14016f954:	cc                   	int3
14016f955:	cc                   	int3
14016f956:	cc                   	int3
14016f957:	cc                   	int3
14016f958:	cc                   	int3
14016f959:	cc                   	int3
14016f95a:	cc                   	int3
14016f95b:	cc                   	int3
14016f95c:	cc                   	int3
14016f95d:	cc                   	int3
14016f95e:	cc                   	int3
14016f95f:	cc                   	int3
14016f960:	8b 41 08             	mov    0x8(%rcx),%eax
14016f963:	23 01                	and    (%rcx),%eax
14016f965:	23 c2                	and    %edx,%eax
14016f967:	b2 01                	mov    $0x1,%dl
14016f969:	a8 04                	test   $0x4,%al
14016f96b:	74 12                	je     0x14016f97f
14016f96d:	c7 41 04 04 00 00 00 	movl   $0x4,0x4(%rcx)
14016f974:	0f b6 c2             	movzbl %dl,%eax
14016f977:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f97e:	c3                   	ret
14016f97f:	a8 40                	test   $0x40,%al
14016f981:	74 12                	je     0x14016f995
14016f983:	c7 41 04 40 00 00 00 	movl   $0x40,0x4(%rcx)
14016f98a:	0f b6 c2             	movzbl %dl,%eax
14016f98d:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f994:	c3                   	ret
14016f995:	a8 02                	test   $0x2,%al
14016f997:	74 12                	je     0x14016f9ab
14016f999:	c7 41 04 02 00 00 00 	movl   $0x2,0x4(%rcx)
14016f9a0:	0f b6 c2             	movzbl %dl,%eax
14016f9a3:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9aa:	c3                   	ret
14016f9ab:	a8 08                	test   $0x8,%al
14016f9ad:	74 12                	je     0x14016f9c1
14016f9af:	c7 41 04 08 00 00 00 	movl   $0x8,0x4(%rcx)
14016f9b6:	0f b6 c2             	movzbl %dl,%eax
14016f9b9:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9c0:	c3                   	ret
14016f9c1:	a8 20                	test   $0x20,%al
14016f9c3:	74 12                	je     0x14016f9d7
14016f9c5:	c7 41 04 20 00 00 00 	movl   $0x20,0x4(%rcx)
14016f9cc:	0f b6 c2             	movzbl %dl,%eax
14016f9cf:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9d6:	c3                   	ret
14016f9d7:	84 c2                	test   %al,%dl
14016f9d9:	74 12                	je     0x14016f9ed
14016f9db:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%rcx)
14016f9e2:	0f b6 c2             	movzbl %dl,%eax
14016f9e5:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016f9ec:	c3                   	ret
14016f9ed:	84 c0                	test   %al,%al
14016f9ef:	79 12                	jns    0x14016fa03
14016f9f1:	c7 41 04 80 00 00 00 	movl   $0x80,0x4(%rcx)
14016f9f8:	0f b6 c2             	movzbl %dl,%eax
14016f9fb:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016fa02:	c3                   	ret
14016fa03:	32 d2                	xor    %dl,%dl
14016fa05:	c7 41 04 00 00 00 40 	movl   $0x40000000,0x4(%rcx)
14016fa0c:	0f b6 c2             	movzbl %dl,%eax
14016fa0f:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%rcx)
14016fa16:	c3                   	ret
14016fa17:	cc                   	int3
14016fa18:	cc                   	int3
14016fa19:	cc                   	int3
14016fa1a:	cc                   	int3
14016fa1b:	cc                   	int3
14016fa1c:	cc                   	int3
14016fa1d:	cc                   	int3
14016fa1e:	cc                   	int3
14016fa1f:	cc                   	int3
14016fa20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14016fa25:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14016fa2a:	57                   	push   %rdi
14016fa2b:	48 83 ec 30          	sub    $0x30,%rsp
14016fa2f:	49 63 f0             	movslq %r8d,%rsi
14016fa32:	48 8b fa             	mov    %rdx,%rdi
14016fa35:	48 8b d9             	mov    %rcx,%rbx
14016fa38:	c6 84 16 c8 03 00 00 	movb   $0x1,0x3c8(%rsi,%rdx,1)
14016fa3f:	01
14016fa40:	41 c6 01 01          	movb   $0x1,(%r9)
14016fa44:	45 85 c0             	test   %r8d,%r8d
14016fa47:	75 13                	jne    0x14016fa5c
14016fa49:	48 8b d1             	mov    %rcx,%rdx
14016fa4c:	41 b8 04 00 00 00    	mov    $0x4,%r8d
14016fa52:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14016fa57:	e8 a4 e9 fd ff       	call   0x14014e400
14016fa5c:	4c 8b 84 f7 e8 01 00 	mov    0x1e8(%rdi,%rsi,8),%r8
14016fa63:	00
14016fa64:	48 8b d7             	mov    %rdi,%rdx
14016fa67:	48 8b cb             	mov    %rbx,%rcx
14016fa6a:	e8 91 36 fe ff       	call   0x140153100
14016fa6f:	48 8b d7             	mov    %rdi,%rdx
14016fa72:	48 8b cb             	mov    %rbx,%rcx
14016fa75:	e8 b6 3a fe ff       	call   0x140153530
14016fa7a:	ff 83 48 13 00 00    	incl   0x1348(%rbx)
14016fa80:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14016fa85:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14016fa8a:	48 83 c4 30          	add    $0x30,%rsp
14016fa8e:	5f                   	pop    %rdi
14016fa8f:	c3                   	ret
14016fa90:	48 83 ec 28          	sub    $0x28,%rsp
14016fa94:	48 8b 51 40          	mov    0x40(%rcx),%rdx
14016fa98:	48 85 d2             	test   %rdx,%rdx
14016fa9b:	0f 84 d8 00 00 00    	je     0x14016fb79
14016faa1:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14016faa6:	48 8b 1a             	mov    (%rdx),%rbx
14016faa9:	83 7b 50 02          	cmpl   $0x2,0x50(%rbx)
14016faad:	74 23                	je     0x14016fad2
14016faaf:	48 8b 83 60 02 00 00 	mov    0x260(%rbx),%rax
14016fab6:	48 89 83 d0 11 00 00 	mov    %rax,0x11d0(%rbx)
14016fabd:	48 8b 83 f8 01 00 00 	mov    0x1f8(%rbx),%rax
14016fac4:	48 89 83 d8 11 00 00 	mov    %rax,0x11d8(%rbx)
14016facb:	c7 43 50 02 00 00 00 	movl   $0x2,0x50(%rbx)
14016fad2:	48 83 79 58 00       	cmpq   $0x0,0x58(%rcx)
14016fad7:	0f 84 80 00 00 00    	je     0x14016fb5d
14016fadd:	45 33 d2             	xor    %r10d,%r10d
14016fae0:	48 3b 51 40          	cmp    0x40(%rcx),%rdx
14016fae4:	75 25                	jne    0x14016fb0b
14016fae6:	48 8b 42 10          	mov    0x10(%rdx),%rax
14016faea:	48 89 41 40          	mov    %rax,0x40(%rcx)
14016faee:	48 85 c0             	test   %rax,%rax