14007f767:	45 0f b6 06          	movzbl (%r14),%r8d
14007f76b:	48 8b 41 40          	mov    0x40(%rcx),%rax
14007f76f:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f773:	74 24                	je     0x14007f799
14007f775:	48 8b 51 58          	mov    0x58(%rcx),%rdx
14007f779:	8b 02                	mov    (%rdx),%eax
14007f77b:	85 c0                	test   %eax,%eax
14007f77d:	7e 1a                	jle    0x14007f799
14007f77f:	ff c8                	dec    %eax
14007f781:	89 02                	mov    %eax,(%rdx)
14007f783:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14007f787:	48 8b 11             	mov    (%rcx),%rdx
14007f78a:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f78e:	48 89 01             	mov    %rax,(%rcx)
14007f791:	44 88 02             	mov    %r8b,(%rdx)
14007f794:	41 8b c0             	mov    %r8d,%eax
14007f797:	eb 09                	jmp    0x14007f7a2
14007f799:	48 8b 01             	mov    (%rcx),%rax
14007f79c:	41 8b d0             	mov    %r8d,%edx
14007f79f:	ff 50 18             	call   *0x18(%rax)
14007f7a2:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f7a5:	74 08                	je     0x14007f7af
14007f7a7:	49 ff c6             	inc    %r14
14007f7aa:	e9 31 ff ff ff       	jmp    0x14007f6e0
14007f7af:	83 cb 04             	or     $0x4,%ebx
14007f7b2:	89 9c 24 b8 00 00 00 	mov    %ebx,0xb8(%rsp)
14007f7b9:	85 db                	test   %ebx,%ebx
14007f7bb:	0f 85 bf 00 00 00    	jne    0x14007f880
14007f7c1:	48 8b 07             	mov    (%rdi),%rax
14007f7c4:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f7c8:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
14007f7cd:	45 0f b6 44 24 10    	movzbl 0x10(%r12),%r8d
14007f7d3:	48 8b 41 40          	mov    0x40(%rcx),%rax
14007f7d7:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f7db:	74 24                	je     0x14007f801
14007f7dd:	48 8b 51 58          	mov    0x58(%rcx),%rdx
14007f7e1:	8b 02                	mov    (%rdx),%eax
14007f7e3:	85 c0                	test   %eax,%eax
14007f7e5:	7e 1a                	jle    0x14007f801
14007f7e7:	ff c8                	dec    %eax
14007f7e9:	89 02                	mov    %eax,(%rdx)
14007f7eb:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14007f7ef:	48 8b 11             	mov    (%rcx),%rdx
14007f7f2:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f7f6:	48 89 01             	mov    %rax,(%rcx)
14007f7f9:	44 88 02             	mov    %r8b,(%rdx)
14007f7fc:	41 8b c0             	mov    %r8d,%eax
14007f7ff:	eb 09                	jmp    0x14007f80a
14007f801:	48 8b 01             	mov    (%rcx),%rax
14007f804:	41 8b d0             	mov    %r8d,%edx
14007f807:	ff 50 18             	call   *0x18(%rax)
14007f80a:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f80d:	75 11                	jne    0x14007f820
14007f80f:	83 cb 04             	or     $0x4,%ebx
14007f812:	89 9c 24 b8 00 00 00 	mov    %ebx,0xb8(%rsp)
14007f819:	85 db                	test   %ebx,%ebx
14007f81b:	75 63                	jne    0x14007f880
14007f81d:	0f 1f 00             	nopl   (%rax)
14007f820:	48 85 f6             	test   %rsi,%rsi
14007f823:	74 5b                	je     0x14007f880
14007f825:	48 8b 07             	mov    (%rdi),%rax
14007f828:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f82c:	4c 8b 44 39 48       	mov    0x48(%rcx,%rdi,1),%r8
14007f831:	44 0f b6 4c 39 58    	movzbl 0x58(%rcx,%rdi,1),%r9d
14007f837:	49 8b 40 40          	mov    0x40(%r8),%rax
14007f83b:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f83f:	74 24                	je     0x14007f865
14007f841:	49 8b 48 58          	mov    0x58(%r8),%rcx
14007f845:	8b 01                	mov    (%rcx),%eax
14007f847:	85 c0                	test   %eax,%eax
14007f849:	7e 1a                	jle    0x14007f865
14007f84b:	ff c8                	dec    %eax
14007f84d:	89 01                	mov    %eax,(%rcx)
14007f84f:	49 8b 48 40          	mov    0x40(%r8),%rcx
14007f853:	48 8b 11             	mov    (%rcx),%rdx
14007f856:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f85a:	48 89 01             	mov    %rax,(%rcx)
14007f85d:	44 88 0a             	mov    %r9b,(%rdx)
14007f860:	41 8b c1             	mov    %r9d,%eax
14007f863:	eb 0c                	jmp    0x14007f871
14007f865:	49 8b 00             	mov    (%r8),%rax
14007f868:	41 8b d1             	mov    %r9d,%edx
14007f86b:	49 8b c8             	mov    %r8,%rcx
14007f86e:	ff 50 18             	call   *0x18(%rax)
14007f871:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f874:	75 1f                	jne    0x14007f895
14007f876:	83 cb 04             	or     $0x4,%ebx
14007f879:	89 9c 24 b8 00 00 00 	mov    %ebx,0xb8(%rsp)
14007f880:	48 8b 07             	mov    (%rdi),%rax
14007f883:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f887:	33 d2                	xor    %edx,%edx
14007f889:	48 89 54 39 28       	mov    %rdx,0x28(%rcx,%rdi,1)
14007f88e:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
14007f893:	eb 21                	jmp    0x14007f8b6
14007f895:	48 ff ce             	dec    %rsi
14007f898:	eb 86                	jmp    0x14007f820
14007f89a:	41 bf 04 00 00 00    	mov    $0x4,%r15d
14007f8a0:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
14007f8a7:	00
14007f8a8:	8b 9c 24 b8 00 00 00 	mov    0xb8(%rsp),%ebx
14007f8af:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
14007f8b4:	33 d2                	xor    %edx,%edx
14007f8b6:	48 8b 07             	mov    (%rdi),%rax
14007f8b9:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f8bd:	48 03 cf             	add    %rdi,%rcx
14007f8c0:	0b 59 10             	or     0x10(%rcx),%ebx
14007f8c3:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
14007f8c8:	44 0f 45 fa          	cmovne %edx,%r15d
14007f8cc:	44 0b fb             	or     %ebx,%r15d
14007f8cf:	41 83 e7 17          	and    $0x17,%r15d
14007f8d3:	44 89 79 10          	mov    %r15d,0x10(%rcx)
14007f8d7:	44 23 79 14          	and    0x14(%rcx),%r15d
14007f8db:	75 3d                	jne    0x14007f91a
14007f8dd:	e8 9a f5 22 00       	call   0x1402aee7c
14007f8e2:	84 c0                	test   %al,%al
14007f8e4:	75 09                	jne    0x14007f8ef
14007f8e6:	49 8b ce             	mov    %r14,%rcx
14007f8e9:	e8 12 f1 ff ff       	call   0x14007ea00
14007f8ee:	90                   	nop
14007f8ef:	49 8b 06             	mov    (%r14),%rax
14007f8f2:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f8f6:	4a 8b 4c 31 48       	mov    0x48(%rcx,%r14,1),%rcx
14007f8fb:	48 85 c9             	test   %rcx,%rcx
14007f8fe:	74 07                	je     0x14007f907
14007f900:	48 8b 01             	mov    (%rcx),%rax
14007f903:	ff 50 10             	call   *0x10(%rax)
14007f906:	90                   	nop
14007f907:	48 8b c7             	mov    %rdi,%rax
14007f90a:	48 83 c4 70          	add    $0x70,%rsp
14007f90e:	41 5f                	pop    %r15
14007f910:	41 5e                	pop    %r14
14007f912:	41 5d                	pop    %r13
14007f914:	41 5c                	pop    %r12
14007f916:	5f                   	pop    %rdi
14007f917:	5e                   	pop    %rsi
14007f918:	5b                   	pop    %rbx
14007f919:	c3                   	ret
14007f91a:	41 f6 c7 04          	test   $0x4,%r15b
14007f91e:	74 09                	je     0x14007f929
14007f920:	48 8d 1d 69 86 32 00 	lea    0x328669(%rip),%rbx        # 0x1403a7f90
14007f927:	eb 16                	jmp    0x14007f93f
14007f929:	41 f6 c7 02          	test   $0x2,%r15b
14007f92d:	48 8d 1d 74 86 32 00 	lea    0x328674(%rip),%rbx        # 0x1403a7fa8
14007f934:	48 8d 05 85 86 32 00 	lea    0x328685(%rip),%rax        # 0x1403a7fc0
14007f93b:	48 0f 44 d8          	cmove  %rax,%rbx
14007f93f:	ba 01 00 00 00       	mov    $0x1,%edx
14007f944:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14007f949:	e8 72 dc ff ff       	call   0x14007d5c0
14007f94e:	4c 8b c0             	mov    %rax,%r8
14007f951:	48 8b d3             	mov    %rbx,%rdx
14007f954:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14007f959:	e8 e2 e6 ff ff       	call   0x14007e040
14007f95e:	48 8d 15 73 d4 34 00 	lea    0x34d473(%rip),%rdx        # 0x1403ccdd8
14007f965:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14007f96a:	e8 41 2b 23 00       	call   0x1402b24b0
14007f96f:	cc                   	int3
14007f970:	40 53                	rex push %rbx
14007f972:	48 83 ec 20          	sub    $0x20,%rsp
14007f976:	80 79 20 00          	cmpb   $0x0,0x20(%rcx)
14007f97a:	48 8b d9             	mov    %rcx,%rbx
14007f97d:	74 49                	je     0x14007f9c8
14007f97f:	48 8b 51 18          	mov    0x18(%rcx),%rdx
14007f983:	48 83 fa 0f          	cmp    $0xf,%rdx
14007f987:	76 2c                	jbe    0x14007f9b5
14007f989:	48 8b 09             	mov    (%rcx),%rcx
14007f98c:	48 ff c2             	inc    %rdx
14007f98f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14007f996:	72 18                	jb     0x14007f9b0
14007f998:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14007f99c:	48 83 c2 27          	add    $0x27,%rdx
14007f9a0:	49 2b c8             	sub    %r8,%rcx
14007f9a3:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14007f9a7:	48 83 f8 1f          	cmp    $0x1f,%rax
14007f9ab:	77 21                	ja     0x14007f9ce
14007f9ad:	49 8b c8             	mov    %r8,%rcx
14007f9b0:	e8 57 05 23 00       	call   0x1402aff0c
14007f9b5:	48 c7 43 10 00 00 00 	movq   $0x0,0x10(%rbx)
14007f9bc:	00
14007f9bd:	48 c7 43 18 0f 00 00 	movq   $0xf,0x18(%rbx)
14007f9c4:	00
14007f9c5:	c6 03 00             	movb   $0x0,(%rbx)
14007f9c8:	48 83 c4 20          	add    $0x20,%rsp
14007f9cc:	5b                   	pop    %rbx
14007f9cd:	c3                   	ret
14007f9ce:	e8 51 6a 23 00       	call   0x1402b6424
14007f9d3:	cc                   	int3
14007f9d4:	cc                   	int3
14007f9d5:	cc                   	int3
14007f9d6:	cc                   	int3
14007f9d7:	cc                   	int3
14007f9d8:	cc                   	int3
14007f9d9:	cc                   	int3
14007f9da:	cc                   	int3
14007f9db:	cc                   	int3
14007f9dc:	cc                   	int3
14007f9dd:	cc                   	int3
14007f9de:	cc                   	int3
14007f9df:	cc                   	int3
14007f9e0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14007f9e5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14007f9ea:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14007f9ef:	57                   	push   %rdi
14007f9f0:	48 83 ec 20          	sub    $0x20,%rsp
14007f9f4:	48 8b fa             	mov    %rdx,%rdi
14007f9f7:	48 8b d9             	mov    %rcx,%rbx
14007f9fa:	8b 02                	mov    (%rdx),%eax
14007f9fc:	89 01                	mov    %eax,(%rcx)
14007f9fe:	48 8b 42 08          	mov    0x8(%rdx),%rax
14007fa02:	48 89 41 08          	mov    %rax,0x8(%rcx)
14007fa06:	48 8d 71 10          	lea    0x10(%rcx),%rsi
14007fa0a:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
14007fa0f:	48 83 c2 10          	add    $0x10,%rdx
14007fa13:	c6 46 20 00          	movb   $0x0,0x20(%rsi)
14007fa17:	80 7a 20 00          	cmpb   $0x0,0x20(%rdx)
14007fa1b:	74 0c                	je     0x14007fa29
14007fa1d:	48 8b ce             	mov    %rsi,%rcx
14007fa20:	e8 fb ea ff ff       	call   0x14007e520
14007fa25:	c6 46 20 01          	movb   $0x1,0x20(%rsi)
14007fa29:	48 8d 73 38          	lea    0x38(%rbx),%rsi
14007fa2d:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
14007fa32:	48 8d 57 38          	lea    0x38(%rdi),%rdx
14007fa36:	c6 46 20 00          	movb   $0x0,0x20(%rsi)
14007fa3a:	80 7a 20 00          	cmpb   $0x0,0x20(%rdx)
14007fa3e:	74 0c                	je     0x14007fa4c
14007fa40:	48 8b ce             	mov    %rsi,%rcx
14007fa43:	e8 d8 ea ff ff       	call   0x14007e520
14007fa48:	c6 46 20 01          	movb   $0x1,0x20(%rsi)
14007fa4c:	48 8b 47 60          	mov    0x60(%rdi),%rax
14007fa50:	48 89 43 60          	mov    %rax,0x60(%rbx)
14007fa54:	48 8d 4b 68          	lea    0x68(%rbx),%rcx
14007fa58:	48 8d 57 68          	lea    0x68(%rdi),%rdx
14007fa5c:	e8 9f 00 00 00       	call   0x14007fb00
14007fa61:	90                   	nop
14007fa62:	8b 47 78             	mov    0x78(%rdi),%eax
14007fa65:	89 43 78             	mov    %eax,0x78(%rbx)
14007fa68:	8b 47 7c             	mov    0x7c(%rdi),%eax
14007fa6b:	89 43 7c             	mov    %eax,0x7c(%rbx)
14007fa6e:	48 8d 8b 80 00 00 00 	lea    0x80(%rbx),%rcx
14007fa75:	48 8d 97 80 00 00 00 	lea    0x80(%rdi),%rdx
14007fa7c:	e8 9f ea ff ff       	call   0x14007e520
14007fa81:	90                   	nop
14007fa82:	48 8b c3             	mov    %rbx,%rax
14007fa85:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14007fa8a:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14007fa8f:	48 83 c4 20          	add    $0x20,%rsp
14007fa93:	5f                   	pop    %rdi
14007fa94:	c3                   	ret
14007fa95:	cc                   	int3
14007fa96:	cc                   	int3
14007fa97:	cc                   	int3
14007fa98:	cc                   	int3
14007fa99:	cc                   	int3
14007fa9a:	cc                   	int3
14007fa9b:	cc                   	int3
14007fa9c:	cc                   	int3
14007fa9d:	cc                   	int3
14007fa9e:	cc                   	int3
14007fa9f:	cc                   	int3
14007faa0:	40 53                	rex push %rbx
14007faa2:	48 83 ec 20          	sub    $0x20,%rsp
14007faa6:	48 8b d9             	mov    %rcx,%rbx
14007faa9:	48 83 e9 80          	sub    $0xffffffffffffff80,%rcx
14007faad:	48 3b ca             	cmp    %rdx,%rcx
14007fab0:	74 13                	je     0x14007fac5
14007fab2:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14007fab7:	4c 8b 42 10          	mov    0x10(%rdx),%r8
14007fabb:	76 03                	jbe    0x14007fac0
14007fabd:	48 8b 12             	mov    (%rdx),%rdx
14007fac0:	e8 eb 00 00 00       	call   0x14007fbb0
14007fac5:	48 8b c3             	mov    %rbx,%rax
14007fac8:	48 83 c4 20          	add    $0x20,%rsp
14007facc:	5b                   	pop    %rbx
14007facd:	c3                   	ret
14007face:	cc                   	int3
14007facf:	cc                   	int3
14007fad0:	40 53                	rex push %rbx
14007fad2:	48 83 ec 20          	sub    $0x20,%rsp
14007fad6:	48 8b 11             	mov    (%rcx),%rdx
14007fad9:	48 8b d9             	mov    %rcx,%rbx
14007fadc:	e8 2f 02 00 00       	call   0x14007fd10
14007fae1:	48 8b 0b             	mov    (%rbx),%rcx
14007fae4:	ba 20 00 00 00       	mov    $0x20,%edx
14007fae9:	48 83 c4 20          	add    $0x20,%rsp
14007faed:	5b                   	pop    %rbx
14007faee:	e9 19 04 23 00       	jmp    0x1402aff0c
14007faf3:	cc                   	int3
14007faf4:	cc                   	int3
14007faf5:	cc                   	int3
14007faf6:	cc                   	int3
14007faf7:	cc                   	int3
14007faf8:	cc                   	int3
14007faf9:	cc                   	int3
14007fafa:	cc                   	int3
14007fafb:	cc                   	int3
14007fafc:	cc                   	int3
14007fafd:	cc                   	int3
14007fafe:	cc                   	int3
14007faff:	cc                   	int3
14007fb00:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14007fb05:	57                   	push   %rdi
14007fb06:	48 83 ec 50          	sub    $0x50,%rsp
14007fb0a:	48 8b d9             	mov    %rcx,%rbx
14007fb0d:	33 ff                	xor    %edi,%edi
14007fb0f:	48 89 39             	mov    %rdi,(%rcx)
14007fb12:	48 89 79 08          	mov    %rdi,0x8(%rcx)
14007fb16:	4c 8b 02             	mov    (%rdx),%r8
14007fb19:	49 8b 10             	mov    (%r8),%rdx
14007fb1c:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
14007fb21:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14007fb26:	0f 57 c0             	xorps  %xmm0,%xmm0
14007fb29:	f3 0f 7f 44 24 30    	movdqu %xmm0,0x30(%rsp)
14007fb2f:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14007fb34:	e8 07 05 00 00       	call   0x140080040
14007fb39:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
14007fb3e:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14007fb43:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
14007fb48:	b9 20 00 00 00       	mov    $0x20,%ecx
14007fb4d:	e8 7e 03 23 00       	call   0x1402afed0
14007fb52:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
14007fb57:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14007fb5c:	4d 85 c0             	test   %r8,%r8
14007fb5f:	75 09                	jne    0x14007fb6a
14007fb61:	48 89 00             	mov    %rax,(%rax)
14007fb64:	48 89 40 08          	mov    %rax,0x8(%rax)
14007fb68:	eb 18                	jmp    0x14007fb82
14007fb6a:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
14007fb6f:	48 89 10             	mov    %rdx,(%rax)
14007fb72:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14007fb77:	48 89 48 08          	mov    %rcx,0x8(%rax)
14007fb7b:	48 89 42 08          	mov    %rax,0x8(%rdx)
14007fb7f:	48 89 01             	mov    %rax,(%rcx)
14007fb82:	4c 89 43 08          	mov    %r8,0x8(%rbx)
14007fb86:	48 89 03             	mov    %rax,(%rbx)
14007fb89:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14007fb8e:	e8 0d 02 00 00       	call   0x14007fda0
14007fb93:	48 8b c3             	mov    %rbx,%rax
14007fb96:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14007fb9b:	48 83 c4 50          	add    $0x50,%rsp
14007fb9f:	5f                   	pop    %rdi
14007fba0:	c3                   	ret
14007fba1:	cc                   	int3
14007fba2:	cc                   	int3
14007fba3:	cc                   	int3
14007fba4:	cc                   	int3
14007fba5:	cc                   	int3
14007fba6:	cc                   	int3
14007fba7:	cc                   	int3
14007fba8:	cc                   	int3
14007fba9:	cc                   	int3
14007fbaa:	cc                   	int3