14018c750:	48 33 c4             	xor    %rsp,%rax
14018c753:	48 89 85 00 04 00 00 	mov    %rax,0x400(%rbp)
14018c75a:	45 33 e4             	xor    %r12d,%r12d
14018c75d:	49 8b d9             	mov    %r9,%rbx
14018c760:	49 8b f8             	mov    %r8,%rdi
14018c763:	48 8b f2             	mov    %rdx,%rsi
14018c766:	4c 8b f9             	mov    %rcx,%r15
14018c769:	4d 85 c9             	test   %r9,%r9
14018c76c:	75 18                	jne    0x14018c786
14018c76e:	e8 99 37 00 00       	call   0x14018ff0c
14018c773:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018c779:	e8 e6 ed ff ff       	call   0x14018b564
14018c77e:	83 c8 ff             	or     $0xffffffff,%eax
14018c781:	e9 0a 01 00 00       	jmp    0x14018c890
14018c786:	4d 85 c0             	test   %r8,%r8
14018c789:	74 05                	je     0x14018c790
14018c78b:	48 85 d2             	test   %rdx,%rdx
14018c78e:	74 de                	je     0x14018c76e
14018c790:	48 8b 95 60 04 00 00 	mov    0x460(%rbp),%rdx
14018c797:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
14018c79c:	e8 ff f4 ff ff       	call   0x14018bca0
14018c7a1:	33 d2                	xor    %edx,%edx
14018c7a3:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14018c7a8:	44 8d 42 20          	lea    0x20(%rdx),%r8d
14018c7ac:	e8 bf c2 ff ff       	call   0x140188a70
14018c7b1:	4d 8b f7             	mov    %r15,%r14
14018c7b4:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
14018c7b9:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14018c7be:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
14018c7c3:	41 83 e6 02          	and    $0x2,%r14d
14018c7c7:	75 0a                	jne    0x14018c7d3
14018c7c9:	44 88 64 24 48       	mov    %r12b,0x48(%rsp)
14018c7ce:	48 85 f6             	test   %rsi,%rsi
14018c7d1:	75 05                	jne    0x14018c7d8
14018c7d3:	c6 44 24 48 01       	movb   $0x1,0x48(%rsp)
14018c7d8:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
14018c7dd:	4c 8b cb             	mov    %rbx,%r9
14018c7e0:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14018c7e5:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
14018c7ea:	48 8b 85 68 04 00 00 	mov    0x468(%rbp),%rax
14018c7f1:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
14018c7f5:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14018c7fa:	4d 8b c7             	mov    %r15,%r8
14018c7fd:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
14018c802:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14018c807:	e8 70 04 00 00       	call   0x14018cc7c
14018c80c:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
14018c810:	e8 73 0a 00 00       	call   0x14018d288
14018c815:	48 63 d8             	movslq %eax,%rbx
14018c818:	48 85 f6             	test   %rsi,%rsi
14018c81b:	74 4b                	je     0x14018c868
14018c81d:	41 f6 c7 01          	test   $0x1,%r15b
14018c821:	74 22                	je     0x14018c845
14018c823:	48 85 ff             	test   %rdi,%rdi
14018c826:	75 08                	jne    0x14018c830
14018c828:	85 c0                	test   %eax,%eax
14018c82a:	0f 85 90 00 00 00    	jne    0x14018c8c0
14018c830:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14018c835:	48 3b c7             	cmp    %rdi,%rax
14018c838:	75 29                	jne    0x14018c863
14018c83a:	85 db                	test   %ebx,%ebx
14018c83c:	78 2a                	js     0x14018c868
14018c83e:	48 3b df             	cmp    %rdi,%rbx
14018c841:	76 25                	jbe    0x14018c868
14018c843:	eb 7b                	jmp    0x14018c8c0
14018c845:	4d 85 f6             	test   %r14,%r14
14018c848:	74 71                	je     0x14018c8bb
14018c84a:	48 85 ff             	test   %rdi,%rdi
14018c84d:	74 19                	je     0x14018c868
14018c84f:	85 c0                	test   %eax,%eax
14018c851:	79 06                	jns    0x14018c859
14018c853:	66 44 89 26          	mov    %r12w,(%rsi)
14018c857:	eb 0f                	jmp    0x14018c868
14018c859:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14018c85e:	48 3b c7             	cmp    %rdi,%rax
14018c861:	74 71                	je     0x14018c8d4
14018c863:	66 44 89 24 46       	mov    %r12w,(%rsi,%rax,2)
14018c868:	48 8b 8d e0 03 00 00 	mov    0x3e0(%rbp),%rcx
14018c86f:	e8 48 a1 01 00       	call   0x1401a69bc
14018c874:	4c 89 a5 e0 03 00 00 	mov    %r12,0x3e0(%rbp)
14018c87b:	44 38 64 24 70       	cmp    %r12b,0x70(%rsp)
14018c880:	74 0c                	je     0x14018c88e
14018c882:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14018c887:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
14018c88e:	8b c3                	mov    %ebx,%eax
14018c890:	48 8b 8d 00 04 00 00 	mov    0x400(%rbp),%rcx
14018c897:	48 33 cc             	xor    %rsp,%rcx
14018c89a:	e8 31 9a ff ff       	call   0x1401862d0
14018c89f:	4c 8d 9c 24 10 05 00 	lea    0x510(%rsp),%r11
14018c8a6:	00
14018c8a7:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14018c8ab:	49 8b 73 48          	mov    0x48(%r11),%rsi
14018c8af:	49 8b e3             	mov    %r11,%rsp
14018c8b2:	41 5f                	pop    %r15
14018c8b4:	41 5e                	pop    %r14
14018c8b6:	41 5c                	pop    %r12
14018c8b8:	5f                   	pop    %rdi
14018c8b9:	5d                   	pop    %rbp
14018c8ba:	c3                   	ret
14018c8bb:	48 85 ff             	test   %rdi,%rdi
14018c8be:	75 05                	jne    0x14018c8c5
14018c8c0:	83 cb ff             	or     $0xffffffff,%ebx
14018c8c3:	eb a3                	jmp    0x14018c868
14018c8c5:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14018c8ca:	48 3b c7             	cmp    %rdi,%rax
14018c8cd:	75 94                	jne    0x14018c863
14018c8cf:	bb fe ff ff ff       	mov    $0xfffffffe,%ebx
14018c8d4:	66 44 89 64 7e fe    	mov    %r12w,-0x2(%rsi,%rdi,2)
14018c8da:	eb 8c                	jmp    0x14018c868
14018c8dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018c8e1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14018c8e6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14018c8eb:	57                   	push   %rdi
14018c8ec:	48 83 ec 20          	sub    $0x20,%rsp
14018c8f0:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14018c8f4:	48 8b f2             	mov    %rdx,%rsi
14018c8f7:	33 d2                	xor    %edx,%edx
14018c8f9:	48 8b e9             	mov    %rcx,%rbp
14018c8fc:	48 f7 f6             	div    %rsi
14018c8ff:	48 83 e0 fe          	and    $0xfffffffffffffffe,%rax
14018c903:	48 83 f8 02          	cmp    $0x2,%rax
14018c907:	73 0f                	jae    0x14018c918
14018c909:	e8 fe 35 00 00       	call   0x14018ff0c
14018c90e:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
14018c914:	32 c0                	xor    %al,%al
14018c916:	eb 5b                	jmp    0x14018c973
14018c918:	48 03 f6             	add    %rsi,%rsi
14018c91b:	33 ff                	xor    %edi,%edi
14018c91d:	48 39 b9 08 04 00 00 	cmp    %rdi,0x408(%rcx)
14018c924:	75 0d                	jne    0x14018c933
14018c926:	48 81 fe 00 04 00 00 	cmp    $0x400,%rsi
14018c92d:	77 04                	ja     0x14018c933
14018c92f:	b0 01                	mov    $0x1,%al
14018c931:	eb 40                	jmp    0x14018c973
14018c933:	48 3b b1 00 04 00 00 	cmp    0x400(%rcx),%rsi
14018c93a:	76 f3                	jbe    0x14018c92f
14018c93c:	48 8b ce             	mov    %rsi,%rcx
14018c93f:	e8 48 b9 01 00       	call   0x1401a828c
14018c944:	48 8b d8             	mov    %rax,%rbx
14018c947:	48 85 c0             	test   %rax,%rax
14018c94a:	74 1d                	je     0x14018c969
14018c94c:	48 8b 8d 08 04 00 00 	mov    0x408(%rbp),%rcx
14018c953:	e8 64 a0 01 00       	call   0x1401a69bc
14018c958:	48 89 9d 08 04 00 00 	mov    %rbx,0x408(%rbp)
14018c95f:	40 b7 01             	mov    $0x1,%dil
14018c962:	48 89 b5 00 04 00 00 	mov    %rsi,0x400(%rbp)
14018c969:	33 c9                	xor    %ecx,%ecx
14018c96b:	e8 4c a0 01 00       	call   0x1401a69bc
14018c970:	40 8a c7             	mov    %dil,%al
14018c973:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018c978:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14018c97d:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14018c982:	48 83 c4 20          	add    $0x20,%rsp
14018c986:	5f                   	pop    %rdi
14018c987:	c3                   	ret
14018c988:	41 8b c8             	mov    %r8d,%ecx
14018c98b:	83 e9 02             	sub    $0x2,%ecx
14018c98e:	74 24                	je     0x14018c9b4
14018c990:	83 e9 01             	sub    $0x1,%ecx
14018c993:	74 1c                	je     0x14018c9b1
14018c995:	83 f9 09             	cmp    $0x9,%ecx
14018c998:	74 17                	je     0x14018c9b1
14018c99a:	41 83 f8 0d          	cmp    $0xd,%r8d
14018c99e:	74 14                	je     0x14018c9b4
14018c9a0:	80 ea 63             	sub    $0x63,%dl
14018c9a3:	f6 c2 ef             	test   $0xef,%dl
14018c9a6:	0f 94 c1             	sete   %cl
14018c9a9:	33 c0                	xor    %eax,%eax
14018c9ab:	84 c9                	test   %cl,%cl
14018c9ad:	0f 94 c0             	sete   %al
14018c9b0:	c3                   	ret
14018c9b1:	b0 01                	mov    $0x1,%al
14018c9b3:	c3                   	ret
14018c9b4:	32 c0                	xor    %al,%al
14018c9b6:	c3                   	ret
14018c9b7:	cc                   	int3
14018c9b8:	45 8b c8             	mov    %r8d,%r9d
14018c9bb:	4c 8b d1             	mov    %rcx,%r10
14018c9be:	41 83 e9 02          	sub    $0x2,%r9d
14018c9c2:	74 35                	je     0x14018c9f9
14018c9c4:	41 83 e9 01          	sub    $0x1,%r9d
14018c9c8:	74 2c                	je     0x14018c9f6
14018c9ca:	41 83 f9 09          	cmp    $0x9,%r9d
14018c9ce:	74 26                	je     0x14018c9f6
14018c9d0:	41 83 f8 0d          	cmp    $0xd,%r8d
14018c9d4:	74 20                	je     0x14018c9f6
14018c9d6:	41 c0 ea 02          	shr    $0x2,%r10b
14018c9da:	66 83 ea 63          	sub    $0x63,%dx
14018c9de:	41 80 e2 01          	and    $0x1,%r10b
14018c9e2:	b8 ef ff 00 00       	mov    $0xffef,%eax
14018c9e7:	66 85 d0             	test   %dx,%ax
14018c9ea:	0f 94 c1             	sete   %cl
14018c9ed:	33 c0                	xor    %eax,%eax
14018c9ef:	44 3a d1             	cmp    %cl,%r10b
14018c9f2:	0f 94 c0             	sete   %al
14018c9f5:	c3                   	ret
14018c9f6:	b0 01                	mov    $0x1,%al
14018c9f8:	c3                   	ret
14018c9f9:	32 c0                	xor    %al,%al
14018c9fb:	c3                   	ret
14018c9fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018ca01:	48 8d 41 58          	lea    0x58(%rcx),%rax
14018ca05:	4c 8b d1             	mov    %rcx,%r10
14018ca08:	48 8b 88 08 04 00 00 	mov    0x408(%rax),%rcx
14018ca0f:	41 8b d8             	mov    %r8d,%ebx
14018ca12:	48 85 c9             	test   %rcx,%rcx
14018ca15:	44 8b da             	mov    %edx,%r11d
14018ca18:	48 0f 44 c8          	cmove  %rax,%rcx
14018ca1c:	48 83 b8 08 04 00 00 	cmpq   $0x0,0x408(%rax)
14018ca23:	00
14018ca24:	75 07                	jne    0x14018ca2d
14018ca26:	b8 00 02 00 00       	mov    $0x200,%eax
14018ca2b:	eb 0a                	jmp    0x14018ca37
14018ca2d:	48 8b 80 00 04 00 00 	mov    0x400(%rax),%rax
14018ca34:	48 d1 e8             	shr    $1,%rax
14018ca37:	4c 8d 41 ff          	lea    -0x1(%rcx),%r8
14018ca3b:	4c 03 c0             	add    %rax,%r8
14018ca3e:	4d 89 42 48          	mov    %r8,0x48(%r10)
14018ca42:	41 8b 42 38          	mov    0x38(%r10),%eax
14018ca46:	85 c0                	test   %eax,%eax
14018ca48:	7f 05                	jg     0x14018ca4f
14018ca4a:	45 85 db             	test   %r11d,%r11d
14018ca4d:	74 36                	je     0x14018ca85
14018ca4f:	ff c8                	dec    %eax
14018ca51:	33 d2                	xor    %edx,%edx
14018ca53:	41 89 42 38          	mov    %eax,0x38(%r10)
14018ca57:	41 8b c3             	mov    %r11d,%eax
14018ca5a:	f7 f3                	div    %ebx
14018ca5c:	80 c2 30             	add    $0x30,%dl
14018ca5f:	44 8b d8             	mov    %eax,%r11d
14018ca62:	80 fa 39             	cmp    $0x39,%dl
14018ca65:	7e 12                	jle    0x14018ca79
14018ca67:	41 8a c1             	mov    %r9b,%al
14018ca6a:	f6 d8                	neg    %al
14018ca6c:	1a c9                	sbb    %cl,%cl
14018ca6e:	80 e1 e0             	and    $0xe0,%cl
14018ca71:	80 c1 61             	add    $0x61,%cl
14018ca74:	80 e9 3a             	sub    $0x3a,%cl
14018ca77:	02 d1                	add    %cl,%dl
14018ca79:	49 8b 42 48          	mov    0x48(%r10),%rax
14018ca7d:	88 10                	mov    %dl,(%rax)
14018ca7f:	49 ff 4a 48          	decq   0x48(%r10)
14018ca83:	eb bd                	jmp    0x14018ca42
14018ca85:	45 2b 42 48          	sub    0x48(%r10),%r8d
14018ca89:	49 ff 42 48          	incq   0x48(%r10)
14018ca8d:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14018ca92:	45 89 42 50          	mov    %r8d,0x50(%r10)
14018ca96:	c3                   	ret
14018ca97:	cc                   	int3
14018ca98:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018ca9d:	48 8d 41 58          	lea    0x58(%rcx),%rax
14018caa1:	41 8b d8             	mov    %r8d,%ebx
14018caa4:	4c 8b d1             	mov    %rcx,%r10
14018caa7:	4c 8b da             	mov    %rdx,%r11
14018caaa:	48 8b 88 08 04 00 00 	mov    0x408(%rax),%rcx
14018cab1:	48 85 c9             	test   %rcx,%rcx
14018cab4:	48 0f 44 c8          	cmove  %rax,%rcx
14018cab8:	48 83 b8 08 04 00 00 	cmpq   $0x0,0x408(%rax)
14018cabf:	00
14018cac0:	75 07                	jne    0x14018cac9
14018cac2:	b8 00 02 00 00       	mov    $0x200,%eax
14018cac7:	eb 0a                	jmp    0x14018cad3
14018cac9:	48 8b 80 00 04 00 00 	mov    0x400(%rax),%rax
14018cad0:	48 d1 e8             	shr    $1,%rax
14018cad3:	4c 8d 41 ff          	lea    -0x1(%rcx),%r8
14018cad7:	4c 03 c0             	add    %rax,%r8
14018cada:	4d 89 42 48          	mov    %r8,0x48(%r10)
14018cade:	41 8b 42 38          	mov    0x38(%r10),%eax
14018cae2:	85 c0                	test   %eax,%eax
14018cae4:	7f 05                	jg     0x14018caeb
14018cae6:	4d 85 db             	test   %r11,%r11
14018cae9:	74 37                	je     0x14018cb22
14018caeb:	ff c8                	dec    %eax
14018caed:	33 d2                	xor    %edx,%edx
14018caef:	41 89 42 38          	mov    %eax,0x38(%r10)
14018caf3:	49 8b c3             	mov    %r11,%rax
14018caf6:	48 f7 f3             	div    %rbx
14018caf9:	80 c2 30             	add    $0x30,%dl
14018cafc:	4c 8b d8             	mov    %rax,%r11
14018caff:	80 fa 39             	cmp    $0x39,%dl
14018cb02:	7e 12                	jle    0x14018cb16
14018cb04:	41 8a c1             	mov    %r9b,%al
14018cb07:	f6 d8                	neg    %al
14018cb09:	1a c9                	sbb    %cl,%cl
14018cb0b:	80 e1 e0             	and    $0xe0,%cl
14018cb0e:	80 c1 61             	add    $0x61,%cl
14018cb11:	80 e9 3a             	sub    $0x3a,%cl
14018cb14:	02 d1                	add    %cl,%dl
14018cb16:	49 8b 42 48          	mov    0x48(%r10),%rax
14018cb1a:	88 10                	mov    %dl,(%rax)
14018cb1c:	49 ff 4a 48          	decq   0x48(%r10)
14018cb20:	eb bc                	jmp    0x14018cade
14018cb22:	45 2b 42 48          	sub    0x48(%r10),%r8d
14018cb26:	49 ff 42 48          	incq   0x48(%r10)
14018cb2a:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14018cb2f:	45 89 42 50          	mov    %r8d,0x50(%r10)
14018cb33:	c3                   	ret
14018cb34:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018cb39:	45 33 db             	xor    %r11d,%r11d
14018cb3c:	48 8b d9             	mov    %rcx,%rbx
14018cb3f:	45 85 c0             	test   %r8d,%r8d
14018cb42:	7e 45                	jle    0x14018cb89
14018cb44:	4c 8b 13             	mov    (%rbx),%r10
14018cb47:	49 8b 42 08          	mov    0x8(%r10),%rax
14018cb4b:	49 39 42 10          	cmp    %rax,0x10(%r10)
14018cb4f:	75 12                	jne    0x14018cb63
14018cb51:	41 80 7a 18 00       	cmpb   $0x0,0x18(%r10)
14018cb56:	74 05                	je     0x14018cb5d
14018cb58:	41 ff 01             	incl   (%r9)
14018cb5b:	eb 1e                	jmp    0x14018cb7b
14018cb5d:	41 83 09 ff          	orl    $0xffffffff,(%r9)
14018cb61:	eb 18                	jmp    0x14018cb7b
14018cb63:	41 ff 01             	incl   (%r9)
14018cb66:	48 8b 03             	mov    (%rbx),%rax
14018cb69:	48 ff 40 10          	incq   0x10(%rax)
14018cb6d:	48 8b 03             	mov    (%rbx),%rax
14018cb70:	48 8b 08             	mov    (%rax),%rcx
14018cb73:	88 11                	mov    %dl,(%rcx)
14018cb75:	48 8b 03             	mov    (%rbx),%rax
14018cb78:	48 ff 00             	incq   (%rax)
14018cb7b:	41 83 39 ff          	cmpl   $0xffffffff,(%r9)
14018cb7f:	74 08                	je     0x14018cb89
14018cb81:	41 ff c3             	inc    %r11d
14018cb84:	45 3b d8             	cmp    %r8d,%r11d
14018cb87:	7c bb                	jl     0x14018cb44
14018cb89:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14018cb8e:	c3                   	ret
14018cb8f:	cc                   	int3
14018cb90:	45 85 c0             	test   %r8d,%r8d
14018cb93:	7e 68                	jle    0x14018cbfd
14018cb95:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018cb9a:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
14018cb9f:	40 8a fa             	mov    %dl,%dil
14018cba2:	48 8b d9             	mov    %rcx,%rbx
14018cba5:	45 33 db             	xor    %r11d,%r11d
14018cba8:	4c 8b 13             	mov    (%rbx),%r10
14018cbab:	49 8b 42 08          	mov    0x8(%r10),%rax
14018cbaf:	49 39 42 10          	cmp    %rax,0x10(%r10)
14018cbb3:	75 12                	jne    0x14018cbc7
14018cbb5:	41 80 7a 18 00       	cmpb   $0x0,0x18(%r10)
14018cbba:	74 05                	je     0x14018cbc1
14018cbbc:	41 ff 01             	incl   (%r9)
14018cbbf:	eb 24                	jmp    0x14018cbe5
14018cbc1:	41 83 09 ff          	orl    $0xffffffff,(%r9)
14018cbc5:	eb 1e                	jmp    0x14018cbe5
14018cbc7:	41 ff 01             	incl   (%r9)
14018cbca:	48 8b 03             	mov    (%rbx),%rax
14018cbcd:	40 0f be d7          	movsbl %dil,%edx
14018cbd1:	48 ff 40 10          	incq   0x10(%rax)
14018cbd5:	48 8b 03             	mov    (%rbx),%rax