140397b63:	74 51                	je     0x140397bb6
140397b65:	83 e3 fe             	and    $0xfffffffe,%ebx
140397b68:	48 8b 55 97          	mov    -0x69(%rbp),%rdx
140397b6c:	48 83 fa 0f          	cmp    $0xf,%rdx
140397b70:	76 32                	jbe    0x140397ba4
140397b72:	48 ff c2             	inc    %rdx
140397b75:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140397b7a:	48 8b c1             	mov    %rcx,%rax
140397b7d:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140397b84:	72 19                	jb     0x140397b9f
140397b86:	48 83 c2 27          	add    $0x27,%rdx
140397b8a:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140397b8e:	48 2b c1             	sub    %rcx,%rax
140397b91:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140397b95:	48 83 f8 1f          	cmp    $0x1f,%rax
140397b99:	0f 87 40 01 00 00    	ja     0x140397cdf
140397b9f:	e8 a0 35 a8 00       	call   0x140e1b144
140397ba4:	66 0f 6f 05 84 c2 c0 	movdqa 0xc0c284(%rip),%xmm0        # 0x140fa3e30
140397bab:	00
140397bac:	f3 0f 7f 45 8f       	movdqu %xmm0,-0x71(%rbp)
140397bb1:	c6 44 24 38 00       	movb   $0x0,0x38(%rsp)
140397bb6:	0f 57 c0             	xorps  %xmm0,%xmm0
140397bb9:	0f 11 07             	movups %xmm0,(%rdi)
140397bbc:	4c 89 7f 10          	mov    %r15,0x10(%rdi)
140397bc0:	48 c7 47 18 0f 00 00 	movq   $0xf,0x18(%rdi)
140397bc7:	00
140397bc8:	c6 07 00             	movb   $0x0,(%rdi)
140397bcb:	0f 11 47 20          	movups %xmm0,0x20(%rdi)
140397bcf:	4c 89 7f 30          	mov    %r15,0x30(%rdi)
140397bd3:	48 c7 47 38 0f 00 00 	movq   $0xf,0x38(%rdi)
140397bda:	00
140397bdb:	c6 47 20 00          	movb   $0x0,0x20(%rdi)
140397bdf:	48 c7 47 40 ff ff ff 	movq   $0xffffffffffffffff,0x40(%rdi)
140397be6:	ff
140397be7:	44 89 7f 48          	mov    %r15d,0x48(%rdi)
140397beb:	48 8d 57 50          	lea    0x50(%rdi),%rdx
140397bef:	4c 89 7a 38          	mov    %r15,0x38(%rdx)
140397bf3:	4c 89 bf c8 00 00 00 	mov    %r15,0xc8(%rdi)
140397bfa:	4c 8d 3d f7 c1 c0 00 	lea    0xc0c1f7(%rip),%r15        # 0x140fa3df8
140397c01:	4c 89 7d a7          	mov    %r15,-0x59(%rbp)
140397c05:	4c 8d 25 54 33 5c 00 	lea    0x5c3354(%rip),%r12        # 0x14095af60
140397c0c:	4c 89 65 af          	mov    %r12,-0x51(%rbp)
140397c10:	48 8d 45 a7          	lea    -0x59(%rbp),%rax
140397c14:	48 89 45 df          	mov    %rax,-0x21(%rbp)
140397c18:	48 8d 4d a7          	lea    -0x59(%rbp),%rcx
140397c1c:	e8 3f 76 e0 ff       	call   0x14019f260
140397c21:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140397c25:	48 85 c9             	test   %rcx,%rcx
140397c28:	74 17                	je     0x140397c41
140397c2a:	48 8b 01             	mov    (%rcx),%rax
140397c2d:	48 8d 55 a7          	lea    -0x59(%rbp),%rdx
140397c31:	48 3b ca             	cmp    %rdx,%rcx
140397c34:	0f 95 c2             	setne  %dl
140397c37:	48 8b 40 20          	mov    0x20(%rax),%rax
140397c3b:	ff 15 df bd be 00    	call   *0xbebddf(%rip)        # 0x140f83a20
140397c41:	4c 89 7d e7          	mov    %r15,-0x19(%rbp)
140397c45:	4c 89 65 ef          	mov    %r12,-0x11(%rbp)
140397c49:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
140397c4d:	48 89 45 1f          	mov    %rax,0x1f(%rbp)
140397c51:	48 8d 97 90 00 00 00 	lea    0x90(%rdi),%rdx
140397c58:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
140397c5c:	e8 ff 75 e0 ff       	call   0x14019f260
140397c61:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140397c65:	48 85 c9             	test   %rcx,%rcx
140397c68:	74 18                	je     0x140397c82
140397c6a:	48 8b 01             	mov    (%rcx),%rax
140397c6d:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
140397c71:	48 3b ca             	cmp    %rdx,%rcx
140397c74:	0f 95 c2             	setne  %dl
140397c77:	48 8b 40 20          	mov    0x20(%rax),%rax
140397c7b:	ff 15 9f bd be 00    	call   *0xbebd9f(%rip)        # 0x140f83a20
140397c81:	90                   	nop
140397c82:	83 cb 02             	or     $0x2,%ebx
140397c85:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
140397c89:	41 b8 11 00 00 00    	mov    $0x11,%r8d
140397c8f:	48 8d 15 1a c4 c4 00 	lea    0xc4c41a(%rip),%rdx        # 0x140fe40b0
140397c96:	48 8b cf             	mov    %rdi,%rcx
140397c99:	e8 32 77 e0 ff       	call   0x14019f3d0
140397c9e:	41 b8 10 00 00 00    	mov    $0x10,%r8d
140397ca4:	48 8d 15 1d c4 c4 00 	lea    0xc4c41d(%rip),%rdx        # 0x140fe40c8
140397cab:	48 8d 4f 20          	lea    0x20(%rdi),%rcx
140397caf:	e8 1c 77 e0 ff       	call   0x14019f3d0
140397cb4:	48 8b c7             	mov    %rdi,%rax
140397cb7:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
140397cbb:	48 33 cc             	xor    %rsp,%rcx
140397cbe:	e8 3d 38 a8 00       	call   0x140e1b500
140397cc3:	4c 8d 9c 24 f0 00 00 	lea    0xf0(%rsp),%r11
140397cca:	00
140397ccb:	49 8b 5b 40          	mov    0x40(%r11),%rbx
140397ccf:	49 8b 73 48          	mov    0x48(%r11),%rsi
140397cd3:	49 8b e3             	mov    %r11,%rsp
140397cd6:	41 5f                	pop    %r15
140397cd8:	41 5e                	pop    %r14
140397cda:	41 5c                	pop    %r12
140397cdc:	5f                   	pop    %rdi
140397cdd:	5d                   	pop    %rbp
140397cde:	c3                   	ret
140397cdf:	e8 c0 24 a9 00       	call   0x140e2a1a4
140397ce4:	cc                   	int3
140397ce5:	cc                   	int3
140397ce6:	cc                   	int3
140397ce7:	cc                   	int3
140397ce8:	cc                   	int3
140397ce9:	cc                   	int3
140397cea:	cc                   	int3
140397ceb:	cc                   	int3
140397cec:	cc                   	int3
140397ced:	cc                   	int3
140397cee:	cc                   	int3
140397cef:	cc                   	int3
140397cf0:	e9 eb 3b 00 00       	jmp    0x14039b8e0
140397cf5:	cc                   	int3
140397cf6:	cc                   	int3
140397cf7:	cc                   	int3
140397cf8:	cc                   	int3
140397cf9:	cc                   	int3
140397cfa:	cc                   	int3
140397cfb:	cc                   	int3
140397cfc:	cc                   	int3
140397cfd:	cc                   	int3
140397cfe:	cc                   	int3
140397cff:	cc                   	int3
140397d00:	40 53                	rex push %rbx
140397d02:	48 83 ec 20          	sub    $0x20,%rsp
140397d06:	48 8b d9             	mov    %rcx,%rbx
140397d09:	b9 90 0e 00 00       	mov    $0xe90,%ecx
140397d0e:	e8 f5 33 a8 00       	call   0x140e1b108
140397d13:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140397d18:	48 85 c0             	test   %rax,%rax
140397d1b:	74 12                	je     0x140397d2f
140397d1d:	48 8b d3             	mov    %rbx,%rdx
140397d20:	48 8b c8             	mov    %rax,%rcx
140397d23:	e8 d8 06 00 00       	call   0x140398400
140397d28:	90                   	nop
140397d29:	48 83 c4 20          	add    $0x20,%rsp
140397d2d:	5b                   	pop    %rbx
140397d2e:	c3                   	ret
140397d2f:	33 c0                	xor    %eax,%eax
140397d31:	48 83 c4 20          	add    $0x20,%rsp
140397d35:	5b                   	pop    %rbx
140397d36:	c3                   	ret
140397d37:	cc                   	int3
140397d38:	cc                   	int3
140397d39:	cc                   	int3
140397d3a:	cc                   	int3
140397d3b:	cc                   	int3
140397d3c:	cc                   	int3
140397d3d:	cc                   	int3
140397d3e:	cc                   	int3
140397d3f:	cc                   	int3
140397d40:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140397d45:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140397d4a:	57                   	push   %rdi
140397d4b:	48 83 ec 60          	sub    $0x60,%rsp
140397d4f:	48 8b f2             	mov    %rdx,%rsi
140397d52:	48 8b d9             	mov    %rcx,%rbx
140397d55:	33 c9                	xor    %ecx,%ecx
140397d57:	49 8b 00             	mov    (%r8),%rax
140397d5a:	49 89 08             	mov    %rcx,(%r8)
140397d5d:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140397d62:	0f 57 c0             	xorps  %xmm0,%xmm0
140397d65:	f3 0f 7f 44 24 40    	movdqu %xmm0,0x40(%rsp)
140397d6b:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
140397d70:	b9 08 00 00 00       	mov    $0x8,%ecx
140397d75:	e8 8e 33 a8 00       	call   0x140e1b108
140397d7a:	4c 8b c0             	mov    %rax,%r8
140397d7d:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140397d82:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140397d87:	48 8d 48 08          	lea    0x8(%rax),%rcx
140397d8b:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
140397d90:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140397d95:	48 8b 0a             	mov    (%rdx),%rcx
140397d98:	49 89 08             	mov    %rcx,(%r8)
140397d9b:	48 85 c9             	test   %rcx,%rcx
140397d9e:	74 1c                	je     0x140397dbc
140397da0:	8b 41 10             	mov    0x10(%rcx),%eax
140397da3:	ff c0                	inc    %eax
140397da5:	89 41 10             	mov    %eax,0x10(%rcx)
140397da8:	83 f8 01             	cmp    $0x1,%eax
140397dab:	0f 8e 09 01 00 00    	jle    0x140397eba
140397db1:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140397db6:	0f 84 f3 00 00 00    	je     0x140397eaf
140397dbc:	49 83 c0 08          	add    $0x8,%r8
140397dc0:	48 83 c2 08          	add    $0x8,%rdx
140397dc4:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140397dc9:	48 3b d0             	cmp    %rax,%rdx
140397dcc:	75 c7                	jne    0x140397d95
140397dce:	4c 89 44 24 48       	mov    %r8,0x48(%rsp)
140397dd3:	4c 8d 0d 16 67 e0 ff 	lea    -0x1f98ea(%rip),%r9        # 0x14019e4f0
140397dda:	ba 08 00 00 00       	mov    $0x8,%edx
140397ddf:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140397de5:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140397dea:	e8 5d 37 a8 00       	call   0x140e1b54c
140397def:	48 8b 03             	mov    (%rbx),%rax
140397df2:	45 33 c9             	xor    %r9d,%r9d
140397df5:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
140397dfa:	48 8b d6             	mov    %rsi,%rdx
140397dfd:	48 8b cb             	mov    %rbx,%rcx
140397e00:	48 8b 40 38          	mov    0x38(%rax),%rax
140397e04:	ff 15 16 bc be 00    	call   *0xbebc16(%rip)        # 0x140f83a20
140397e0a:	90                   	nop
140397e0b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140397e10:	48 85 db             	test   %rbx,%rbx
140397e13:	74 76                	je     0x140397e8b
140397e15:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140397e1a:	48 3b df             	cmp    %rdi,%rbx
140397e1d:	74 37                	je     0x140397e56
140397e1f:	90                   	nop
140397e20:	48 8b 0b             	mov    (%rbx),%rcx
140397e23:	48 85 c9             	test   %rcx,%rcx
140397e26:	74 20                	je     0x140397e48
140397e28:	8b 41 10             	mov    0x10(%rcx),%eax
140397e2b:	ff c8                	dec    %eax
140397e2d:	89 41 10             	mov    %eax,0x10(%rcx)
140397e30:	85 c0                	test   %eax,%eax
140397e32:	7f 14                	jg     0x140397e48
140397e34:	78 68                	js     0x140397e9e
140397e36:	48 8b 01             	mov    (%rcx),%rax
140397e39:	ba 01 00 00 00       	mov    $0x1,%edx
140397e3e:	48 8b 00             	mov    (%rax),%rax
140397e41:	ff 15 d9 bb be 00    	call   *0xbebbd9(%rip)        # 0x140f83a20
140397e47:	90                   	nop
140397e48:	48 83 c3 08          	add    $0x8,%rbx
140397e4c:	48 3b df             	cmp    %rdi,%rbx
140397e4f:	75 cf                	jne    0x140397e20
140397e51:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140397e56:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140397e5b:	48 2b d3             	sub    %rbx,%rdx
140397e5e:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140397e62:	48 8b c3             	mov    %rbx,%rax
140397e65:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140397e6c:	72 15                	jb     0x140397e83
140397e6e:	48 83 c2 27          	add    $0x27,%rdx
140397e72:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
140397e76:	48 2b c3             	sub    %rbx,%rax
140397e79:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140397e7d:	48 83 f8 1f          	cmp    $0x1f,%rax
140397e81:	77 26                	ja     0x140397ea9
140397e83:	48 8b cb             	mov    %rbx,%rcx
140397e86:	e8 b9 32 a8 00       	call   0x140e1b144
140397e8b:	48 8b c6             	mov    %rsi,%rax
140397e8e:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140397e93:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140397e98:	48 83 c4 60          	add    $0x60,%rsp
140397e9c:	5f                   	pop    %rdi
140397e9d:	c3                   	ret
140397e9e:	b9 02 00 00 00       	mov    $0x2,%ecx
140397ea3:	e8 58 28 3f 00       	call   0x14078a700
140397ea8:	90                   	nop
140397ea9:	e8 f6 22 a9 00       	call   0x140e2a1a4
140397eae:	90                   	nop
140397eaf:	b9 01 00 00 00       	mov    $0x1,%ecx
140397eb4:	e8 47 28 3f 00       	call   0x14078a700
140397eb9:	cc                   	int3
140397eba:	33 c9                	xor    %ecx,%ecx
140397ebc:	e8 3f 28 3f 00       	call   0x14078a700
140397ec1:	cc                   	int3
140397ec2:	cc                   	int3
140397ec3:	cc                   	int3
140397ec4:	cc                   	int3
140397ec5:	cc                   	int3
140397ec6:	cc                   	int3
140397ec7:	cc                   	int3
140397ec8:	cc                   	int3
140397ec9:	cc                   	int3
140397eca:	cc                   	int3
140397ecb:	cc                   	int3
140397ecc:	cc                   	int3
140397ecd:	cc                   	int3
140397ece:	cc                   	int3
140397ecf:	cc                   	int3
140397ed0:	48 3b ca             	cmp    %rdx,%rcx
140397ed3:	74 2e                	je     0x140397f03
140397ed5:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140397eda:	57                   	push   %rdi
140397edb:	48 83 ec 20          	sub    $0x20,%rsp
140397edf:	48 8b fa             	mov    %rdx,%rdi
140397ee2:	48 8b d9             	mov    %rcx,%rbx
140397ee5:	48 8b cb             	mov    %rbx,%rcx
140397ee8:	e8 43 0d 00 00       	call   0x140398c30
140397eed:	48 81 c3 b0 00 00 00 	add    $0xb0,%rbx
140397ef4:	48 3b df             	cmp    %rdi,%rbx
140397ef7:	75 ec                	jne    0x140397ee5
140397ef9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140397efe:	48 83 c4 20          	add    $0x20,%rsp
140397f02:	5f                   	pop    %rdi
140397f03:	c3                   	ret
140397f04:	cc                   	int3
140397f05:	cc                   	int3
140397f06:	cc                   	int3
140397f07:	cc                   	int3
140397f08:	cc                   	int3
140397f09:	cc                   	int3
140397f0a:	cc                   	int3
140397f0b:	cc                   	int3
140397f0c:	cc                   	int3
140397f0d:	cc                   	int3
140397f0e:	cc                   	int3
140397f0f:	cc                   	int3
140397f10:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140397f15:	53                   	push   %rbx
140397f16:	56                   	push   %rsi
140397f17:	57                   	push   %rdi
140397f18:	41 54                	push   %r12
140397f1a:	41 55                	push   %r13
140397f1c:	41 56                	push   %r14
140397f1e:	41 57                	push   %r15
140397f20:	48 83 ec 40          	sub    $0x40,%rsp
140397f24:	4d 8b f0             	mov    %r8,%r14
140397f27:	48 8b fa             	mov    %rdx,%rdi
140397f2a:	4c 8b f9             	mov    %rcx,%r15
140397f2d:	4c 8b 09             	mov    (%rcx),%r9
140397f30:	49 2b d1             	sub    %r9,%rdx
140397f33:	49 bb a3 8b 2e ba e8 	movabs $0x2e8ba2e8ba2e8ba3,%r11
140397f3a:	a2 8b 2e
140397f3d:	49 8b c3             	mov    %r11,%rax
140397f40:	48 f7 ea             	imul   %rdx
140397f43:	48 8b da             	mov    %rdx,%rbx
140397f46:	48 c1 fb 05          	sar    $0x5,%rbx
140397f4a:	48 8b c3             	mov    %rbx,%rax
140397f4d:	48 c1 e8 3f          	shr    $0x3f,%rax
140397f51:	48 03 d8             	add    %rax,%rbx
140397f54:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140397f58:	49 2b c9             	sub    %r9,%rcx
140397f5b:	49 8b c3             	mov    %r11,%rax
140397f5e:	48 f7 e9             	imul   %rcx
140397f61:	48 c1 fa 05          	sar    $0x5,%rdx
140397f65:	48 8b c2             	mov    %rdx,%rax
140397f68:	48 c1 e8 3f          	shr    $0x3f,%rax
140397f6c:	48 03 d0             	add    %rax,%rdx
140397f6f:	49 ba 5d 74 d1 45 17 	movabs $0x1745d1745d1745d,%r10
140397f76:	5d 74 01
140397f79:	49 3b d2             	cmp    %r10,%rdx
140397f7c:	0f 84 2b 02 00 00    	je     0x1403981ad
140397f82:	4c 8d 42 01          	lea    0x1(%rdx),%r8
140397f86:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140397f8b:	49 8b 4f 10          	mov    0x10(%r15),%rcx
140397f8f:	49 2b c9             	sub    %r9,%rcx
140397f92:	49 8b c3             	mov    %r11,%rax
140397f95:	48 f7 e9             	imul   %rcx
140397f98:	48 c1 fa 05          	sar    $0x5,%rdx
140397f9c:	48 8b c2             	mov    %rdx,%rax
140397f9f:	48 c1 e8 3f          	shr    $0x3f,%rax
140397fa3:	48 03 d0             	add    %rax,%rdx
140397fa6:	48 8b ca             	mov    %rdx,%rcx
140397fa9:	48 d1 e9             	shr    $1,%rcx
140397fac:	49 8b c2             	mov    %r10,%rax
140397faf:	48 2b c1             	sub    %rcx,%rax
140397fb2:	48 3b d0             	cmp    %rax,%rdx
140397fb5:	0f 87 ec 01 00 00    	ja     0x1403981a7