14089d644:	44 8b ce             	mov    %esi,%r9d
14089d647:	4c 8b c3             	mov    %rbx,%r8
14089d64a:	48 8b cf             	mov    %rdi,%rcx
14089d64d:	e8 ae 13 01 00       	call   0x1408aea00
14089d652:	85 c0                	test   %eax,%eax
14089d654:	75 37                	jne    0x14089d68d
14089d656:	48 8b 43 08          	mov    0x8(%rbx),%rax
14089d65a:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14089d65e:	49 63 d7             	movslq %r15d,%rdx
14089d661:	0f b7 04 68          	movzwl (%rax,%rbp,2),%eax
14089d665:	66 89 04 51          	mov    %ax,(%rcx,%rdx,2)
14089d669:	48 8b 43 40          	mov    0x40(%rbx),%rax
14089d66d:	48 8b 4f 40          	mov    0x40(%rdi),%rcx
14089d671:	48 8b 04 e8          	mov    (%rax,%rbp,8),%rax
14089d675:	48 89 04 d1          	mov    %rax,(%rcx,%rdx,8)
14089d679:	48 8b 43 38          	mov    0x38(%rbx),%rax
14089d67d:	44 38 24 28          	cmp    %r12b,(%rax,%rbp,1)
14089d681:	74 07                	je     0x14089d68a
14089d683:	81 4f 64 00 02 00 00 	orl    $0x200,0x64(%rdi)
14089d68a:	41 ff c7             	inc    %r15d
14089d68d:	ff c6                	inc    %esi
14089d68f:	48 ff c5             	inc    %rbp
14089d692:	41 3b f6             	cmp    %r14d,%esi
14089d695:	7c a9                	jl     0x14089d640
14089d697:	48 8b 7f 28          	mov    0x28(%rdi),%rdi
14089d69b:	4c 8b 8c 24 90 00 00 	mov    0x90(%rsp),%r9
14089d6a2:	00
14089d6a3:	48 85 ff             	test   %rdi,%rdi
14089d6a6:	0f 85 14 ff ff ff    	jne    0x14089d5c0
14089d6ac:	45 0f b7 55 36       	movzwl 0x36(%r13),%r10d
14089d6b1:	45 8b dc             	mov    %r12d,%r11d
14089d6b4:	45 8b cc             	mov    %r12d,%r9d
14089d6b7:	66 45 3b e2          	cmp    %r10w,%r12w
14089d6bb:	7d 5e                	jge    0x14089d71b
14089d6bd:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
14089d6c1:	45 0f b7 c2          	movzwl %r10w,%r8d
14089d6c5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14089d6cc:	00 00 00 00
14089d6d0:	41 8b ce             	mov    %r14d,%ecx
14089d6d3:	48 8b d7             	mov    %rdi,%rdx
14089d6d6:	66 45 85 f6          	test   %r14w,%r14w
14089d6da:	74 1e                	je     0x14089d6fa
14089d6dc:	0f 1f 40 00          	nopl   0x0(%rax)
14089d6e0:	0f bf 02             	movswl (%rdx),%eax
14089d6e3:	48 8d 52 02          	lea    0x2(%rdx),%rdx
14089d6e7:	ff c9                	dec    %ecx
14089d6e9:	44 3b c8             	cmp    %eax,%r9d
14089d6ec:	0f 84 26 01 00 00    	je     0x14089d818
14089d6f2:	85 c9                	test   %ecx,%ecx
14089d6f4:	7f ea                	jg     0x14089d6e0
14089d6f6:	45 0f b7 c2          	movzwl %r10w,%r8d
14089d6fa:	49 63 c1             	movslq %r9d,%rax
14089d6fd:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
14089d701:	49 8b 45 08          	mov    0x8(%r13),%rax
14089d705:	f6 44 c8 12 20       	testb  $0x20,0x12(%rax,%rcx,8)
14089d70a:	75 03                	jne    0x14089d70f
14089d70c:	41 ff c3             	inc    %r11d
14089d70f:	41 ff c1             	inc    %r9d
14089d712:	41 0f bf c0          	movswl %r8w,%eax
14089d716:	44 3b c8             	cmp    %eax,%r9d
14089d719:	7c b5                	jl     0x14089d6d0
14089d71b:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
14089d722:	00
14089d723:	47 8d 04 33          	lea    (%r11,%r14,1),%r8d
14089d727:	48 8b d3             	mov    %rbx,%rdx
14089d72a:	e8 71 3d 02 00       	call   0x1408c14a0
14089d72f:	85 c0                	test   %eax,%eax
14089d731:	0f 85 bb 00 00 00    	jne    0x14089d7f2
14089d737:	45 8b c4             	mov    %r12d,%r8d
14089d73a:	66 45 3b 65 36       	cmp    0x36(%r13),%r12w
14089d73f:	7d 67                	jge    0x14089d7a8
14089d741:	4c 8d 0d b4 a8 7a 00 	lea    0x7aa8b4(%rip),%r9        # 0x141047ffc
14089d748:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14089d74f:	00
14089d750:	48 8b 53 08          	mov    0x8(%rbx),%rdx
14089d754:	41 8b ce             	mov    %r14d,%ecx
14089d757:	45 85 f6             	test   %r14d,%r14d
14089d75a:	7e 16                	jle    0x14089d772
14089d75c:	0f 1f 40 00          	nopl   0x0(%rax)
14089d760:	0f bf 02             	movswl (%rdx),%eax
14089d763:	48 8d 52 02          	lea    0x2(%rdx),%rdx
14089d767:	ff c9                	dec    %ecx
14089d769:	44 3b c0             	cmp    %eax,%r8d
14089d76c:	74 2d                	je     0x14089d79b
14089d76e:	85 c9                	test   %ecx,%ecx
14089d770:	7f ee                	jg     0x14089d760
14089d772:	49 63 c0             	movslq %r8d,%rax
14089d775:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
14089d779:	49 8b 45 08          	mov    0x8(%r13),%rax
14089d77d:	f6 44 c8 12 20       	testb  $0x20,0x12(%rax,%rcx,8)
14089d782:	75 17                	jne    0x14089d79b
14089d784:	48 8b 43 08          	mov    0x8(%rbx),%rax
14089d788:	49 63 ce             	movslq %r14d,%rcx
14089d78b:	41 ff c6             	inc    %r14d
14089d78e:	66 44 89 04 48       	mov    %r8w,(%rax,%rcx,2)
14089d793:	48 8b 43 40          	mov    0x40(%rbx),%rax
14089d797:	4c 89 0c c8          	mov    %r9,(%rax,%rcx,8)
14089d79b:	41 0f bf 45 36       	movswl 0x36(%r13),%eax
14089d7a0:	41 ff c0             	inc    %r8d
14089d7a3:	44 3b c0             	cmp    %eax,%r8d
14089d7a6:	7c a8                	jl     0x14089d750
14089d7a8:	44 0f b7 43 60       	movzwl 0x60(%rbx),%r8d
14089d7ad:	49 83 e8 01          	sub    $0x1,%r8
14089d7b1:	78 38                	js     0x14089d7eb
14089d7b3:	48 8b 43 08          	mov    0x8(%rbx),%rax
14089d7b7:	4c 8b 5b 18          	mov    0x18(%rbx),%r11
14089d7bb:	4e 8d 14 40          	lea    (%rax,%r8,2),%r10
14089d7bf:	90                   	nop
14089d7c0:	49 0f bf 12          	movswq (%r10),%rdx
14089d7c4:	66 85 d2             	test   %dx,%dx
14089d7c7:	78 18                	js     0x14089d7e1
14089d7c9:	49 8b 43 08          	mov    0x8(%r11),%rax
14089d7cd:	48 8d 0c 52          	lea    (%rdx,%rdx,2),%rcx
14089d7d1:	f6 44 c8 12 20       	testb  $0x20,0x12(%rax,%rcx,8)
14089d7d6:	75 09                	jne    0x14089d7e1
14089d7d8:	83 fa 3f             	cmp    $0x3f,%edx
14089d7db:	7d 04                	jge    0x14089d7e1
14089d7dd:	49 0f ab d4          	bts    %rdx,%r12
14089d7e1:	49 83 ea 02          	sub    $0x2,%r10
14089d7e5:	49 83 e8 01          	sub    $0x1,%r8
14089d7e9:	79 d5                	jns    0x14089d7c0
14089d7eb:	49 f7 d4             	not    %r12
14089d7ee:	4c 89 63 68          	mov    %r12,0x68(%rbx)
14089d7f2:	48 8b bc 24 a8 00 00 	mov    0xa8(%rsp),%rdi
14089d7f9:	00
14089d7fa:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
14089d801:	00
14089d802:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
14089d809:	00
14089d80a:	48 83 c4 60          	add    $0x60,%rsp
14089d80e:	41 5f                	pop    %r15
14089d810:	41 5e                	pop    %r14
14089d812:	41 5d                	pop    %r13
14089d814:	41 5c                	pop    %r12
14089d816:	5d                   	pop    %rbp
14089d817:	c3                   	ret
14089d818:	45 0f b7 c2          	movzwl %r10w,%r8d
14089d81c:	e9 ee fe ff ff       	jmp    0x14089d70f
14089d821:	cc                   	int3
14089d822:	cc                   	int3
14089d823:	cc                   	int3
14089d824:	cc                   	int3
14089d825:	cc                   	int3
14089d826:	cc                   	int3
14089d827:	cc                   	int3
14089d828:	cc                   	int3
14089d829:	cc                   	int3
14089d82a:	cc                   	int3
14089d82b:	cc                   	int3
14089d82c:	cc                   	int3
14089d82d:	cc                   	int3
14089d82e:	cc                   	int3
14089d82f:	cc                   	int3
14089d830:	41 55                	push   %r13
14089d832:	41 56                	push   %r14
14089d834:	41 57                	push   %r15
14089d836:	48 83 ec 30          	sub    $0x30,%rsp
14089d83a:	41 83 38 00          	cmpl   $0x0,(%r8)
14089d83e:	4d 8b f0             	mov    %r8,%r14
14089d841:	4c 8b fa             	mov    %rdx,%r15
14089d844:	4c 8b e9             	mov    %rcx,%r13
14089d847:	0f 85 c3 00 00 00    	jne    0x14089d910
14089d84d:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
14089d852:	0f b6 59 09          	movzbl 0x9(%rcx),%ebx
14089d856:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
14089d85b:	48 8b 6a 50          	mov    0x50(%rdx),%rbp
14089d85f:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
14089d864:	8b 72 04             	mov    0x4(%rdx),%esi
14089d867:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14089d86c:	48 8b 79 50          	mov    0x50(%rcx),%rdi
14089d870:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
14089d875:	4c 8b 61 48          	mov    0x48(%rcx),%r12
14089d879:	44 0f b6 4c 1f 05    	movzbl 0x5(%rdi,%rbx,1),%r9d
14089d87f:	0f b6 44 1f 06       	movzbl 0x6(%rdi,%rbx,1),%eax
14089d884:	45 8b 44 24 38       	mov    0x38(%r12),%r8d
14089d889:	41 c1 e1 08          	shl    $0x8,%r9d
14089d88d:	44 0b c8             	or     %eax,%r9d
14089d890:	41 8b c9             	mov    %r9d,%ecx
14089d893:	45 2b c1             	sub    %r9d,%r8d
14089d896:	48 03 cd             	add    %rbp,%rcx
14089d899:	49 8d 14 39          	lea    (%r9,%rdi,1),%rdx
14089d89d:	e8 6e 17 64 00       	call   0x140edf010
14089d8a2:	41 0f b7 4d 18       	movzwl 0x18(%r13),%ecx
14089d8a7:	48 8d 14 3b          	lea    (%rbx,%rdi,1),%rdx
14089d8ab:	41 0f b7 45 12       	movzwl 0x12(%r13),%eax
14089d8b0:	4c 8d 04 48          	lea    (%rax,%rcx,2),%r8
14089d8b4:	33 c9                	xor    %ecx,%ecx
14089d8b6:	b8 64 00 00 00       	mov    $0x64,%eax
14089d8bb:	83 fe 01             	cmp    $0x1,%esi
14089d8be:	0f 44 c8             	cmove  %eax,%ecx
14089d8c1:	48 03 cd             	add    %rbp,%rcx
14089d8c4:	e8 47 17 64 00       	call   0x140edf010
14089d8c9:	49 8b cf             	mov    %r15,%rcx
14089d8cc:	41 c6 07 00          	movb   $0x0,(%r15)
14089d8d0:	e8 fb 7a ff ff       	call   0x1408953d0
14089d8d5:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
14089d8da:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14089d8df:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14089d8e4:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14089d8e9:	85 c0                	test   %eax,%eax
14089d8eb:	75 1b                	jne    0x14089d908
14089d8ed:	49 8b cf             	mov    %r15,%rcx
14089d8f0:	e8 db 6d ff ff       	call   0x1408946d0
14089d8f5:	85 c0                	test   %eax,%eax
14089d8f7:	75 0f                	jne    0x14089d908
14089d8f9:	41 38 44 24 21       	cmp    %al,0x21(%r12)
14089d8fe:	74 0b                	je     0x14089d90b
14089d900:	49 8b cf             	mov    %r15,%rcx
14089d903:	e8 98 90 02 00       	call   0x1408c69a0
14089d908:	41 89 06             	mov    %eax,(%r14)
14089d90b:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
14089d910:	48 83 c4 30          	add    $0x30,%rsp
14089d914:	41 5f                	pop    %r15
14089d916:	41 5e                	pop    %r14
14089d918:	41 5d                	pop    %r13
14089d91a:	c3                   	ret
14089d91b:	cc                   	int3
14089d91c:	cc                   	int3
14089d91d:	cc                   	int3
14089d91e:	cc                   	int3
14089d91f:	cc                   	int3
14089d920:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14089d925:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14089d92a:	57                   	push   %rdi
14089d92b:	48 83 ec 20          	sub    $0x20,%rsp
14089d92f:	49 63 d8             	movslq %r8d,%rbx
14089d932:	48 8b fa             	mov    %rdx,%rdi
14089d935:	48 8b f1             	mov    %rcx,%rsi
14089d938:	45 85 c9             	test   %r9d,%r9d
14089d93b:	74 59                	je     0x14089d996
14089d93d:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14089d942:	f6 41 34 04          	testb  $0x4,0x34(%rcx)
14089d946:	4c 8b 49 28          	mov    0x28(%rcx),%r9
14089d94a:	74 1a                	je     0x14089d966
14089d94c:	8b 41 30             	mov    0x30(%rcx),%eax
14089d94f:	41 39 41 20          	cmp    %eax,0x20(%r9)
14089d953:	72 11                	jb     0x14089d966
14089d955:	41 83 b9 80 00 00 00 	cmpl   $0x0,0x80(%r9)
14089d95c:	00
14089d95d:	74 2f                	je     0x14089d98e
14089d95f:	e8 ac 6e 08 00       	call   0x140924810
14089d964:	eb 24                	jmp    0x14089d98a
14089d966:	41 8b 41 30          	mov    0x30(%r9),%eax
14089d96a:	85 c0                	test   %eax,%eax
14089d96c:	75 38                	jne    0x14089d9a6
14089d96e:	41 8b 81 c8 00 00 00 	mov    0xc8(%r9),%eax
14089d975:	41 39 81 b8 00 00 00 	cmp    %eax,0xb8(%r9)
14089d97c:	76 07                	jbe    0x14089d985
14089d97e:	e8 bd b4 01 00       	call   0x1408b8e40
14089d983:	eb 05                	jmp    0x14089d98a
14089d985:	e8 e6 c7 01 00       	call   0x1408ba170
14089d98a:	85 c0                	test   %eax,%eax
14089d98c:	75 18                	jne    0x14089d9a6
14089d98e:	48 8b d7             	mov    %rdi,%rdx
14089d991:	48 8b ce             	mov    %rsi,%rcx
14089d994:	eb 06                	jmp    0x14089d99c
14089d996:	48 8b d6             	mov    %rsi,%rdx
14089d999:	48 8b cf             	mov    %rdi,%rcx
14089d99c:	4c 8b c3             	mov    %rbx,%r8
14089d99f:	e8 6c 16 64 00       	call   0x140edf010
14089d9a4:	33 c0                	xor    %eax,%eax
14089d9a6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14089d9ab:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14089d9b0:	48 83 c4 20          	add    $0x20,%rsp
14089d9b4:	5f                   	pop    %rdi
14089d9b5:	c3                   	ret
14089d9b6:	cc                   	int3
14089d9b7:	cc                   	int3
14089d9b8:	cc                   	int3
14089d9b9:	cc                   	int3
14089d9ba:	cc                   	int3
14089d9bb:	cc                   	int3
14089d9bc:	cc                   	int3
14089d9bd:	cc                   	int3
14089d9be:	cc                   	int3
14089d9bf:	cc                   	int3
14089d9c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14089d9c5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14089d9ca:	57                   	push   %rdi
14089d9cb:	48 83 ec 30          	sub    $0x30,%rsp
14089d9cf:	48 8b 39             	mov    (%rcx),%rdi
14089d9d2:	49 8b f0             	mov    %r8,%rsi
14089d9d5:	48 8b d9             	mov    %rcx,%rbx
14089d9d8:	80 7f 67 00          	cmpb   $0x0,0x67(%rdi)
14089d9dc:	74 17                	je     0x14089d9f5
14089d9de:	c7 41 14 07 00 00 00 	movl   $0x7,0x14(%rcx)
14089d9e5:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14089d9ea:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14089d9ef:	48 83 c4 30          	add    $0x30,%rsp
14089d9f3:	5f                   	pop    %rdi
14089d9f4:	c3                   	ret
14089d9f5:	48 8b 41 08          	mov    0x8(%rcx),%rax
14089d9f9:	48 83 38 00          	cmpq   $0x0,(%rax)
14089d9fd:	0f 85 ba 00 00 00    	jne    0x14089dabd
14089da03:	8b 41 18             	mov    0x18(%rcx),%eax
14089da06:	83 e0 03             	and    $0x3,%eax
14089da09:	74 4b                	je     0x14089da56
14089da0b:	4c 8b 4a 08          	mov    0x8(%rdx),%r9
14089da0f:	48 8d 0d 92 23 b1 00 	lea    0xb12392(%rip),%rcx        # 0x1413afda8
14089da16:	4c 8b 02             	mov    (%rdx),%r8
14089da19:	ff c8                	dec    %eax
14089da1b:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
14089da20:	48 8d 15 61 47 7b 00 	lea    0x7b4761(%rip),%rdx        # 0x141052188
14089da27:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
14089da2b:	48 8b cf             	mov    %rdi,%rcx
14089da2e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14089da33:	e8 f8 fc 04 00       	call   0x1408ed730
14089da38:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14089da3c:	48 89 01             	mov    %rax,(%rcx)
14089da3f:	c7 43 14 01 00 00 00 	movl   $0x1,0x14(%rbx)
14089da46:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14089da4b:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14089da50:	48 83 c4 30          	add    $0x30,%rsp
14089da54:	5f                   	pop    %rdi
14089da55:	c3                   	ret
14089da56:	f6 47 30 01          	testb  $0x1,0x30(%rdi)
14089da5a:	74 07                	je     0x14089da63
14089da5c:	b9 b0 0d 02 00       	mov    $0x20db0,%ecx
14089da61:	eb 52                	jmp    0x14089dab5
14089da63:	48 8b 42 08          	mov    0x8(%rdx),%rax
14089da67:	4c 8d 05 b6 c7 77 00 	lea    0x77c7b6(%rip),%r8        # 0x14101a224
14089da6e:	48 85 c0             	test   %rax,%rax
14089da71:	48 8d 15 30 47 7b 00 	lea    0x7b4730(%rip),%rdx        # 0x1410521a8
14089da78:	48 8b cf             	mov    %rdi,%rcx
14089da7b:	4c 0f 45 c0          	cmovne %rax,%r8
14089da7f:	e8 ac fc 04 00       	call   0x1408ed730
14089da84:	48 8b c8             	mov    %rax,%rcx
14089da87:	48 85 f6             	test   %rsi,%rsi
14089da8a:	74 1d                	je     0x14089daa9
14089da8c:	80 3e 00             	cmpb   $0x0,(%rsi)
14089da8f:	74 18                	je     0x14089daa9
14089da91:	4c 8b ce             	mov    %rsi,%r9
14089da94:	48 8d 15 2d 47 7b 00 	lea    0x7b472d(%rip),%rdx        # 0x1410521c8
14089da9b:	4c 8b c0             	mov    %rax,%r8
14089da9e:	48 8b cf             	mov    %rdi,%rcx
14089daa1:	e8 8a fc 04 00       	call   0x1408ed730
14089daa6:	48 8b c8             	mov    %rax,%rcx
14089daa9:	48 8b 43 08          	mov    0x8(%rbx),%rax
14089daad:	48 89 08             	mov    %rcx,(%rax)
14089dab0:	b9 b7 0d 02 00       	mov    $0x20db7,%ecx
14089dab5:	e8 36 6a 03 00       	call   0x1408d44f0
14089daba:	89 43 14             	mov    %eax,0x14(%rbx)
14089dabd:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14089dac2:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14089dac7:	48 83 c4 30          	add    $0x30,%rsp
14089dacb:	5f                   	pop    %rdi
14089dacc:	c3                   	ret
14089dacd:	cc                   	int3
14089dace:	cc                   	int3
14089dacf:	cc                   	int3