140a40d14:	b8 01 00 00 00       	mov    $0x1,%eax
140a40d19:	d3 e0                	shl    %cl,%eax
140a40d1b:	49 8b ce             	mov    %r14,%rcx
140a40d1e:	85 07                	test   %eax,(%rdi)
140a40d20:	49 8b 06             	mov    (%r14),%rax
140a40d23:	0f 95 c2             	setne  %dl
140a40d26:	48 8b 80 f8 00 00 00 	mov    0xf8(%rax),%rax
140a40d2d:	ff 15 ed 2c 54 00    	call   *0x542ced(%rip)        # 0x140f83a20
140a40d33:	84 c0                	test   %al,%al
140a40d35:	74 25                	je     0x140a40d5c
140a40d37:	48 83 fb 1f          	cmp    $0x1f,%rbx
140a40d3b:	73 05                	jae    0x140a40d42
140a40d3d:	48 ff c3             	inc    %rbx
140a40d40:	eb c5                	jmp    0x140a40d07
140a40d42:	33 db                	xor    %ebx,%ebx
140a40d44:	48 83 c7 04          	add    $0x4,%rdi
140a40d48:	eb bd                	jmp    0x140a40d07
140a40d4a:	49 8b 06             	mov    (%r14),%rax
140a40d4d:	49 8b ce             	mov    %r14,%rcx
140a40d50:	48 8b 40 68          	mov    0x68(%rax),%rax
140a40d54:	ff 15 c6 2c 54 00    	call   *0x542cc6(%rip)        # 0x140f83a20
140a40d5a:	eb 02                	jmp    0x140a40d5e
140a40d5c:	32 c0                	xor    %al,%al
140a40d5e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a40d63:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140a40d68:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a40d6d:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140a40d72:	48 83 c4 20          	add    $0x20,%rsp
140a40d76:	41 5e                	pop    %r14
140a40d78:	c3                   	ret
140a40d79:	cc                   	int3
140a40d7a:	cc                   	int3
140a40d7b:	cc                   	int3
140a40d7c:	cc                   	int3
140a40d7d:	cc                   	int3
140a40d7e:	cc                   	int3
140a40d7f:	cc                   	int3
140a40d80:	4c 8b dc             	mov    %rsp,%r11
140a40d83:	49 89 4b 08          	mov    %rcx,0x8(%r11)
140a40d87:	53                   	push   %rbx
140a40d88:	48 83 ec 40          	sub    $0x40,%rsp
140a40d8c:	4c 8b ca             	mov    %rdx,%r9
140a40d8f:	48 8b d9             	mov    %rcx,%rbx
140a40d92:	33 c9                	xor    %ecx,%ecx
140a40d94:	48 89 0b             	mov    %rcx,(%rbx)
140a40d97:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140a40d9b:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
140a40d9f:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140a40da3:	49 89 49 08          	mov    %rcx,0x8(%r9)
140a40da7:	49 8b 01             	mov    (%r9),%rax
140a40daa:	49 89 09             	mov    %rcx,(%r9)
140a40dad:	49 89 43 d8          	mov    %rax,-0x28(%r11)
140a40db1:	49 89 53 e0          	mov    %rdx,-0x20(%r11)
140a40db5:	4d 89 43 e8          	mov    %r8,-0x18(%r11)
140a40db9:	49 8d 43 d8          	lea    -0x28(%r11),%rax
140a40dbd:	49 89 43 18          	mov    %rax,0x18(%r11)
140a40dc1:	49 8d 53 d8          	lea    -0x28(%r11),%rdx
140a40dc5:	48 8b cb             	mov    %rbx,%rcx
140a40dc8:	e8 33 b0 f8 ff       	call   0x1409cbe00
140a40dcd:	90                   	nop
140a40dce:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140a40dd3:	e8 b8 55 fb ff       	call   0x1409f6390
140a40dd8:	90                   	nop
140a40dd9:	48 8b c3             	mov    %rbx,%rax
140a40ddc:	48 83 c4 40          	add    $0x40,%rsp
140a40de0:	5b                   	pop    %rbx
140a40de1:	c3                   	ret
140a40de2:	cc                   	int3
140a40de3:	cc                   	int3
140a40de4:	cc                   	int3
140a40de5:	cc                   	int3
140a40de6:	cc                   	int3
140a40de7:	cc                   	int3
140a40de8:	cc                   	int3
140a40de9:	cc                   	int3
140a40dea:	cc                   	int3
140a40deb:	cc                   	int3
140a40dec:	cc                   	int3
140a40ded:	cc                   	int3
140a40dee:	cc                   	int3
140a40def:	cc                   	int3
140a40df0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a40df5:	53                   	push   %rbx
140a40df6:	48 83 ec 30          	sub    $0x30,%rsp
140a40dfa:	48 8b d9             	mov    %rcx,%rbx
140a40dfd:	48 c7 01 00 00 00 00 	movq   $0x0,(%rcx)
140a40e04:	0f 10 02             	movups (%rdx),%xmm0
140a40e07:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
140a40e0c:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a40e11:	e8 3a 3e fe ff       	call   0x140a24c50
140a40e16:	90                   	nop
140a40e17:	48 8b c3             	mov    %rbx,%rax
140a40e1a:	48 83 c4 30          	add    $0x30,%rsp
140a40e1e:	5b                   	pop    %rbx
140a40e1f:	c3                   	ret
140a40e20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a40e25:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a40e2a:	57                   	push   %rdi
140a40e2b:	48 83 ec 20          	sub    $0x20,%rsp
140a40e2f:	48 8b 31             	mov    (%rcx),%rsi
140a40e32:	48 8b 0a             	mov    (%rdx),%rcx
140a40e35:	e8 a6 1c 01 00       	call   0x140a52ae0
140a40e3a:	48 8b f8             	mov    %rax,%rdi
140a40e3d:	48 8b 18             	mov    (%rax),%rbx
140a40e40:	4c 8b 43 08          	mov    0x8(%rbx),%r8
140a40e44:	48 8b d0             	mov    %rax,%rdx
140a40e47:	48 8b c8             	mov    %rax,%rcx
140a40e4a:	e8 71 d5 f8 ff       	call   0x1409ce3c0
140a40e4f:	48 89 5b 08          	mov    %rbx,0x8(%rbx)
140a40e53:	48 89 1b             	mov    %rbx,(%rbx)
140a40e56:	48 89 5b 10          	mov    %rbx,0x10(%rbx)
140a40e5a:	48 c7 47 08 00 00 00 	movq   $0x0,0x8(%rdi)
140a40e61:	00
140a40e62:	48 8b 0e             	mov    (%rsi),%rcx
140a40e65:	48 8b 59 28          	mov    0x28(%rcx),%rbx
140a40e69:	48 83 7b d0 01       	cmpq   $0x1,-0x30(%rbx)
140a40e6e:	74 11                	je     0x140a40e81
140a40e70:	48 8d 4b d0          	lea    -0x30(%rbx),%rcx
140a40e74:	e8 d7 56 fb ff       	call   0x1409f6550
140a40e79:	48 c7 43 d0 01 00 00 	movq   $0x1,-0x30(%rbx)
140a40e80:	00
140a40e81:	48 89 7b d8          	mov    %rdi,-0x28(%rbx)
140a40e85:	48 8b 46 08          	mov    0x8(%rsi),%rax
140a40e89:	48 89 38             	mov    %rdi,(%rax)
140a40e8c:	b0 01                	mov    $0x1,%al
140a40e8e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a40e93:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a40e98:	48 83 c4 20          	add    $0x20,%rsp
140a40e9c:	5f                   	pop    %rdi
140a40e9d:	c3                   	ret
140a40e9e:	cc                   	int3
140a40e9f:	cc                   	int3
140a40ea0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a40ea5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a40eaa:	57                   	push   %rdi
140a40eab:	48 83 ec 20          	sub    $0x20,%rsp
140a40eaf:	48 8b 39             	mov    (%rcx),%rdi
140a40eb2:	48 8b 0a             	mov    (%rdx),%rcx
140a40eb5:	e8 26 1c 01 00       	call   0x140a52ae0
140a40eba:	48 8b f0             	mov    %rax,%rsi
140a40ebd:	48 8b 18             	mov    (%rax),%rbx
140a40ec0:	4c 8b 43 08          	mov    0x8(%rbx),%r8
140a40ec4:	48 8b d0             	mov    %rax,%rdx
140a40ec7:	48 8b c8             	mov    %rax,%rcx
140a40eca:	e8 f1 d4 f8 ff       	call   0x1409ce3c0
140a40ecf:	48 89 5b 08          	mov    %rbx,0x8(%rbx)
140a40ed3:	48 89 1b             	mov    %rbx,(%rbx)
140a40ed6:	48 89 5b 10          	mov    %rbx,0x10(%rbx)
140a40eda:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
140a40ee1:	00
140a40ee2:	48 8b 0f             	mov    (%rdi),%rcx
140a40ee5:	48 8b 59 28          	mov    0x28(%rcx),%rbx
140a40ee9:	48 83 7b d0 01       	cmpq   $0x1,-0x30(%rbx)
140a40eee:	74 11                	je     0x140a40f01
140a40ef0:	48 8d 4b d0          	lea    -0x30(%rbx),%rcx
140a40ef4:	e8 57 56 fb ff       	call   0x1409f6550
140a40ef9:	48 c7 43 d0 01 00 00 	movq   $0x1,-0x30(%rbx)
140a40f00:	00
140a40f01:	48 89 73 d8          	mov    %rsi,-0x28(%rbx)
140a40f05:	b0 01                	mov    $0x1,%al
140a40f07:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a40f0c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a40f11:	48 83 c4 20          	add    $0x20,%rsp
140a40f15:	5f                   	pop    %rdi
140a40f16:	c3                   	ret
140a40f17:	cc                   	int3
140a40f18:	cc                   	int3
140a40f19:	cc                   	int3
140a40f1a:	cc                   	int3
140a40f1b:	cc                   	int3
140a40f1c:	cc                   	int3
140a40f1d:	cc                   	int3
140a40f1e:	cc                   	int3
140a40f1f:	cc                   	int3
140a40f20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a40f25:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a40f2a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140a40f2f:	41 56                	push   %r14
140a40f31:	48 83 ec 20          	sub    $0x20,%rsp
140a40f35:	4c 8b 31             	mov    (%rcx),%r14
140a40f38:	48 8b 0a             	mov    (%rdx),%rcx
140a40f3b:	e8 c0 1c 01 00       	call   0x140a52c00
140a40f40:	48 8b f0             	mov    %rax,%rsi
140a40f43:	48 8b 18             	mov    (%rax),%rbx
140a40f46:	48 8b 78 08          	mov    0x8(%rax),%rdi
140a40f4a:	48 3b df             	cmp    %rdi,%rbx
140a40f4d:	74 19                	je     0x140a40f68
140a40f4f:	90                   	nop
140a40f50:	48 8b cb             	mov    %rbx,%rcx
140a40f53:	e8 28 60 00 00       	call   0x140a46f80
140a40f58:	48 83 c3 28          	add    $0x28,%rbx
140a40f5c:	48 3b df             	cmp    %rdi,%rbx
140a40f5f:	75 ef                	jne    0x140a40f50
140a40f61:	48 8b 06             	mov    (%rsi),%rax
140a40f64:	48 89 46 08          	mov    %rax,0x8(%rsi)
140a40f68:	49 8b 06             	mov    (%r14),%rax
140a40f6b:	48 8b 58 28          	mov    0x28(%rax),%rbx
140a40f6f:	48 83 7b d0 04       	cmpq   $0x4,-0x30(%rbx)
140a40f74:	74 11                	je     0x140a40f87
140a40f76:	48 8d 4b d0          	lea    -0x30(%rbx),%rcx
140a40f7a:	e8 d1 55 fb ff       	call   0x1409f6550
140a40f7f:	48 c7 43 d0 04 00 00 	movq   $0x4,-0x30(%rbx)
140a40f86:	00
140a40f87:	48 89 73 d8          	mov    %rsi,-0x28(%rbx)
140a40f8b:	b0 01                	mov    $0x1,%al
140a40f8d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a40f92:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a40f97:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140a40f9c:	48 83 c4 20          	add    $0x20,%rsp
140a40fa0:	41 5e                	pop    %r14
140a40fa2:	c3                   	ret
140a40fa3:	cc                   	int3
140a40fa4:	cc                   	int3
140a40fa5:	cc                   	int3
140a40fa6:	cc                   	int3
140a40fa7:	cc                   	int3
140a40fa8:	cc                   	int3
140a40fa9:	cc                   	int3
140a40faa:	cc                   	int3
140a40fab:	cc                   	int3
140a40fac:	cc                   	int3
140a40fad:	cc                   	int3
140a40fae:	cc                   	int3
140a40faf:	cc                   	int3
140a40fb0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a40fb5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a40fba:	53                   	push   %rbx
140a40fbb:	56                   	push   %rsi
140a40fbc:	57                   	push   %rdi
140a40fbd:	41 54                	push   %r12
140a40fbf:	41 55                	push   %r13
140a40fc1:	41 56                	push   %r14
140a40fc3:	41 57                	push   %r15
140a40fc5:	48 83 ec 30          	sub    $0x30,%rsp
140a40fc9:	4c 8b e2             	mov    %rdx,%r12
140a40fcc:	48 8b f1             	mov    %rcx,%rsi
140a40fcf:	4c 8b 11             	mov    (%rcx),%r10
140a40fd2:	4c 8b ca             	mov    %rdx,%r9
140a40fd5:	4d 2b ca             	sub    %r10,%r9
140a40fd8:	49 bb 67 66 66 66 66 	movabs $0x6666666666666667,%r11
140a40fdf:	66 66 66
140a40fe2:	49 8b c3             	mov    %r11,%rax
140a40fe5:	49 f7 e9             	imul   %r9
140a40fe8:	4c 8b f2             	mov    %rdx,%r14
140a40feb:	49 c1 fe 04          	sar    $0x4,%r14
140a40fef:	49 8b c6             	mov    %r14,%rax
140a40ff2:	48 c1 e8 3f          	shr    $0x3f,%rax
140a40ff6:	4c 03 f0             	add    %rax,%r14
140a40ff9:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a40ffd:	49 2b ca             	sub    %r10,%rcx
140a41000:	49 8b c3             	mov    %r11,%rax
140a41003:	48 f7 e9             	imul   %rcx
140a41006:	48 c1 fa 04          	sar    $0x4,%rdx
140a4100a:	48 8b c2             	mov    %rdx,%rax
140a4100d:	48 c1 e8 3f          	shr    $0x3f,%rax
140a41011:	48 03 d0             	add    %rax,%rdx
140a41014:	49 b9 66 66 66 66 66 	movabs $0x666666666666666,%r9
140a4101b:	66 66 06
140a4101e:	49 3b d1             	cmp    %r9,%rdx
140a41021:	0f 84 3c 01 00 00    	je     0x140a41163
140a41027:	4c 8d 6a 01          	lea    0x1(%rdx),%r13
140a4102b:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a4102f:	49 2b ca             	sub    %r10,%rcx
140a41032:	49 8b c3             	mov    %r11,%rax
140a41035:	48 f7 e9             	imul   %rcx
140a41038:	48 c1 fa 04          	sar    $0x4,%rdx
140a4103c:	48 8b c2             	mov    %rdx,%rax
140a4103f:	48 c1 e8 3f          	shr    $0x3f,%rax
140a41043:	48 03 d0             	add    %rax,%rdx
140a41046:	48 8b ca             	mov    %rdx,%rcx
140a41049:	48 d1 e9             	shr    $1,%rcx
140a4104c:	49 8b c1             	mov    %r9,%rax
140a4104f:	48 2b c1             	sub    %rcx,%rax
140a41052:	48 3b d0             	cmp    %rax,%rdx
140a41055:	0f 87 02 01 00 00    	ja     0x140a4115d
140a4105b:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140a4105f:	49 8b fd             	mov    %r13,%rdi
140a41062:	49 3b c5             	cmp    %r13,%rax
140a41065:	48 0f 43 f8          	cmovae %rax,%rdi
140a41069:	49 3b f9             	cmp    %r9,%rdi
140a4106c:	0f 87 eb 00 00 00    	ja     0x140a4115d
140a41072:	48 8d 0c bf          	lea    (%rdi,%rdi,4),%rcx
140a41076:	48 c1 e1 03          	shl    $0x3,%rcx
140a4107a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a4107f:	48 85 c9             	test   %rcx,%rcx
140a41082:	75 09                	jne    0x140a4108d
140a41084:	33 db                	xor    %ebx,%ebx
140a41086:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a4108b:	eb 45                	jmp    0x140a410d2
140a4108d:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a41094:	72 2c                	jb     0x140a410c2
140a41096:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a4109a:	48 3b c1             	cmp    %rcx,%rax
140a4109d:	0f 86 ba 00 00 00    	jbe    0x140a4115d
140a410a3:	48 8b c8             	mov    %rax,%rcx
140a410a6:	e8 5d a0 3d 00       	call   0x140e1b108
140a410ab:	48 85 c0             	test   %rax,%rax
140a410ae:	0f 84 b5 00 00 00    	je     0x140a41169
140a410b4:	48 8d 58 27          	lea    0x27(%rax),%rbx
140a410b8:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140a410bc:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140a410c0:	eb 08                	jmp    0x140a410ca
140a410c2:	e8 41 a0 3d 00       	call   0x140e1b108
140a410c7:	48 8b d8             	mov    %rax,%rbx
140a410ca:	4c 8b 84 24 80 00 00 	mov    0x80(%rsp),%r8
140a410d1:	00
140a410d2:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
140a410d9:	00
140a410da:	4b 8d 0c b6          	lea    (%r14,%r14,4),%rcx
140a410de:	4c 8d 34 cb          	lea    (%rbx,%rcx,8),%r14
140a410e2:	4d 8d 7e 28          	lea    0x28(%r14),%r15
140a410e6:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140a410eb:	4c 89 7c 24 78       	mov    %r15,0x78(%rsp)
140a410f0:	49 8b d0             	mov    %r8,%rdx
140a410f3:	49 8b ce             	mov    %r14,%rcx
140a410f6:	e8 95 84 ff ff       	call   0x140a39590
140a410fb:	4c 89 74 24 78       	mov    %r14,0x78(%rsp)
140a41100:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a41104:	48 8b 0e             	mov    (%rsi),%rcx
140a41107:	4c 8b ce             	mov    %rsi,%r9
140a4110a:	4c 8b c3             	mov    %rbx,%r8
140a4110d:	4c 3b e2             	cmp    %rdx,%r12
140a41110:	75 07                	jne    0x140a41119
140a41112:	e8 29 ea f8 ff       	call   0x1409cfb40
140a41117:	eb 20                	jmp    0x140a41139
140a41119:	49 8b d4             	mov    %r12,%rdx
140a4111c:	e8 bf ec f8 ff       	call   0x1409cfde0
140a41121:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140a41126:	4c 8b ce             	mov    %rsi,%r9
140a41129:	4d 8b c7             	mov    %r15,%r8
140a4112c:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a41130:	49 8b cc             	mov    %r12,%rcx
140a41133:	e8 a8 ec f8 ff       	call   0x1409cfde0
140a41138:	90                   	nop
140a41139:	4c 8b cf             	mov    %rdi,%r9
140a4113c:	4d 8b c5             	mov    %r13,%r8
140a4113f:	48 8b d3             	mov    %rbx,%rdx
140a41142:	48 8b ce             	mov    %rsi,%rcx
140a41145:	e8 96 4e fb ff       	call   0x1409f5fe0
140a4114a:	49 8b c6             	mov    %r14,%rax
140a4114d:	48 83 c4 30          	add    $0x30,%rsp
140a41151:	41 5f                	pop    %r15
140a41153:	41 5e                	pop    %r14
140a41155:	41 5d                	pop    %r13
140a41157:	41 5c                	pop    %r12
140a41159:	5f                   	pop    %rdi
140a4115a:	5e                   	pop    %rsi
140a4115b:	5b                   	pop    %rbx
140a4115c:	c3                   	ret
140a4115d:	e8 2e c0 75 ff       	call   0x14019d190