1403357e6:	56                   	push   %rsi
1403357e7:	57                   	push   %rdi
1403357e8:	41 54                	push   %r12
1403357ea:	41 55                	push   %r13
1403357ec:	41 56                	push   %r14
1403357ee:	41 57                	push   %r15
1403357f0:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
1403357f7:	48 8b 05 42 98 98 00 	mov    0x989842(%rip),%rax        # 0x140cbf040
1403357fe:	48 33 c4             	xor    %rsp,%rax
140335801:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
140335808:	00
140335809:	49 8b f9             	mov    %r9,%rdi
14033580c:	49 8b f0             	mov    %r8,%rsi
14033580f:	48 8b ea             	mov    %rdx,%rbp
140335812:	48 8b d9             	mov    %rcx,%rbx
140335815:	48 8b 94 24 20 01 00 	mov    0x120(%rsp),%rdx
14033581c:	00
14033581d:	48 8b 84 24 28 01 00 	mov    0x128(%rsp),%rax
140335824:	00
140335825:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14033582a:	48 8b 84 24 38 01 00 	mov    0x138(%rsp),%rax
140335831:	00
140335832:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140335837:	48 8b cd             	mov    %rbp,%rcx
14033583a:	49 0f af c8          	imul   %r8,%rcx
14033583e:	44 8b b4 24 40 01 00 	mov    0x140(%rsp),%r14d
140335845:	00
140335846:	4c 3b f1             	cmp    %rcx,%r14
140335849:	0f 82 b0 01 00 00    	jb     0x1403359ff
14033584f:	48 8b 0a             	mov    (%rdx),%rcx
140335852:	48 8b 01             	mov    (%rcx),%rax
140335855:	48 8b 40 20          	mov    0x20(%rax),%rax
140335859:	ff 15 d9 73 7d 00    	call   *0x7d73d9(%rip)        # 0x140b0cc38
14033585f:	4c 63 f8             	movslq %eax,%r15
140335862:	45 33 ed             	xor    %r13d,%r13d
140335865:	44 89 6c 24 48       	mov    %r13d,0x48(%rsp)
14033586a:	48 8b 03             	mov    (%rbx),%rax
14033586d:	41 b9 ff ff ff ff    	mov    $0xffffffff,%r9d
140335873:	49 3b e9             	cmp    %r9,%rbp
140335876:	0f 87 e6 04 00 00    	ja     0x140335d62
14033587c:	8b d5                	mov    %ebp,%edx
14033587e:	41 8b cf             	mov    %r15d,%ecx
140335881:	48 0f af d1          	imul   %rcx,%rdx
140335885:	49 3b d1             	cmp    %r9,%rdx
140335888:	0f 87 d4 04 00 00    	ja     0x140335d62
14033588e:	3b 50 10             	cmp    0x10(%rax),%edx
140335891:	0f 87 aa 04 00 00    	ja     0x140335d41
140335897:	8b 40 0c             	mov    0xc(%rax),%eax
14033589a:	48 3b f0             	cmp    %rax,%rsi
14033589d:	0f 87 9e 04 00 00    	ja     0x140335d41
1403358a3:	4d 8b c7             	mov    %r15,%r8
1403358a6:	4c 89 7c 24 50       	mov    %r15,0x50(%rsp)
1403358ab:	45 8d 65 08          	lea    0x8(%r13),%r12d
1403358af:	49 3b fc             	cmp    %r12,%rdi
1403358b2:	0f 84 27 02 00 00    	je     0x140335adf
1403358b8:	48 83 ff 10          	cmp    $0x10,%rdi
1403358bc:	0f 84 68 01 00 00    	je     0x140335a2a
1403358c2:	49 3b f9             	cmp    %r9,%rdi
1403358c5:	0f 87 97 04 00 00    	ja     0x140335d62
1403358cb:	85 ff                	test   %edi,%edi
1403358cd:	0f 84 95 04 00 00    	je     0x140335d68
1403358d3:	33 d2                	xor    %edx,%edx
1403358d5:	41 8b c4             	mov    %r12d,%eax
1403358d8:	f7 f7                	div    %edi
1403358da:	89 44 24 34          	mov    %eax,0x34(%rsp)
1403358de:	44 88 6c 24 30       	mov    %r13b,0x30(%rsp)
1403358e3:	45 33 c9             	xor    %r9d,%r9d
1403358e6:	48 85 f6             	test   %rsi,%rsi
1403358e9:	0f 84 10 01 00 00    	je     0x1403359ff
1403358ef:	44 2a e7             	sub    %dil,%r12b
1403358f2:	48 8b 13             	mov    (%rbx),%rdx
1403358f5:	41 8b c9             	mov    %r9d,%ecx
1403358f8:	0f af 4a 10          	imul   0x10(%rdx),%ecx
1403358fc:	48 03 4a 18          	add    0x18(%rdx),%rcx
140335900:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140335904:	83 63 18 00          	andl   $0x0,0x18(%rbx)
140335908:	45 33 f6             	xor    %r14d,%r14d
14033590b:	48 85 ed             	test   %rbp,%rbp
14033590e:	0f 84 df 00 00 00    	je     0x1403359f3
140335914:	45 33 d2             	xor    %r10d,%r10d
140335917:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14033591c:	b2 01                	mov    $0x1,%dl
14033591e:	88 54 24 31          	mov    %dl,0x31(%rsp)
140335922:	45 33 ff             	xor    %r15d,%r15d
140335925:	4d 85 c0             	test   %r8,%r8
140335928:	0f 8e b1 00 00 00    	jle    0x1403359df
14033592e:	45 33 c0             	xor    %r8d,%r8d
140335931:	4d 85 d2             	test   %r10,%r10
140335934:	75 14                	jne    0x14033594a
140335936:	8b 4b 18             	mov    0x18(%rbx),%ecx
140335939:	48 8b 43 10          	mov    0x10(%rbx),%rax
14033593d:	8a 04 08             	mov    (%rax,%rcx,1),%al
140335940:	88 44 24 30          	mov    %al,0x30(%rsp)
140335944:	8d 41 01             	lea    0x1(%rcx),%eax
140335947:	89 43 18             	mov    %eax,0x18(%rbx)
14033594a:	49 8b d2             	mov    %r10,%rdx
14033594d:	48 0f af d7          	imul   %rdi,%rdx
140335951:	b8 ff 00 00 00       	mov    $0xff,%eax
140335956:	48 8b ca             	mov    %rdx,%rcx
140335959:	d3 f8                	sar    %cl,%eax
14033595b:	44 0f b6 d8          	movzbl %al,%r11d
14033595f:	0f b6 44 24 30       	movzbl 0x30(%rsp),%eax
140335964:	44 23 d8             	and    %eax,%r11d
140335967:	41 8a cc             	mov    %r12b,%cl
14033596a:	2a ca                	sub    %dl,%cl
14033596c:	41 d3 eb             	shr    %cl,%r11d
14033596f:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140335974:	48 8b 08             	mov    (%rax),%rcx
140335977:	48 8b 50 08          	mov    0x8(%rax),%rdx
14033597b:	48 2b d1             	sub    %rcx,%rdx
14033597e:	48 c1 fa 02          	sar    $0x2,%rdx
140335982:	4c 3b c2             	cmp    %rdx,%r8
140335985:	0f 83 4d 01 00 00    	jae    0x140335ad8
14033598b:	46 3b 1c 81          	cmp    (%rcx,%r8,4),%r11d
14033598f:	72 14                	jb     0x1403359a5
140335991:	49 8d 40 01          	lea    0x1(%r8),%rax
140335995:	48 3b c2             	cmp    %rdx,%rax
140335998:	0f 83 3a 01 00 00    	jae    0x140335ad8
14033599e:	46 3b 5c 81 04       	cmp    0x4(%rcx,%r8,4),%r11d
1403359a3:	76 08                	jbe    0x1403359ad
1403359a5:	32 d2                	xor    %dl,%dl
1403359a7:	88 54 24 31          	mov    %dl,0x31(%rsp)
1403359ab:	eb 04                	jmp    0x1403359b1
1403359ad:	8a 54 24 31          	mov    0x31(%rsp),%dl
1403359b1:	49 8d 4a 01          	lea    0x1(%r10),%rcx
1403359b5:	49 ff c7             	inc    %r15
1403359b8:	49 83 c0 02          	add    $0x2,%r8
1403359bc:	8b 44 24 34          	mov    0x34(%rsp),%eax
1403359c0:	45 33 d2             	xor    %r10d,%r10d
1403359c3:	48 3b c8             	cmp    %rax,%rcx
1403359c6:	4c 0f 45 d1          	cmovne %rcx,%r10
1403359ca:	4c 3b 7c 24 50       	cmp    0x50(%rsp),%r15
1403359cf:	0f 8c 5c ff ff ff    	jl     0x140335931
1403359d5:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1403359da:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
1403359df:	41 88 54 0d 00       	mov    %dl,0x0(%r13,%rcx,1)
1403359e4:	41 ff c5             	inc    %r13d
1403359e7:	49 ff c6             	inc    %r14
1403359ea:	4c 3b f5             	cmp    %rbp,%r14
1403359ed:	0f 82 29 ff ff ff    	jb     0x14033591c
1403359f3:	49 ff c1             	inc    %r9
1403359f6:	4c 3b ce             	cmp    %rsi,%r9
1403359f9:	0f 82 f3 fe ff ff    	jb     0x1403358f2
1403359ff:	48 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%rcx
140335a06:	00
140335a07:	48 33 cc             	xor    %rsp,%rcx
140335a0a:	e8 d1 9b 7b 00       	call   0x140aef5e0
140335a0f:	48 8b 9c 24 10 01 00 	mov    0x110(%rsp),%rbx
140335a16:	00
140335a17:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
140335a1e:	41 5f                	pop    %r15
140335a20:	41 5e                	pop    %r14
140335a22:	41 5d                	pop    %r13
140335a24:	41 5c                	pop    %r12
140335a26:	5f                   	pop    %rdi
140335a27:	5e                   	pop    %rsi
140335a28:	5d                   	pop    %rbp
140335a29:	c3                   	ret
140335a2a:	45 33 c0             	xor    %r8d,%r8d
140335a2d:	48 85 f6             	test   %rsi,%rsi
140335a30:	74 cd                	je     0x1403359ff
140335a32:	48 8b 13             	mov    (%rbx),%rdx
140335a35:	41 8b c8             	mov    %r8d,%ecx
140335a38:	0f af 4a 10          	imul   0x10(%rdx),%ecx
140335a3c:	48 03 4a 18          	add    0x18(%rdx),%rcx
140335a40:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140335a44:	83 63 18 00          	andl   $0x0,0x18(%rbx)
140335a48:	45 33 d2             	xor    %r10d,%r10d
140335a4b:	48 85 ed             	test   %rbp,%rbp
140335a4e:	74 77                	je     0x140335ac7
140335a50:	4c 8b 7c 24 50       	mov    0x50(%rsp),%r15
140335a55:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140335a5a:	41 b6 01             	mov    $0x1,%r14b
140335a5d:	45 33 db             	xor    %r11d,%r11d
140335a60:	4d 85 ff             	test   %r15,%r15
140335a63:	7e 52                	jle    0x140335ab7
140335a65:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140335a6a:	48 8b 50 08          	mov    0x8(%rax),%rdx
140335a6e:	48 2b 10             	sub    (%rax),%rdx
140335a71:	48 c1 fa 02          	sar    $0x2,%rdx
140335a75:	45 33 c9             	xor    %r9d,%r9d
140335a78:	48 8b 38             	mov    (%rax),%rdi
140335a7b:	4c 3b ca             	cmp    %rdx,%r9
140335a7e:	73 58                	jae    0x140335ad8
140335a80:	83 3f 00             	cmpl   $0x0,(%rdi)
140335a83:	77 1b                	ja     0x140335aa0
140335a85:	48 8b 48 08          	mov    0x8(%rax),%rcx
140335a89:	48 2b 08             	sub    (%rax),%rcx
140335a8c:	48 c1 f9 02          	sar    $0x2,%rcx
140335a90:	49 8d 41 01          	lea    0x1(%r9),%rax
140335a94:	48 3b c1             	cmp    %rcx,%rax
140335a97:	73 3f                	jae    0x140335ad8
140335a99:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140335a9e:	eb 03                	jmp    0x140335aa3
140335aa0:	45 32 f6             	xor    %r14b,%r14b
140335aa3:	49 ff c3             	inc    %r11
140335aa6:	49 83 c1 02          	add    $0x2,%r9
140335aaa:	49 03 fc             	add    %r12,%rdi
140335aad:	4d 3b df             	cmp    %r15,%r11
140335ab0:	7c c9                	jl     0x140335a7b
140335ab2:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140335ab7:	45 88 74 0d 00       	mov    %r14b,0x0(%r13,%rcx,1)
140335abc:	41 ff c5             	inc    %r13d
140335abf:	49 ff c2             	inc    %r10
140335ac2:	4c 3b d5             	cmp    %rbp,%r10
140335ac5:	72 93                	jb     0x140335a5a
140335ac7:	49 ff c0             	inc    %r8
140335aca:	4c 3b c6             	cmp    %rsi,%r8
140335acd:	0f 82 5f ff ff ff    	jb     0x140335a32
140335ad3:	e9 27 ff ff ff       	jmp    0x1403359ff
140335ad8:	ff 15 ba 6e 7d 00    	call   *0x7d6eba(%rip)        # 0x140b0c998
140335ade:	cc                   	int3
140335adf:	41 83 ff 03          	cmp    $0x3,%r15d
140335ae3:	75 27                	jne    0x140335b0c
140335ae5:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140335aea:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140335aef:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140335af4:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
140335af9:	4c 8b c6             	mov    %rsi,%r8
140335afc:	48 8b d5             	mov    %rbp,%rdx
140335aff:	48 8b cb             	mov    %rbx,%rcx
140335b02:	e8 ed f4 ff ff       	call   0x140334ff4
140335b07:	e9 f3 fe ff ff       	jmp    0x1403359ff
140335b0c:	44 38 ac 24 30 01 00 	cmp    %r13b,0x130(%rsp)
140335b13:	00
140335b14:	74 27                	je     0x140335b3d
140335b16:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140335b1b:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140335b20:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140335b25:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
140335b2a:	4c 8b c6             	mov    %rsi,%r8
140335b2d:	48 8b d5             	mov    %rbp,%rdx
140335b30:	48 8b cb             	mov    %rbx,%rcx
140335b33:	e8 38 ef ff ff       	call   0x140334a70
140335b38:	e9 c2 fe ff ff       	jmp    0x1403359ff
140335b3d:	0f 57 c0             	xorps  %xmm0,%xmm0
140335b40:	f3 0f 7f 44 24 58    	movdqu %xmm0,0x58(%rsp)
140335b46:	4c 21 6c 24 68       	and    %r13,0x68(%rsp)
140335b4b:	49 8b d7             	mov    %r15,%rdx
140335b4e:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140335b53:	e8 18 02 00 00       	call   0x140335d70
140335b58:	33 c0                	xor    %eax,%eax
140335b5a:	89 44 24 34          	mov    %eax,0x34(%rsp)
140335b5e:	49 bb ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r11
140335b65:	aa aa aa
140335b68:	45 85 ff             	test   %r15d,%r15d
140335b6b:	0f 8e e8 00 00 00    	jle    0x140335c59
140335b71:	45 33 e4             	xor    %r12d,%r12d
140335b74:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140335b79:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140335b7e:	48 2b f9             	sub    %rcx,%rdi
140335b81:	48 c1 ff 03          	sar    $0x3,%rdi
140335b85:	49 0f af fb          	imul   %r11,%rdi
140335b89:	45 33 f6             	xor    %r14d,%r14d
140335b8c:	4c 8b e9             	mov    %rcx,%r13
140335b8f:	48 98                	cltq
140335b91:	48 3b c7             	cmp    %rdi,%rax
140335b94:	0f 83 91 01 00 00    	jae    0x140335d2b
140335b9a:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140335b9e:	48 8d 0c c1          	lea    (%rcx,%rax,8),%rcx
140335ba2:	ba 00 01 00 00       	mov    $0x100,%edx
140335ba7:	e8 78 fc d3 ff       	call   0x140075824
140335bac:	33 d2                	xor    %edx,%edx
140335bae:	45 33 c0             	xor    %r8d,%r8d
140335bb1:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140335bb6:	4c 8b 08             	mov    (%rax),%r9
140335bb9:	48 8b 48 08          	mov    0x8(%rax),%rcx
140335bbd:	49 2b c9             	sub    %r9,%rcx
140335bc0:	48 c1 f9 02          	sar    $0x2,%rcx
140335bc4:	4c 3b f1             	cmp    %rcx,%r14
140335bc7:	0f 83 5e 01 00 00    	jae    0x140335d2b
140335bcd:	43 3b 14 b1          	cmp    (%r9,%r14,4),%edx
140335bd1:	72 42                	jb     0x140335c15
140335bd3:	49 8d 46 01          	lea    0x1(%r14),%rax
140335bd7:	48 3b c1             	cmp    %rcx,%rax
140335bda:	0f 83 4b 01 00 00    	jae    0x140335d2b
140335be0:	43 3b 54 b1 04       	cmp    0x4(%r9,%r14,4),%edx
140335be5:	77 29                	ja     0x140335c10
140335be7:	4c 3b e7             	cmp    %rdi,%r12
140335bea:	0f 83 3b 01 00 00    	jae    0x140335d2b
140335bf0:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140335bf4:	49 8b 45 08          	mov    0x8(%r13),%rax
140335bf8:	48 2b c1             	sub    %rcx,%rax
140335bfb:	48 c1 f8 02          	sar    $0x2,%rax
140335bff:	4c 3b c0             	cmp    %rax,%r8
140335c02:	0f 83 23 01 00 00    	jae    0x140335d2b
140335c08:	42 c7 04 81 01 00 00 	movl   $0x1,(%rcx,%r8,4)
140335c0f:	00
140335c10:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140335c15:	ff c2                	inc    %edx
140335c17:	49 ff c0             	inc    %r8
140335c1a:	81 fa 00 01 00 00    	cmp    $0x100,%edx
140335c20:	72 94                	jb     0x140335bb6
140335c22:	8b 44 24 34          	mov    0x34(%rsp),%eax
140335c26:	ff c0                	inc    %eax
140335c28:	89 44 24 34          	mov    %eax,0x34(%rsp)
140335c2c:	49 ff c4             	inc    %r12
140335c2f:	49 83 c6 02          	add    $0x2,%r14
140335c33:	49 83 c5 18          	add    $0x18,%r13
140335c37:	4d 8b c7             	mov    %r15,%r8
140335c3a:	4d 3b e7             	cmp    %r15,%r12
140335c3d:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140335c42:	0f 8c 47 ff ff ff    	jl     0x140335b8f
140335c48:	44 8b 6c 24 48       	mov    0x48(%rsp),%r13d
140335c4d:	49 bb ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r11
140335c54:	aa aa aa
140335c57:	eb 03                	jmp    0x140335c5c
140335c59:	4d 8b c7             	mov    %r15,%r8
140335c5c:	45 33 c9             	xor    %r9d,%r9d
140335c5f:	48 85 f6             	test   %rsi,%rsi
140335c62:	0f 84 ca 00 00 00    	je     0x140335d32
140335c68:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12
140335c6d:	48 8b 13             	mov    (%rbx),%rdx
140335c70:	41 8b c9             	mov    %r9d,%ecx
140335c73:	0f af 4a 10          	imul   0x10(%rdx),%ecx
140335c77:	48 03 4a 18          	add    0x18(%rdx),%rcx
140335c7b:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140335c7f:	83 63 18 00          	andl   $0x0,0x18(%rbx)
140335c83:	45 33 f6             	xor    %r14d,%r14d
140335c86:	48 85 ed             	test   %rbp,%rbp
140335c89:	0f 84 85 00 00 00    	je     0x140335d14
140335c8f:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140335c94:	33 ff                	xor    %edi,%edi
140335c96:	45 33 d2             	xor    %r10d,%r10d
140335c99:	4d 85 c0             	test   %r8,%r8
140335c9c:	7e 55                	jle    0x140335cf3
140335c9e:	4c 8b 44 24 60       	mov    0x60(%rsp),%r8
140335ca3:	4d 2b c4             	sub    %r12,%r8
140335ca6:	49 c1 f8 03          	sar    $0x3,%r8
140335caa:	4d 0f af c3          	imul   %r11,%r8
140335cae:	4d 8b dc             	mov    %r12,%r11
140335cb1:	4d 3b d0             	cmp    %r8,%r10
140335cb4:	73 75                	jae    0x140335d2b
140335cb6:	8b 53 18             	mov    0x18(%rbx),%edx
140335cb9:	48 8b 43 10          	mov    0x10(%rbx),%rax
140335cbd:	0f b6 0c 02          	movzbl (%rdx,%rax,1),%ecx
140335cc1:	8d 42 01             	lea    0x1(%rdx),%eax
140335cc4:	89 43 18             	mov    %eax,0x18(%rbx)
140335cc7:	8b d1                	mov    %ecx,%edx
140335cc9:	49 8b 0b             	mov    (%r11),%rcx
140335ccc:	49 8b 43 08          	mov    0x8(%r11),%rax
140335cd0:	48 2b c1             	sub    %rcx,%rax
140335cd3:	48 c1 f8 02          	sar    $0x2,%rax
140335cd7:	48 3b d0             	cmp    %rax,%rdx
140335cda:	73 4f                	jae    0x140335d2b
140335cdc:	03 3c 91             	add    (%rcx,%rdx,4),%edi
140335cdf:	49 ff c2             	inc    %r10
140335ce2:	49 83 c3 18          	add    $0x18,%r11
140335ce6:	4d 3b d7             	cmp    %r15,%r10
140335ce9:	7c c6                	jl     0x140335cb1