1401978e8:	48 2b d8             	sub    %rax,%rbx
1401978eb:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
1401978f0:	4c 8b cb             	mov    %rbx,%r9
1401978f3:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1401978f8:	4c 8d 04 30          	lea    (%rax,%rsi,1),%r8
1401978fc:	48 8b d7             	mov    %rdi,%rdx
1401978ff:	49 8b cf             	mov    %r15,%rcx
140197902:	e8 79 d5 ff ff       	call   0x140194e80
140197907:	eb 38                	jmp    0x140197941
140197909:	e8 c2 08 00 00       	call   0x1401981d0
14019790e:	48 83 f8 88          	cmp    $0xffffffffffffff88,%rax
140197912:	77 2d                	ja     0x140197941
140197914:	48 3b c3             	cmp    %rbx,%rax
140197917:	72 09                	jb     0x140197922
140197919:	48 c7 c0 b8 ff ff ff 	mov    $0xffffffffffffffb8,%rax
140197920:	eb 1f                	jmp    0x140197941
140197922:	48 2b d8             	sub    %rax,%rbx
140197925:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
14019792a:	4c 8b cb             	mov    %rbx,%r9
14019792d:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140197932:	4c 8d 04 30          	lea    (%rax,%rsi,1),%r8
140197936:	48 8b d7             	mov    %rdi,%rdx
140197939:	49 8b cf             	mov    %r15,%rcx
14019793c:	e8 ff bb ff ff       	call   0x140193540
140197941:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
140197946:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14019794b:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140197950:	48 83 c4 30          	add    $0x30,%rsp
140197954:	41 5f                	pop    %r15
140197956:	5f                   	pop    %rdi
140197957:	5e                   	pop    %rsi
140197958:	c3                   	ret
140197959:	cc                   	int3
14019795a:	cc                   	int3
14019795b:	cc                   	int3
14019795c:	cc                   	int3
14019795d:	cc                   	int3
14019795e:	cc                   	int3
14019795f:	cc                   	int3
140197960:	48 83 ec 38          	sub    $0x38,%rsp
140197964:	4c 8b 54 24 60       	mov    0x60(%rsp),%r10
140197969:	41 8b 02             	mov    (%r10),%eax
14019796c:	c1 e8 08             	shr    $0x8,%eax
14019796f:	84 c0                	test   %al,%al
140197971:	8b 44 24 68          	mov    0x68(%rsp),%eax
140197975:	89 44 24 28          	mov    %eax,0x28(%rsp)
140197979:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
14019797e:	74 0a                	je     0x14019798a
140197980:	e8 fb d4 ff ff       	call   0x140194e80
140197985:	48 83 c4 38          	add    $0x38,%rsp
140197989:	c3                   	ret
14019798a:	e8 b1 bb ff ff       	call   0x140193540
14019798f:	48 83 c4 38          	add    $0x38,%rsp
140197993:	c3                   	ret
140197994:	cc                   	int3
140197995:	cc                   	int3
140197996:	cc                   	int3
140197997:	cc                   	int3
140197998:	cc                   	int3
140197999:	cc                   	int3
14019799a:	cc                   	int3
14019799b:	cc                   	int3
14019799c:	cc                   	int3
14019799d:	cc                   	int3
14019799e:	cc                   	int3
14019799f:	cc                   	int3
1401979a0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1401979a5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401979aa:	89 54 24 10          	mov    %edx,0x10(%rsp)
1401979ae:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401979b3:	53                   	push   %rbx
1401979b4:	56                   	push   %rsi
1401979b5:	41 54                	push   %r12
1401979b7:	41 55                	push   %r13
1401979b9:	41 56                	push   %r14
1401979bb:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
1401979c2:	8b 84 24 18 01 00 00 	mov    0x118(%rsp),%eax
1401979c9:	4c 8b e9             	mov    %rcx,%r13
1401979cc:	8b 8c 24 20 01 00 00 	mov    0x120(%rsp),%ecx
1401979d3:	4d 8b f1             	mov    %r9,%r14
1401979d6:	44 8b e1             	mov    %ecx,%r12d
1401979d9:	44 8b d1             	mov    %ecx,%r10d
1401979dc:	44 2b e2             	sub    %edx,%r12d
1401979df:	44 2b d0             	sub    %eax,%r10d
1401979e2:	ff c0                	inc    %eax
1401979e4:	44 89 64 24 40       	mov    %r12d,0x40(%rsp)
1401979e9:	48 63 f0             	movslq %eax,%rsi
1401979ec:	44 8b ca             	mov    %edx,%r9d
1401979ef:	ba 01 00 00 00       	mov    $0x1,%edx
1401979f4:	44 89 94 24 18 01 00 	mov    %r10d,0x118(%rsp)
1401979fb:	00
1401979fc:	89 54 24 44          	mov    %edx,0x44(%rsp)
140197a00:	49 8b d8             	mov    %r8,%rbx
140197a03:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
140197a08:	44 8b da             	mov    %edx,%r11d
140197a0b:	48 3b f2             	cmp    %rdx,%rsi
140197a0e:	0f 8e 9d 02 00 00    	jle    0x140197cb1
140197a14:	48 8b 94 24 10 01 00 	mov    0x110(%rsp),%rdx
140197a1b:	00
140197a1c:	49 8b c6             	mov    %r14,%rax
140197a1f:	48 89 ac 24 b8 00 00 	mov    %rbp,0xb8(%rsp)
140197a26:	00
140197a27:	48 2b c2             	sub    %rdx,%rax
140197a2a:	48 89 bc 24 b0 00 00 	mov    %rdi,0xb0(%rsp)
140197a31:	00
140197a32:	48 8d 6e ff          	lea    -0x1(%rsi),%rbp
140197a36:	4c 89 bc 24 a8 00 00 	mov    %r15,0xa8(%rsp)
140197a3d:	00
140197a3e:	48 8d 7a 04          	lea    0x4(%rdx),%rdi
140197a42:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
140197a49:	00
140197a4a:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
140197a4f:	48 89 6c 24 70       	mov    %rbp,0x70(%rsp)
140197a54:	0f 1f 40 00          	nopl   0x0(%rax)
140197a58:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140197a5f:	00
140197a60:	48 63 14 38          	movslq (%rax,%rdi,1),%rdx
140197a64:	44 8b f9             	mov    %ecx,%r15d
140197a67:	4c 63 44 38 04       	movslq 0x4(%rax,%rdi,1),%r8
140197a6c:	45 2b fb             	sub    %r11d,%r15d
140197a6f:	41 8b c1             	mov    %r9d,%eax
140197a72:	41 bb 01 00 00 00    	mov    $0x1,%r11d
140197a78:	41 2b c7             	sub    %r15d,%eax
140197a7b:	8b c8                	mov    %eax,%ecx
140197a7d:	83 e1 1f             	and    $0x1f,%ecx
140197a80:	41 d3 e3             	shl    %cl,%r11d
140197a83:	44 89 5c 24 54       	mov    %r11d,0x54(%rsp)
140197a88:	41 3b c2             	cmp    %r10d,%eax
140197a8b:	0f 82 30 02 00 00    	jb     0x140197cc1
140197a91:	47 8d 0c 27          	lea    (%r15,%r12,1),%r9d
140197a95:	48 89 54 24 58       	mov    %rdx,0x58(%rsp)
140197a9a:	41 83 f9 01          	cmp    $0x1,%r9d
140197a9e:	4c 89 84 24 88 00 00 	mov    %r8,0x88(%rsp)
140197aa5:	00
140197aa6:	b8 01 00 00 00       	mov    $0x1,%eax
140197aab:	4c 8b e2             	mov    %rdx,%r12
140197aae:	44 0f 4c c8          	cmovl  %eax,%r9d
140197ab2:	44 89 4c 24 50       	mov    %r9d,0x50(%rsp)
140197ab7:	49 3b d0             	cmp    %r8,%rdx
140197aba:	0f 84 98 01 00 00    	je     0x140197c58
140197ac0:	48 63 17             	movslq (%rdi),%rdx
140197ac3:	41 8b c7             	mov    %r15d,%eax
140197ac6:	4c 6b d0 34          	imul   $0x34,%rax,%r10
140197aca:	49 63 cb             	movslq %r11d,%rcx
140197acd:	48 8d 3c 95 00 00 00 	lea    0x0(,%rdx,4),%rdi
140197ad4:	00
140197ad5:	4c 03 94 24 10 01 00 	add    0x110(%rsp),%r10
140197adc:	00
140197add:	45 8b c1             	mov    %r9d,%r8d
140197ae0:	49 03 fd             	add    %r13,%rdi
140197ae3:	4c 89 94 24 80 00 00 	mov    %r10,0x80(%rsp)
140197aea:	00
140197aeb:	48 8d 04 8d 00 00 00 	lea    0x0(,%rcx,4),%rax
140197af2:	00
140197af3:	4c 89 44 24 78       	mov    %r8,0x78(%rsp)
140197af8:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140197afd:	0f 1f 00             	nopl   (%rax)
140197b00:	46 0f b6 2c 23       	movzbl (%rbx,%r12,1),%r13d
140197b05:	41 83 f9 01          	cmp    $0x1,%r9d
140197b09:	76 6c                	jbe    0x140197b77
140197b0b:	41 8d 97 00 01 00 00 	lea    0x100(%r15),%edx
140197b12:	48 b8 01 00 00 00 01 	movabs $0x100000001,%rax
140197b19:	00 00 00
140197b1c:	c1 e2 10             	shl    $0x10,%edx
140197b1f:	41 03 d5             	add    %r13d,%edx
140197b22:	48 0f af d0          	imul   %rax,%rdx
140197b26:	41 83 fb 02          	cmp    $0x2,%r11d
140197b2a:	74 43                	je     0x140197b6f
140197b2c:	41 83 fb 04          	cmp    $0x4,%r11d
140197b30:	74 39                	je     0x140197b6b
140197b32:	4b 63 0c 82          	movslq (%r10,%r8,4),%rcx
140197b36:	48 85 c9             	test   %rcx,%rcx
140197b39:	7e 37                	jle    0x140197b72
140197b3b:	48 ff c9             	dec    %rcx
140197b3e:	48 8d 47 10          	lea    0x10(%rdi),%rax
140197b42:	48 c1 e9 03          	shr    $0x3,%rcx
140197b46:	48 ff c1             	inc    %rcx
140197b49:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140197b50:	48 89 50 f0          	mov    %rdx,-0x10(%rax)
140197b54:	48 89 50 f8          	mov    %rdx,-0x8(%rax)
140197b58:	48 89 10             	mov    %rdx,(%rax)
140197b5b:	48 89 50 08          	mov    %rdx,0x8(%rax)
140197b5f:	48 8d 40 20          	lea    0x20(%rax),%rax
140197b63:	48 83 e9 01          	sub    $0x1,%rcx
140197b67:	75 e7                	jne    0x140197b50
140197b69:	eb 07                	jmp    0x140197b72
140197b6b:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140197b6f:	48 89 17             	mov    %rdx,(%rdi)
140197b72:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140197b77:	41 8b e9             	mov    %r9d,%ebp
140197b7a:	4c 3b c6             	cmp    %rsi,%r8
140197b7d:	0f 8d a2 00 00 00    	jge    0x140197c25
140197b83:	4c 8b a4 24 00 01 00 	mov    0x100(%rsp),%r12
140197b8a:	00
140197b8b:	4b 8d 04 86          	lea    (%r14,%r8,4),%rax
140197b8f:	4d 8b f2             	mov    %r10,%r14
140197b92:	4c 2b b4 24 08 01 00 	sub    0x108(%rsp),%r14
140197b99:	00
140197b9a:	49 2b f0             	sub    %r8,%rsi
140197b9d:	0f 1f 00             	nopl   (%rax)
140197ba0:	48 63 10             	movslq (%rax),%rdx
140197ba3:	48 8d 58 04          	lea    0x4(%rax),%rbx
140197ba7:	41 8b 04 06          	mov    (%r14,%rax,1),%eax
140197bab:	45 8b cf             	mov    %r15d,%r9d
140197bae:	4c 63 03             	movslq (%rbx),%r8
140197bb1:	44 2b cd             	sub    %ebp,%r9d
140197bb4:	44 03 8c 24 20 01 00 	add    0x120(%rsp),%r9d
140197bbb:	00
140197bbc:	4d 03 c4             	add    %r12,%r8
140197bbf:	c7 44 24 30 02 00 00 	movl   $0x2,0x30(%rsp)
140197bc6:	00
140197bc7:	49 03 d4             	add    %r12,%rdx
140197bca:	48 8d 0c 87          	lea    (%rdi,%rax,4),%rcx
140197bce:	66 44 89 6c 24 28    	mov    %r13w,0x28(%rsp)
140197bd4:	8b 84 24 f8 00 00 00 	mov    0xf8(%rsp),%eax
140197bdb:	89 44 24 20          	mov    %eax,0x20(%rsp)
140197bdf:	e8 ac 02 00 00       	call   0x140197e90
140197be4:	ff c5                	inc    %ebp
140197be6:	48 8d 03             	lea    (%rbx),%rax
140197be9:	48 83 ee 01          	sub    $0x1,%rsi
140197bed:	75 b1                	jne    0x140197ba0
140197bef:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12
140197bf4:	4c 8b 44 24 78       	mov    0x78(%rsp),%r8
140197bf9:	44 8b 4c 24 50       	mov    0x50(%rsp),%r9d
140197bfe:	44 8b 5c 24 54       	mov    0x54(%rsp),%r11d
140197c03:	4c 8b 94 24 80 00 00 	mov    0x80(%rsp),%r10
140197c0a:	00
140197c0b:	48 8b 9c 24 00 01 00 	mov    0x100(%rsp),%rbx
140197c12:	00
140197c13:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140197c18:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140197c1d:	4c 8b b4 24 08 01 00 	mov    0x108(%rsp),%r14
140197c24:	00
140197c25:	49 ff c4             	inc    %r12
140197c28:	48 03 f8             	add    %rax,%rdi
140197c2b:	4c 89 64 24 58       	mov    %r12,0x58(%rsp)
140197c30:	4c 3b a4 24 88 00 00 	cmp    0x88(%rsp),%r12
140197c37:	00
140197c38:	0f 85 c2 fe ff ff    	jne    0x140197b00
140197c3e:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140197c43:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140197c48:	4c 8b ac 24 f0 00 00 	mov    0xf0(%rsp),%r13
140197c4f:	00
140197c50:	44 8b 94 24 18 01 00 	mov    0x118(%rsp),%r10d
140197c57:	00
140197c58:	44 8b 64 24 40       	mov    0x40(%rsp),%r12d
140197c5d:	44 8b 5c 24 44       	mov    0x44(%rsp),%r11d
140197c62:	48 83 c7 04          	add    $0x4,%rdi
140197c66:	8b 8c 24 20 01 00 00 	mov    0x120(%rsp),%ecx
140197c6d:	41 ff c3             	inc    %r11d
140197c70:	44 8b 8c 24 f8 00 00 	mov    0xf8(%rsp),%r9d
140197c77:	00
140197c78:	48 83 ed 01          	sub    $0x1,%rbp
140197c7c:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
140197c83:	00
140197c84:	48 89 6c 24 70       	mov    %rbp,0x70(%rsp)
140197c89:	44 89 5c 24 44       	mov    %r11d,0x44(%rsp)
140197c8e:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
140197c93:	0f 85 c7 fd ff ff    	jne    0x140197a60
140197c99:	4c 8b bc 24 a8 00 00 	mov    0xa8(%rsp),%r15
140197ca0:	00
140197ca1:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
140197ca8:	00
140197ca9:	48 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%rbp
140197cb0:	00
140197cb1:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
140197cb8:	41 5e                	pop    %r14
140197cba:	41 5d                	pop    %r13
140197cbc:	41 5c                	pop    %r12
140197cbe:	5e                   	pop    %rsi
140197cbf:	5b                   	pop    %rbx
140197cc0:	c3                   	ret
140197cc1:	8b 07                	mov    (%rdi),%eax
140197cc3:	4e 8d 0c 03          	lea    (%rbx,%r8,1),%r9
140197cc7:	4c 8d 04 13          	lea    (%rbx,%rdx,1),%r8
140197ccb:	48 8d 0c 85 00 00 00 	lea    0x0(,%rax,4),%rcx
140197cd2:	00
140197cd3:	41 8b c3             	mov    %r11d,%eax
140197cd6:	49 03 cd             	add    %r13,%rcx
140197cd9:	83 e8 01             	sub    $0x1,%eax
140197cdc:	0f 84 7b 01 00 00    	je     0x140197e5d
140197ce2:	83 e8 01             	sub    $0x1,%eax
140197ce5:	0f 84 39 01 00 00    	je     0x140197e24
140197ceb:	83 e8 02             	sub    $0x2,%eax
140197cee:	0f 84 d5 00 00 00    	je     0x140197dc9
140197cf4:	83 f8 04             	cmp    $0x4,%eax
140197cf7:	74 6c                	je     0x140197d65
140197cf9:	4d 3b c1             	cmp    %r9,%r8
140197cfc:	0f 84 5b ff ff ff    	je     0x140197c5d
140197d02:	45 8d 97 00 01 00 00 	lea    0x100(%r15),%r10d
140197d09:	49 bc 01 00 00 00 01 	movabs $0x100000001,%r12
140197d10:	00 00 00
140197d13:	41 c1 e2 10          	shl    $0x10,%r10d
140197d17:	4e 8d 1c 9d 00 00 00 	lea    0x0(,%r11,4),%r11
140197d1e:	00
140197d1f:	90                   	nop
140197d20:	41 0f b6 10          	movzbl (%r8),%edx
140197d24:	49 8d 04 0b          	lea    (%r11,%rcx,1),%rax
140197d28:	41 03 d2             	add    %r10d,%edx
140197d2b:	49 0f af d4          	imul   %r12,%rdx
140197d2f:	48 3b c8             	cmp    %rax,%rcx
140197d32:	74 24                	je     0x140197d58
140197d34:	0f 1f 40 00          	nopl   0x0(%rax)
140197d38:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140197d3f:	00
140197d40:	48 89 11             	mov    %rdx,(%rcx)
140197d43:	48 89 51 08          	mov    %rdx,0x8(%rcx)
140197d47:	48 89 51 10          	mov    %rdx,0x10(%rcx)
140197d4b:	48 89 51 18          	mov    %rdx,0x18(%rcx)
140197d4f:	48 83 c1 20          	add    $0x20,%rcx
140197d53:	48 3b c8             	cmp    %rax,%rcx
140197d56:	75 e8                	jne    0x140197d40
140197d58:	49 ff c0             	inc    %r8
140197d5b:	4d 3b c1             	cmp    %r9,%r8
140197d5e:	75 c0                	jne    0x140197d20
140197d60:	e9 eb fe ff ff       	jmp    0x140197c50
140197d65:	4d 3b c1             	cmp    %r9,%r8
140197d68:	0f 84 ef fe ff ff    	je     0x140197c5d
140197d6e:	45 8d 97 00 01 00 00 	lea    0x100(%r15),%r10d
140197d75:	48 be 01 00 00 00 01 	movabs $0x100000001,%rsi
140197d7c:	00 00 00
140197d7f:	41 c1 e2 10          	shl    $0x10,%r10d
140197d83:	0f 1f 40 00          	nopl   0x0(%rax)
140197d87:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140197d8e:	00 00
140197d90:	41 0f b6 10          	movzbl (%r8),%edx
140197d94:	48 8d 49 20          	lea    0x20(%rcx),%rcx
140197d98:	41 03 d2             	add    %r10d,%edx
140197d9b:	49 ff c0             	inc    %r8
140197d9e:	48 0f af d6          	imul   %rsi,%rdx
140197da2:	48 89 51 e0          	mov    %rdx,-0x20(%rcx)
140197da6:	48 89 51 e8          	mov    %rdx,-0x18(%rcx)
140197daa:	48 89 51 f0          	mov    %rdx,-0x10(%rcx)
140197dae:	48 89 51 f8          	mov    %rdx,-0x8(%rcx)
140197db2:	4d 3b c1             	cmp    %r9,%r8
140197db5:	75 d9                	jne    0x140197d90
140197db7:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140197dbc:	44 8b 94 24 18 01 00 	mov    0x118(%rsp),%r10d
140197dc3:	00
140197dc4:	e9 94 fe ff ff       	jmp    0x140197c5d
140197dc9:	4d 3b c1             	cmp    %r9,%r8
140197dcc:	0f 84 8b fe ff ff    	je     0x140197c5d
140197dd2:	45 8d 97 00 01 00 00 	lea    0x100(%r15),%r10d
140197dd9:	49 be 01 00 00 00 01 	movabs $0x100000001,%r14
140197de0:	00 00 00
140197de3:	41 c1 e2 10          	shl    $0x10,%r10d
140197de7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140197dee:	00 00
140197df0:	41 0f b6 10          	movzbl (%r8),%edx
140197df4:	48 8d 49 10          	lea    0x10(%rcx),%rcx