140968a8d:	e8 ce 8a 84 ff       	call   0x1401b1560
140968a92:	48 8b 5d e0          	mov    -0x20(%rbp),%rbx
140968a96:	48 39 5d e8          	cmp    %rbx,-0x18(%rbp)
140968a9a:	0f 84 8d 01 00 00    	je     0x140968c2d
140968aa0:	48 85 f6             	test   %rsi,%rsi
140968aa3:	74 48                	je     0x140968aed
140968aa5:	48 85 db             	test   %rbx,%rbx
140968aa8:	74 1c                	je     0x140968ac6
140968aaa:	4c 8b c6             	mov    %rsi,%r8
140968aad:	48 8b cb             	mov    %rbx,%rcx
140968ab0:	4d 85 f6             	test   %r14,%r14
140968ab3:	74 0a                	je     0x140968abf
140968ab5:	49 8b d6             	mov    %r14,%rdx
140968ab8:	e8 e3 93 18 00       	call   0x140af1ea0
140968abd:	eb 2e                	jmp    0x140968aed
140968abf:	33 d2                	xor    %edx,%edx
140968ac1:	e8 a6 79 18 00       	call   0x140af046c
140968ac6:	ff 15 34 3e 1a 00    	call   *0x1a3e34(%rip)        # 0x140b0c900
140968acc:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140968ad2:	ff 15 78 3e 1a 00    	call   *0x1a3e78(%rip)        # 0x140b0c950
140968ad8:	eb 13                	jmp    0x140968aed
140968ada:	45 8b c2             	mov    %r10d,%r8d
140968add:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140968ae1:	48 8b cf             	mov    %rdi,%rcx
140968ae4:	e8 7f fb ff ff       	call   0x140968668
140968ae9:	48 8b 5d e0          	mov    -0x20(%rbp),%rbx
140968aed:	83 7f 70 08          	cmpl   $0x8,0x70(%rdi)
140968af1:	77 0e                	ja     0x140968b01
140968af3:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140968af7:	48 8b cf             	mov    %rdi,%rcx
140968afa:	e8 5d 07 00 00       	call   0x14096925c
140968aff:	eb 5c                	jmp    0x140968b5d
140968b01:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140968b05:	48 2b cb             	sub    %rbx,%rcx
140968b08:	0f 84 1f 01 00 00    	je     0x140968c2d
140968b0e:	48 d1 e9             	shr    $1,%rcx
140968b11:	74 14                	je     0x140968b27
140968b13:	0f b7 03             	movzwl (%rbx),%eax
140968b16:	66 c1 c8 08          	ror    $0x8,%ax
140968b1a:	66 89 03             	mov    %ax,(%rbx)
140968b1d:	48 8d 5b 02          	lea    0x2(%rbx),%rbx
140968b21:	48 83 e9 01          	sub    $0x1,%rcx
140968b25:	75 ec                	jne    0x140968b13
140968b27:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140968b2b:	48 8b cf             	mov    %rdi,%rcx
140968b2e:	e8 3d 08 00 00       	call   0x140969370
140968b33:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140968b37:	48 8b 55 e0          	mov    -0x20(%rbp),%rdx
140968b3b:	48 2b ca             	sub    %rdx,%rcx
140968b3e:	0f 84 e9 00 00 00    	je     0x140968c2d
140968b44:	48 d1 e9             	shr    $1,%rcx
140968b47:	74 14                	je     0x140968b5d
140968b49:	0f b7 02             	movzwl (%rdx),%eax
140968b4c:	66 c1 c8 08          	ror    $0x8,%ax
140968b50:	66 89 02             	mov    %ax,(%rdx)
140968b53:	48 8d 52 02          	lea    0x2(%rdx),%rdx
140968b57:	48 83 e9 01          	sub    $0x1,%rcx
140968b5b:	75 ec                	jne    0x140968b49
140968b5d:	83 7f 70 08          	cmpl   $0x8,0x70(%rdi)
140968b61:	73 0c                	jae    0x140968b6f
140968b63:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140968b67:	48 8b cf             	mov    %rdi,%rcx
140968b6a:	e8 9d fc ff ff       	call   0x14096880c
140968b6f:	48 8d 4f 30          	lea    0x30(%rdi),%rcx
140968b73:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140968b77:	e8 40 08 89 ff       	call   0x1401f93bc
140968b7c:	0f 57 c0             	xorps  %xmm0,%xmm0
140968b7f:	f3 0f 7f 45 d0       	movdqu %xmm0,-0x30(%rbp)
140968b84:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
140968b88:	49 8b cf             	mov    %r15,%rcx
140968b8b:	e8 54 d7 69 ff       	call   0x1400062e4
140968b90:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
140968b94:	48 85 c9             	test   %rcx,%rcx
140968b97:	74 3d                	je     0x140968bd6
140968b99:	83 cf ff             	or     $0xffffffff,%edi
140968b9c:	8b c7                	mov    %edi,%eax
140968b9e:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140968ba3:	03 c7                	add    %edi,%eax
140968ba5:	75 2f                	jne    0x140968bd6
140968ba7:	48 8b 5d d8          	mov    -0x28(%rbp),%rbx
140968bab:	48 8b 03             	mov    (%rbx),%rax
140968bae:	48 8b cb             	mov    %rbx,%rcx
140968bb1:	48 8b 00             	mov    (%rax),%rax
140968bb4:	ff 15 7e 40 1a 00    	call   *0x1a407e(%rip)        # 0x140b0cc38
140968bba:	8b c7                	mov    %edi,%eax
140968bbc:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140968bc1:	03 c7                	add    %edi,%eax
140968bc3:	75 11                	jne    0x140968bd6
140968bc5:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
140968bc9:	48 8b 01             	mov    (%rcx),%rax
140968bcc:	48 8b 40 08          	mov    0x8(%rax),%rax
140968bd0:	ff 15 62 40 1a 00    	call   *0x1a4062(%rip)        # 0x140b0cc38
140968bd6:	b3 01                	mov    $0x1,%bl
140968bd8:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140968bdc:	48 85 c9             	test   %rcx,%rcx
140968bdf:	74 30                	je     0x140968c11
140968be1:	48 8b d1             	mov    %rcx,%rdx
140968be4:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
140968be8:	48 2b c1             	sub    %rcx,%rax
140968beb:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140968bf1:	72 18                	jb     0x140968c0b
140968bf3:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140968bf7:	48 2b d1             	sub    %rcx,%rdx
140968bfa:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
140968bfe:	48 83 f8 1f          	cmp    $0x1f,%rax
140968c02:	76 07                	jbe    0x140968c0b
140968c04:	ff 15 8e 3d 1a 00    	call   *0x1a3d8e(%rip)        # 0x140b0c998
140968c0a:	cc                   	int3
140968c0b:	ff 15 af 3c 1a 00    	call   *0x1a3caf(%rip)        # 0x140b0c8c0
140968c11:	8a c3                	mov    %bl,%al
140968c13:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140968c18:	49 8b 5b 28          	mov    0x28(%r11),%rbx
140968c1c:	49 8b 73 30          	mov    0x30(%r11),%rsi
140968c20:	49 8b 7b 38          	mov    0x38(%r11),%rdi
140968c24:	49 8b e3             	mov    %r11,%rsp
140968c27:	41 5f                	pop    %r15
140968c29:	41 5e                	pop    %r14
140968c2b:	5d                   	pop    %rbp
140968c2c:	c3                   	ret
140968c2d:	ff 15 65 3d 1a 00    	call   *0x1a3d65(%rip)        # 0x140b0c998
140968c33:	90                   	nop
140968c34:	e8 eb 70 97 ff       	call   0x1402dfd24
140968c39:	cc                   	int3
140968c3a:	90                   	nop
140968c3b:	90                   	nop
140968c3c:	48 8b c4             	mov    %rsp,%rax
140968c3f:	48 89 58 10          	mov    %rbx,0x10(%rax)
140968c43:	48 89 70 18          	mov    %rsi,0x18(%rax)
140968c47:	48 89 78 20          	mov    %rdi,0x20(%rax)
140968c4b:	55                   	push   %rbp
140968c4c:	41 54                	push   %r12
140968c4e:	41 55                	push   %r13
140968c50:	41 56                	push   %r14
140968c52:	41 57                	push   %r15
140968c54:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
140968c58:	48 81 ec e0 00 00 00 	sub    $0xe0,%rsp
140968c5f:	48 8b 05 da 63 35 00 	mov    0x3563da(%rip),%rax        # 0x140cbf040
140968c66:	48 33 c4             	xor    %rsp,%rax
140968c69:	48 89 45 27          	mov    %rax,0x27(%rbp)
140968c6d:	48 8b f9             	mov    %rcx,%rdi
140968c70:	48 89 4d 8f          	mov    %rcx,-0x71(%rbp)
140968c74:	45 33 f6             	xor    %r14d,%r14d
140968c77:	44 88 74 24 21       	mov    %r14b,0x21(%rsp)
140968c7c:	48 8d 59 58          	lea    0x58(%rcx),%rbx
140968c80:	48 89 5d d7          	mov    %rbx,-0x29(%rbp)
140968c84:	0f 57 c0             	xorps  %xmm0,%xmm0
140968c87:	f3 0f 7f 45 af       	movdqu %xmm0,-0x51(%rbp)
140968c8c:	48 8b 43 08          	mov    0x8(%rbx),%rax
140968c90:	48 85 c0             	test   %rax,%rax
140968c93:	74 04                	je     0x140968c99
140968c95:	f0 ff 40 08          	lock incl 0x8(%rax)
140968c99:	48 8b 03             	mov    (%rbx),%rax
140968c9c:	48 89 45 af          	mov    %rax,-0x51(%rbp)
140968ca0:	48 8b 43 08          	mov    0x8(%rbx),%rax
140968ca4:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
140968ca8:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140968cac:	e8 3f 22 fd ff       	call   0x14093aef0
140968cb1:	4c 8b f8             	mov    %rax,%r15
140968cb4:	48 8b 0b             	mov    (%rbx),%rcx
140968cb7:	48 8b 01             	mov    (%rcx),%rax
140968cba:	48 8b 40 28          	mov    0x28(%rax),%rax
140968cbe:	ff 15 74 3f 1a 00    	call   *0x1a3f74(%rip)        # 0x140b0cc38
140968cc4:	8b d8                	mov    %eax,%ebx
140968cc6:	8b 4f 74             	mov    0x74(%rdi),%ecx
140968cc9:	8b 47 70             	mov    0x70(%rdi),%eax
140968ccc:	48 0f af c8          	imul   %rax,%rcx
140968cd0:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140968cd5:	48 3b ca             	cmp    %rdx,%rcx
140968cd8:	0f 87 3e 05 00 00    	ja     0x14096921c
140968cde:	8d 41 07             	lea    0x7(%rcx),%eax
140968ce1:	83 e0 f8             	and    $0xfffffff8,%eax
140968ce4:	89 44 24 24          	mov    %eax,0x24(%rsp)
140968ce8:	8b 77 78             	mov    0x78(%rdi),%esi
140968ceb:	8b c1                	mov    %ecx,%eax
140968ced:	48 0f af f0          	imul   %rax,%rsi
140968cf1:	48 3b f2             	cmp    %rdx,%rsi
140968cf4:	0f 87 22 05 00 00    	ja     0x14096921c
140968cfa:	83 c6 07             	add    $0x7,%esi
140968cfd:	c1 ee 03             	shr    $0x3,%esi
140968d00:	44 8d 66 01          	lea    0x1(%rsi),%r12d
140968d04:	85 db                	test   %ebx,%ebx
140968d06:	75 05                	jne    0x140968d0d
140968d08:	41 8b c6             	mov    %r14d,%eax
140968d0b:	eb 07                	jmp    0x140968d14
140968d0d:	33 d2                	xor    %edx,%edx
140968d0f:	8b c3                	mov    %ebx,%eax
140968d11:	41 f7 f4             	div    %r12d
140968d14:	8b c8                	mov    %eax,%ecx
140968d16:	41 0f af cc          	imul   %r12d,%ecx
140968d1a:	44 8d 68 01          	lea    0x1(%rax),%r13d
140968d1e:	3b cb                	cmp    %ebx,%ecx
140968d20:	44 0f 44 e8          	cmove  %eax,%r13d
140968d24:	44 89 6d 83          	mov    %r13d,-0x7d(%rbp)
140968d28:	0f 57 c0             	xorps  %xmm0,%xmm0
140968d2b:	f3 0f 7f 45 bf       	movdqu %xmm0,-0x41(%rbp)
140968d30:	4c 89 75 cf          	mov    %r14,-0x31(%rbp)
140968d34:	44 88 74 24 20       	mov    %r14b,0x20(%rsp)
140968d39:	41 8b c5             	mov    %r13d,%eax
140968d3c:	41 0f af c4          	imul   %r12d,%eax
140968d40:	8b d0                	mov    %eax,%edx
140968d42:	85 c0                	test   %eax,%eax
140968d44:	74 0e                	je     0x140968d54
140968d46:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
140968d4b:	48 8d 4d bf          	lea    -0x41(%rbp),%rcx
140968d4f:	e8 e0 07 00 00       	call   0x140969534
140968d54:	4c 8b 75 c7          	mov    -0x39(%rbp),%r14
140968d58:	48 8b 7d bf          	mov    -0x41(%rbp),%rdi
140968d5c:	4c 2b f7             	sub    %rdi,%r14
140968d5f:	75 07                	jne    0x140968d68
140968d61:	ff 15 31 3c 1a 00    	call   *0x1a3c31(%rip)        # 0x140b0c998
140968d67:	cc                   	int3
140968d68:	48 85 db             	test   %rbx,%rbx
140968d6b:	74 57                	je     0x140968dc4
140968d6d:	48 85 ff             	test   %rdi,%rdi
140968d70:	75 0e                	jne    0x140968d80
140968d72:	ff 15 88 3b 1a 00    	call   *0x1a3b88(%rip)        # 0x140b0c900
140968d78:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140968d7e:	eb 3d                	jmp    0x140968dbd
140968d80:	4d 85 ff             	test   %r15,%r15
140968d83:	74 15                	je     0x140968d9a
140968d85:	4c 3b f3             	cmp    %rbx,%r14
140968d88:	72 10                	jb     0x140968d9a
140968d8a:	4c 8b c3             	mov    %rbx,%r8
140968d8d:	49 8b d7             	mov    %r15,%rdx
140968d90:	48 8b cf             	mov    %rdi,%rcx
140968d93:	e8 08 91 18 00       	call   0x140af1ea0
140968d98:	eb 2a                	jmp    0x140968dc4
140968d9a:	4d 8b c6             	mov    %r14,%r8
140968d9d:	33 d2                	xor    %edx,%edx
140968d9f:	48 8b cf             	mov    %rdi,%rcx
140968da2:	e8 c5 76 18 00       	call   0x140af046c
140968da7:	4d 85 ff             	test   %r15,%r15
140968daa:	74 c6                	je     0x140968d72
140968dac:	4c 3b f3             	cmp    %rbx,%r14
140968daf:	73 13                	jae    0x140968dc4
140968db1:	ff 15 49 3b 1a 00    	call   *0x1a3b49(%rip)        # 0x140b0c900
140968db7:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140968dbd:	ff 15 8d 3b 1a 00    	call   *0x1a3b8d(%rip)        # 0x140b0c950
140968dc3:	90                   	nop
140968dc4:	48 8b 5d 8f          	mov    -0x71(%rbp),%rbx
140968dc8:	8a 9b 9d 00 00 00    	mov    0x9d(%rbx),%bl
140968dce:	b9 08 01 00 00       	mov    $0x108,%ecx
140968dd3:	e8 2c 68 18 00       	call   0x140aef604
140968dd8:	4c 8b f8             	mov    %rax,%r15
140968ddb:	48 8d 05 16 95 35 00 	lea    0x359516(%rip),%rax        # 0x140cc22f8
140968de2:	49 89 47 08          	mov    %rax,0x8(%r15)
140968de6:	41 83 67 38 00       	andl   $0x0,0x38(%r15)
140968deb:	41 83 67 3c 00       	andl   $0x0,0x3c(%r15)
140968df0:	41 88 9f 05 01 00 00 	mov    %bl,0x105(%r15)
140968df7:	48 8d 05 3a 48 1c 00 	lea    0x1c483a(%rip),%rax        # 0x140b2d638
140968dfe:	49 89 07             	mov    %rax,(%r15)
140968e01:	4c 89 7d af          	mov    %r15,-0x51(%rbp)
140968e05:	4d 85 ff             	test   %r15,%r15
140968e08:	0f 84 17 04 00 00    	je     0x140969225
140968e0e:	45 33 c9             	xor    %r9d,%r9d
140968e11:	33 c0                	xor    %eax,%eax
140968e13:	89 45 87             	mov    %eax,-0x79(%rbp)
140968e16:	45 85 ed             	test   %r13d,%r13d
140968e19:	0f 84 6e 02 00 00    	je     0x14096908d
140968e1f:	41 0f af c4          	imul   %r12d,%eax
140968e23:	8b c8                	mov    %eax,%ecx
140968e25:	49 3b ce             	cmp    %r14,%rcx
140968e28:	0f 83 44 03 00 00    	jae    0x140969172
140968e2e:	4c 8d 04 07          	lea    (%rdi,%rax,1),%r8
140968e32:	41 0f b6 08          	movzbl (%r8),%ecx
140968e36:	8b d1                	mov    %ecx,%edx
140968e38:	85 c9                	test   %ecx,%ecx
140968e3a:	74 18                	je     0x140968e54
140968e3c:	83 ea 01             	sub    $0x1,%edx
140968e3f:	74 13                	je     0x140968e54
140968e41:	83 ea 01             	sub    $0x1,%edx
140968e44:	74 0e                	je     0x140968e54
140968e46:	83 ea 01             	sub    $0x1,%edx
140968e49:	74 09                	je     0x140968e54
140968e4b:	83 fa 01             	cmp    $0x1,%edx
140968e4e:	0f 85 99 03 00 00    	jne    0x1409691ed
140968e54:	49 8b d0             	mov    %r8,%rdx
140968e57:	41 83 fc 02          	cmp    $0x2,%r12d
140968e5b:	0f 82 18 02 00 00    	jb     0x140969079
140968e61:	83 e9 01             	sub    $0x1,%ecx
140968e64:	0f 84 de 01 00 00    	je     0x140969048
140968e6a:	83 e9 01             	sub    $0x1,%ecx
140968e6d:	0f 84 93 01 00 00    	je     0x140969006
140968e73:	83 e9 01             	sub    $0x1,%ecx
140968e76:	0f 84 f4 00 00 00    	je     0x140968f70
140968e7c:	83 f9 01             	cmp    $0x1,%ecx
140968e7f:	0f 85 f4 01 00 00    	jne    0x140969079
140968e85:	4d 85 c9             	test   %r9,%r9
140968e88:	0f 84 ba 01 00 00    	je     0x140969048
140968e8e:	8b 44 24 24          	mov    0x24(%rsp),%eax
140968e92:	41 80 bf 05 01 00 00 	cmpb   $0x0,0x105(%r15)
140968e99:	00
140968e9a:	74 12                	je     0x140968eae
140968e9c:	83 f8 08             	cmp    $0x8,%eax
140968e9f:	76 0d                	jbe    0x140968eae
140968ea1:	41 81 fc 80 00 00 00 	cmp    $0x80,%r12d
140968ea8:	0f 83 cb 01 00 00    	jae    0x140969079
140968eae:	44 8d 50 07          	lea    0x7(%rax),%r10d
140968eb2:	41 c1 ea 03          	shr    $0x3,%r10d
140968eb6:	33 d2                	xor    %edx,%edx
140968eb8:	45 85 d2             	test   %r10d,%r10d
140968ebb:	74 13                	je     0x140968ed0
140968ebd:	3b d6                	cmp    %esi,%edx
140968ebf:	73 0f                	jae    0x140968ed0
140968ec1:	ff c2                	inc    %edx
140968ec3:	41 8a 04 11          	mov    (%r9,%rdx,1),%al
140968ec7:	42 00 04 02          	add    %al,(%rdx,%r8,1)
140968ecb:	41 3b d2             	cmp    %r10d,%edx
140968ece:	72 ed                	jb     0x140968ebd
140968ed0:	44 3b d6             	cmp    %esi,%r10d
140968ed3:	0f 83 a0 01 00 00    	jae    0x140969079
140968ed9:	45 8b da             	mov    %r10d,%r11d
140968edc:	4d 03 d8             	add    %r8,%r11
140968edf:	4d 8b e1             	mov    %r9,%r12
140968ee2:	4d 2b e0             	sub    %r8,%r12
140968ee5:	45 8b ea             	mov    %r10d,%r13d
140968ee8:	41 ff c5             	inc    %r13d
140968eeb:	49 ff c3             	inc    %r11
140968eee:	41 8b c5             	mov    %r13d,%eax
140968ef1:	41 2b c2             	sub    %r10d,%eax
140968ef4:	8b c8                	mov    %eax,%ecx
140968ef6:	41 0f b6 04 01       	movzbl (%r9,%rax,1),%eax
140968efb:	89 44 24 28          	mov    %eax,0x28(%rsp)
140968eff:	41 0f b6 0c 08       	movzbl (%r8,%rcx,1),%ecx
140968f04:	89 4d a7             	mov    %ecx,-0x59(%rbp)
140968f07:	8b d1                	mov    %ecx,%edx
140968f09:	2b d0                	sub    %eax,%edx
140968f0b:	43 0f b6 0c 23       	movzbl (%r11,%r12,1),%ecx
140968f10:	2b c8                	sub    %eax,%ecx
140968f12:	8d 04 11             	lea    (%rcx,%rdx,1),%eax
140968f15:	8b d8                	mov    %eax,%ebx
140968f17:	f7 db                	neg    %ebx
140968f19:	0f 48 d8             	cmovs  %eax,%ebx
140968f1c:	8b c1                	mov    %ecx,%eax
140968f1e:	f7 d8                	neg    %eax
140968f20:	0f 48 c1             	cmovs  %ecx,%eax
140968f23:	89 45 9f             	mov    %eax,-0x61(%rbp)
140968f26:	8b c2                	mov    %edx,%eax
140968f28:	f7 d8                	neg    %eax
140968f2a:	0f 48 c2             	cmovs  %edx,%eax
140968f2d:	89 45 a3             	mov    %eax,-0x5d(%rbp)
140968f30:	41 8a 03             	mov    (%r11),%al
140968f33:	8b 4d 9f             	mov    -0x61(%rbp),%ecx
140968f36:	8b 55 a3             	mov    -0x5d(%rbp),%edx
140968f39:	3b ca                	cmp    %edx,%ecx
140968f3b:	7f 0c                	jg     0x140968f49
140968f3d:	3b cb                	cmp    %ebx,%ecx
140968f3f:	49 8b cb             	mov    %r11,%rcx
140968f42:	7f 18                	jg     0x140968f5c
140968f44:	02 45 a7             	add    -0x59(%rbp),%al