14089f4f8:	89 07                	mov    %eax,(%rdi)
14089f4fa:	e9 80 00 00 00       	jmp    0x14089f57f
14089f4ff:	0f b7 43 18          	movzwl 0x18(%rbx),%eax
14089f503:	66 83 e8 01          	sub    $0x1,%ax
14089f507:	66 89 43 18          	mov    %ax,0x18(%rbx)
14089f50b:	75 45                	jne    0x14089f552
14089f50d:	33 c0                	xor    %eax,%eax
14089f50f:	41 8d 4f 01          	lea    0x1(%r15),%ecx
14089f513:	89 04 29             	mov    %eax,(%rcx,%rbp,1)
14089f516:	41 88 44 2f 07       	mov    %al,0x7(%r15,%rbp,1)
14089f51b:	48 8b 43 48          	mov    0x48(%rbx),%rax
14089f51f:	8b 48 38             	mov    0x38(%rax),%ecx
14089f522:	c1 e9 08             	shr    $0x8,%ecx
14089f525:	41 88 4c 2f 05       	mov    %cl,0x5(%r15,%rbp,1)
14089f52a:	48 8b 43 48          	mov    0x48(%rbx),%rax
14089f52e:	0f b6 48 38          	movzbl 0x38(%rax),%ecx
14089f532:	41 88 4c 2f 06       	mov    %cl,0x6(%r15,%rbp,1)
14089f537:	48 8b 43 48          	mov    0x48(%rbx),%rax
14089f53b:	0f b6 4b 0a          	movzbl 0xa(%rbx),%ecx
14089f53f:	8b 50 38             	mov    0x38(%rax),%edx
14089f542:	0f b6 43 09          	movzbl 0x9(%rbx),%eax
14089f546:	2b d1                	sub    %ecx,%edx
14089f548:	2b d0                	sub    %eax,%edx
14089f54a:	83 ea 08             	sub    $0x8,%edx
14089f54d:	89 53 14             	mov    %edx,0x14(%rbx)
14089f550:	eb 2d                	jmp    0x14089f57f
14089f552:	0f b7 c0             	movzwl %ax,%eax
14089f555:	48 8d 56 02          	lea    0x2(%rsi),%rdx
14089f559:	41 2b c6             	sub    %r14d,%eax
14089f55c:	48 8b ce             	mov    %rsi,%rcx
14089f55f:	03 c0                	add    %eax,%eax
14089f561:	4c 63 c0             	movslq %eax,%r8
14089f564:	e8 a7 fa 63 00       	call   0x140edf010
14089f569:	0f b6 43 19          	movzbl 0x19(%rbx),%eax
14089f56d:	41 88 44 2f 03       	mov    %al,0x3(%r15,%rbp,1)
14089f572:	0f b6 43 18          	movzbl 0x18(%rbx),%eax
14089f576:	41 88 44 2f 04       	mov    %al,0x4(%r15,%rbp,1)
14089f57b:	83 43 14 02          	addl   $0x2,0x14(%rbx)
14089f57f:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
14089f584:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14089f589:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
14089f58e:	48 83 c4 30          	add    $0x30,%rsp
14089f592:	41 5e                	pop    %r14
14089f594:	5f                   	pop    %rdi
14089f595:	5b                   	pop    %rbx
14089f596:	c3                   	ret
14089f597:	cc                   	int3
14089f598:	cc                   	int3
14089f599:	cc                   	int3
14089f59a:	cc                   	int3
14089f59b:	cc                   	int3
14089f59c:	cc                   	int3
14089f59d:	cc                   	int3
14089f59e:	cc                   	int3
14089f59f:	cc                   	int3
14089f5a0:	85 d2                	test   %edx,%edx
14089f5a2:	74 2c                	je     0x14089f5d0
14089f5a4:	80 39 b2             	cmpb   $0xb2,(%rcx)
14089f5a7:	74 27                	je     0x14089f5d0
14089f5a9:	f7 41 04 00 00 00 01 	testl  $0x1000000,0x4(%rcx)
14089f5b0:	75 1e                	jne    0x14089f5d0
14089f5b2:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
14089f5b7:	75 0f                	jne    0x14089f5c8
14089f5b9:	48 83 79 20 00       	cmpq   $0x0,0x20(%rcx)
14089f5be:	75 08                	jne    0x14089f5c8
14089f5c0:	41 b8 10 00 00 00    	mov    $0x10,%r8d
14089f5c6:	eb 0e                	jmp    0x14089f5d6
14089f5c8:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
14089f5ce:	eb 06                	jmp    0x14089f5d6
14089f5d0:	41 b8 48 00 00 00    	mov    $0x48,%r8d
14089f5d6:	b8 04 00 00 00       	mov    $0x4,%eax
14089f5db:	48 8b d1             	mov    %rcx,%rdx
14089f5de:	f7 04 01 00 08 00 00 	testl  $0x800,(%rcx,%rax,1)
14089f5e5:	75 24                	jne    0x14089f60b
14089f5e7:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14089f5eb:	48 85 d2             	test   %rdx,%rdx
14089f5ee:	74 1b                	je     0x14089f60b
14089f5f0:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
14089f5f7:	48 ff c0             	inc    %rax
14089f5fa:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1)
14089f5fe:	75 f7                	jne    0x14089f5f7
14089f600:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
14089f605:	41 ff c0             	inc    %r8d
14089f608:	44 03 c0             	add    %eax,%r8d
14089f60b:	41 8d 40 07          	lea    0x7(%r8),%eax
14089f60f:	83 e0 f8             	and    $0xfffffff8,%eax
14089f612:	c3                   	ret
14089f613:	cc                   	int3
14089f614:	cc                   	int3
14089f615:	cc                   	int3
14089f616:	cc                   	int3
14089f617:	cc                   	int3
14089f618:	cc                   	int3
14089f619:	cc                   	int3
14089f61a:	cc                   	int3
14089f61b:	cc                   	int3
14089f61c:	cc                   	int3
14089f61d:	cc                   	int3
14089f61e:	cc                   	int3
14089f61f:	cc                   	int3
14089f620:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14089f625:	57                   	push   %rdi
14089f626:	48 83 ec 20          	sub    $0x20,%rsp
14089f62a:	8b f2                	mov    %edx,%esi
14089f62c:	48 8b f9             	mov    %rcx,%rdi
14089f62f:	48 85 c9             	test   %rcx,%rcx
14089f632:	74 48                	je     0x14089f67c
14089f634:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
14089f639:	e8 62 ff ff ff       	call   0x14089f5a0
14089f63e:	8b e8                	mov    %eax,%ebp
14089f640:	40 f6 c6 01          	test   $0x1,%sil
14089f644:	74 26                	je     0x14089f66c
14089f646:	48 8b 49 18          	mov    0x18(%rcx),%rcx
14089f64a:	8b d6                	mov    %esi,%edx
14089f64c:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14089f651:	e8 ca ff ff ff       	call   0x14089f620
14089f656:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14089f65a:	8b d6                	mov    %esi,%edx
14089f65c:	8b d8                	mov    %eax,%ebx
14089f65e:	e8 bd ff ff ff       	call   0x14089f620
14089f663:	03 c5                	add    %ebp,%eax
14089f665:	03 c3                	add    %ebx,%eax
14089f667:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14089f66c:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14089f671:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14089f676:	48 83 c4 20          	add    $0x20,%rsp
14089f67a:	5f                   	pop    %rdi
14089f67b:	c3                   	ret
14089f67c:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14089f681:	33 c0                	xor    %eax,%eax
14089f683:	48 83 c4 20          	add    $0x20,%rsp
14089f687:	5f                   	pop    %rdi
14089f688:	c3                   	ret
14089f689:	cc                   	int3
14089f68a:	cc                   	int3
14089f68b:	cc                   	int3
14089f68c:	cc                   	int3
14089f68d:	cc                   	int3
14089f68e:	cc                   	int3
14089f68f:	cc                   	int3
14089f690:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
14089f695:	89 54 24 10          	mov    %edx,0x10(%rsp)
14089f699:	53                   	push   %rbx
14089f69a:	55                   	push   %rbp
14089f69b:	56                   	push   %rsi
14089f69c:	57                   	push   %rdi
14089f69d:	41 54                	push   %r12
14089f69f:	41 55                	push   %r13
14089f6a1:	41 56                	push   %r14
14089f6a3:	41 57                	push   %r15
14089f6a5:	48 83 ec 58          	sub    $0x58,%rsp
14089f6a9:	48 8b 41 50          	mov    0x50(%rcx),%rax
14089f6ad:	47 8d 2c 08          	lea    (%r8,%r9,1),%r13d
14089f6b1:	0f b7 71 18          	movzwl 0x18(%rcx),%esi
14089f6b5:	45 8b f9             	mov    %r9d,%r15d
14089f6b8:	0f b6 59 0c          	movzbl 0xc(%rcx),%ebx
14089f6bc:	45 8b f0             	mov    %r8d,%r14d
14089f6bf:	48 8b bc 24 c0 00 00 	mov    0xc0(%rsp),%rdi
14089f6c6:	00
14089f6c7:	03 de                	add    %esi,%ebx
14089f6c9:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14089f6ce:	03 da                	add    %edx,%ebx
14089f6d0:	0f b6 41 09          	movzbl 0x9(%rcx),%eax
14089f6d4:	44 8b e2             	mov    %edx,%r12d
14089f6d7:	88 84 24 b8 00 00 00 	mov    %al,0xb8(%rsp)
14089f6de:	48 8b e9             	mov    %rcx,%rbp
14089f6e1:	43 8d 04 09          	lea    (%r9,%r9,1),%eax
14089f6e5:	48 98                	cltq
14089f6e7:	48 03 41 60          	add    0x60(%rcx),%rax
14089f6eb:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14089f6f0:	41 3b d0             	cmp    %r8d,%edx
14089f6f3:	7d 66                	jge    0x14089f75b
14089f6f5:	44 2b c2             	sub    %edx,%r8d
14089f6f8:	4c 8b cf             	mov    %rdi,%r9
14089f6fb:	e8 40 82 01 00       	call   0x1408b7940
14089f700:	44 8b e0             	mov    %eax,%r12d
14089f703:	3b c6                	cmp    %esi,%eax
14089f705:	7e 34                	jle    0x14089f73b
14089f707:	48 8d 05 36 43 7b 00 	lea    0x7b4336(%rip),%rax        # 0x141053a44
14089f70e:	41 b9 a1 22 01 00    	mov    $0x122a1,%r9d
14089f714:	4c 8d 05 55 41 7b 00 	lea    0x7b4155(%rip),%r8        # 0x141053870
14089f71b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14089f720:	48 8d 15 29 41 7b 00 	lea    0x7b4129(%rip),%rdx        # 0x141053850
14089f727:	b9 0b 00 00 00       	mov    $0xb,%ecx
14089f72c:	e8 0f 9e fd ff       	call   0x140879540
14089f731:	b8 0b 00 00 00       	mov    $0xb,%eax
14089f736:	e9 94 02 00 00       	jmp    0x14089f9cf
14089f73b:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
14089f73f:	44 8d 04 36          	lea    (%rsi,%rsi,1),%r8d
14089f743:	03 c0                	add    %eax,%eax
14089f745:	48 63 d0             	movslq %eax,%rdx
14089f748:	48 03 d1             	add    %rcx,%rdx
14089f74b:	e8 c0 f8 63 00       	call   0x140edf010
14089f750:	41 2b f4             	sub    %r12d,%esi
14089f753:	44 8b a4 24 a8 00 00 	mov    0xa8(%rsp),%r12d
14089f75a:	00
14089f75b:	44 3b eb             	cmp    %ebx,%r13d
14089f75e:	7d 16                	jge    0x14089f776
14089f760:	41 2b dd             	sub    %r13d,%ebx
14089f763:	4c 8b cf             	mov    %rdi,%r9
14089f766:	44 8b c3             	mov    %ebx,%r8d
14089f769:	41 8b d5             	mov    %r13d,%edx
14089f76c:	48 8b cd             	mov    %rbp,%rcx
14089f76f:	e8 cc 81 01 00       	call   0x1408b7940
14089f774:	2b f0                	sub    %eax,%esi
14089f776:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
14089f77b:	0f b6 84 24 b8 00 00 	movzbl 0xb8(%rsp),%eax
14089f782:	00
14089f783:	4c 8b 6c 24 40       	mov    0x40(%rsp),%r13
14089f788:	0f b6 4c 02 05       	movzbl 0x5(%rdx,%rax,1),%ecx
14089f78d:	0f b6 44 02 06       	movzbl 0x6(%rdx,%rax,1),%eax
14089f792:	48 c1 e1 08          	shl    $0x8,%rcx
14089f796:	48 0b c8             	or     %rax,%rcx
14089f799:	48 ff c9             	dec    %rcx
14089f79c:	0f b7 c1             	movzwl %cx,%eax
14089f79f:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
14089f7a3:	48 03 c8             	add    %rax,%rcx
14089f7a6:	48 89 8c 24 a0 00 00 	mov    %rcx,0xa0(%rsp)
14089f7ad:	00
14089f7ae:	49 3b cd             	cmp    %r13,%rcx
14089f7b1:	0f 82 a8 01 00 00    	jb     0x14089f95f
14089f7b7:	48 3b 4d 58          	cmp    0x58(%rbp),%rcx
14089f7bb:	0f 87 9e 01 00 00    	ja     0x14089f95f
14089f7c1:	45 3b f4             	cmp    %r12d,%r14d
14089f7c4:	7d 56                	jge    0x14089f81c
14089f7c6:	48 8b 5d 60          	mov    0x60(%rbp),%rbx
14089f7ca:	8d 04 36             	lea    (%rsi,%rsi,1),%eax
14089f7cd:	45 2b e6             	sub    %r14d,%r12d
14089f7d0:	4c 63 c0             	movslq %eax,%r8
14089f7d3:	45 3b fc             	cmp    %r12d,%r15d
14089f7d6:	48 8b d3             	mov    %rbx,%rdx
14089f7d9:	45 0f 4c e7          	cmovl  %r15d,%r12d
14089f7dd:	43 8d 04 24          	lea    (%r12,%r12,1),%eax
14089f7e1:	48 63 c8             	movslq %eax,%rcx
14089f7e4:	48 03 cb             	add    %rbx,%rcx
14089f7e7:	e8 24 f8 63 00       	call   0x140edf010
14089f7ec:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14089f7f1:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
14089f7f8:	00
14089f7f9:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
14089f7fe:	4c 8b cb             	mov    %rbx,%r9
14089f801:	49 8b d5             	mov    %r13,%rdx
14089f804:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
14089f809:	48 8b cd             	mov    %rbp,%rcx
14089f80c:	e8 df 84 01 00       	call   0x1408b7cf0
14089f811:	85 c0                	test   %eax,%eax
14089f813:	0f 85 46 01 00 00    	jne    0x14089f95f
14089f819:	41 03 f4             	add    %r12d,%esi
14089f81c:	45 33 ed             	xor    %r13d,%r13d
14089f81f:	44 38 6d 0c          	cmp    %r13b,0xc(%rbp)
14089f823:	0f 86 b2 00 00 00    	jbe    0x14089f8db
14089f829:	4c 8d 65 1c          	lea    0x1c(%rbp),%r12
14089f82d:	0f 1f 00             	nopl   (%rax)
14089f830:	41 0f b7 1c 24       	movzwl (%r12),%ebx
14089f835:	41 2b de             	sub    %r14d,%ebx
14089f838:	03 9c 24 a8 00 00 00 	add    0xa8(%rsp),%ebx
14089f83f:	0f 88 82 00 00 00    	js     0x14089f8c7
14089f845:	41 3b df             	cmp    %r15d,%ebx
14089f848:	7d 7d                	jge    0x14089f8c7
14089f84a:	8d 04 1b             	lea    (%rbx,%rbx,1),%eax
14089f84d:	4c 63 f0             	movslq %eax,%r14
14089f850:	4c 03 75 60          	add    0x60(%rbp),%r14
14089f854:	3b f3                	cmp    %ebx,%esi
14089f856:	7e 15                	jle    0x14089f86d
14089f858:	8b c6                	mov    %esi,%eax
14089f85a:	49 8d 4e 02          	lea    0x2(%r14),%rcx
14089f85e:	2b c3                	sub    %ebx,%eax
14089f860:	49 8b d6             	mov    %r14,%rdx
14089f863:	03 c0                	add    %eax,%eax
14089f865:	4c 63 c0             	movslq %eax,%r8
14089f868:	e8 a3 f7 63 00       	call   0x140edf010
14089f86d:	03 9c 24 b0 00 00 00 	add    0xb0(%rsp),%ebx
14089f874:	ff c6                	inc    %esi
14089f876:	48 8b 47 18          	mov    0x18(%rdi),%rax
14089f87a:	48 63 cb             	movslq %ebx,%rcx
14089f87d:	66 83 3c 48 00       	cmpw   $0x0,(%rax,%rcx,2)
14089f882:	75 0a                	jne    0x14089f88e
14089f884:	8b d3                	mov    %ebx,%edx
14089f886:	48 8b cf             	mov    %rdi,%rcx
14089f889:	e8 e2 bd ff ff       	call   0x14089b670
14089f88e:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
14089f893:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
14089f89a:	00
14089f89b:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14089f8a0:	4d 8b ce             	mov    %r14,%r9
14089f8a3:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
14089f8aa:	00
14089f8ab:	48 8b cd             	mov    %rbp,%rcx
14089f8ae:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
14089f8b2:	e8 39 84 01 00       	call   0x1408b7cf0
14089f8b7:	44 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%r14d
14089f8be:	00
14089f8bf:	85 c0                	test   %eax,%eax
14089f8c1:	0f 85 98 00 00 00    	jne    0x14089f95f
14089f8c7:	0f b6 45 0c          	movzbl 0xc(%rbp),%eax
14089f8cb:	41 ff c5             	inc    %r13d
14089f8ce:	49 83 c4 02          	add    $0x2,%r12
14089f8d2:	44 3b e8             	cmp    %eax,%r13d
14089f8d5:	0f 8c 55 ff ff ff    	jl     0x14089f830
14089f8db:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
14089f8e0:	8d 04 36             	lea    (%rsi,%rsi,1),%eax
14089f8e3:	4c 63 c8             	movslq %eax,%r9
14089f8e6:	4c 8d 84 24 a0 00 00 	lea    0xa0(%rsp),%r8
14089f8ed:	00
14089f8ee:	4c 03 4d 60          	add    0x60(%rbp),%r9
14089f8f2:	42 8d 04 36          	lea    (%rsi,%r14,1),%eax
14089f8f6:	41 8b cf             	mov    %r15d,%ecx
14089f8f9:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14089f8fe:	2b ce                	sub    %esi,%ecx
14089f900:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
14089f904:	48 8b cd             	mov    %rbp,%rcx
14089f907:	89 44 24 20          	mov    %eax,0x20(%rsp)
14089f90b:	e8 e0 83 01 00       	call   0x1408b7cf0
14089f910:	85 c0                	test   %eax,%eax
14089f912:	75 4b                	jne    0x14089f95f
14089f914:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
14089f919:	44 0f b6 84 24 b8 00 	movzbl 0xb8(%rsp),%r8d
14089f920:	00 00
14089f922:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
14089f929:	00
14089f92a:	88 45 0c             	mov    %al,0xc(%rbp)
14089f92d:	66 44 89 7d 18       	mov    %r15w,0x18(%rbp)
14089f932:	66 41 c1 ef 08       	shr    $0x8,%r15w
14089f937:	46 88 7c 02 03       	mov    %r15b,0x3(%rdx,%r8,1)
14089f93c:	0f b6 45 18          	movzbl 0x18(%rbp),%eax
14089f940:	42 88 44 02 04       	mov    %al,0x4(%rdx,%r8,1)
14089f945:	48 8b c1             	mov    %rcx,%rax
14089f948:	48 2b c2             	sub    %rdx,%rax
14089f94b:	2a ca                	sub    %dl,%cl
14089f94d:	48 c1 f8 08          	sar    $0x8,%rax
14089f951:	42 88 44 02 05       	mov    %al,0x5(%rdx,%r8,1)
14089f956:	33 c0                	xor    %eax,%eax
14089f958:	42 88 4c 02 06       	mov    %cl,0x6(%rdx,%r8,1)
14089f95d:	eb 70                	jmp    0x14089f9cf
14089f95f:	41 8b f7             	mov    %r15d,%esi
14089f962:	45 85 ff             	test   %r15d,%r15d
14089f965:	7e 53                	jle    0x14089f9ba
14089f967:	49 63 c6             	movslq %r14d,%rax
14089f96a:	48 8d 1c 00          	lea    (%rax,%rax,1),%rbx
14089f96e:	4c 8d 34 c5 00 00 00 	lea    0x0(,%rax,8),%r14
14089f975:	00
14089f976:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14089f97d:	00 00 00
14089f980:	48 8b 47 18          	mov    0x18(%rdi),%rax
14089f984:	66 83 3c 03 00       	cmpw   $0x0,(%rbx,%rax,1)
14089f989:	75 21                	jne    0x14089f9ac
14089f98b:	48 8b 47 08          	mov    0x8(%rdi),%rax
14089f98f:	48 8b 57 10          	mov    0x10(%rdi),%rdx
14089f993:	48 8b c8             	mov    %rax,%rcx
14089f996:	48 8b 40 78          	mov    0x78(%rax),%rax