14000291b:	2b c2                	sub    %edx,%eax
14000291d:	44 0f 49 d0          	cmovns %eax,%r10d
140002921:	41 3b ca             	cmp    %r10d,%ecx
140002924:	7c 1d                	jl     0x140002943
140002926:	4c 8b 5b 08          	mov    0x8(%rbx),%r11
14000292a:	48 8b 75 08          	mov    0x8(%rbp),%rsi
14000292e:	66 90                	xchg   %ax,%ax
140002930:	45 8b 04 8b          	mov    (%r11,%rcx,4),%r8d
140002934:	44 3b 04 96          	cmp    (%rsi,%rdx,4),%r8d
140002938:	75 27                	jne    0x140002961
14000293a:	ff c9                	dec    %ecx
14000293c:	ff ca                	dec    %edx
14000293e:	41 3b ca             	cmp    %r10d,%ecx
140002941:	7d ed                	jge    0x140002930
140002943:	3b ca                	cmp    %edx,%ecx
140002945:	74 2b                	je     0x140002972
140002947:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14000294c:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140002952:	41 0f 4f c2          	cmovg  %r10d,%eax
140002956:	85 c0                	test   %eax,%eax
140002958:	79 18                	jns    0x140002972
14000295a:	33 c0                	xor    %eax,%eax
14000295c:	e9 62 01 00 00       	jmp    0x140002ac3
140002961:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140002966:	41 ba 01 00 00 00    	mov    $0x1,%r10d
14000296c:	41 0f 47 c2          	cmova  %r10d,%eax
140002970:	eb e4                	jmp    0x140002956
140002972:	41 2b ff             	sub    %r15d,%edi
140002975:	85 ff                	test   %edi,%edi
140002977:	7e 74                	jle    0x1400029ed
140002979:	41 8d 34 3e          	lea    (%r14,%rdi,1),%esi
14000297d:	48 3b 73 18          	cmp    0x18(%rbx),%rsi
140002981:	76 0e                	jbe    0x140002991
140002983:	48 8b 03             	mov    (%rbx),%rax
140002986:	8b d6                	mov    %esi,%edx
140002988:	48 8b cb             	mov    %rbx,%rcx
14000298b:	ff 10                	call   *(%rax)
14000298d:	48 3b 73 18          	cmp    0x18(%rbx),%rsi
140002991:	48 0f 47 73 18       	cmova  0x18(%rbx),%rsi
140002996:	49 8b d6             	mov    %r14,%rdx
140002999:	48 83 ea 01          	sub    $0x1,%rdx
14000299d:	48 89 73 10          	mov    %rsi,0x10(%rbx)
1400029a1:	78 32                	js     0x1400029d5
1400029a3:	41 8d 46 ff          	lea    -0x1(%r14),%eax
1400029a7:	03 c7                	add    %edi,%eax
1400029a9:	48 63 c8             	movslq %eax,%rcx
1400029ac:	48 2b ca             	sub    %rdx,%rcx
1400029af:	4c 8d 04 8d 00 00 00 	lea    0x0(,%rcx,4),%r8
1400029b6:	00
1400029b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400029be:	00 00
1400029c0:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400029c4:	48 8d 0c 90          	lea    (%rax,%rdx,4),%rcx
1400029c8:	8b 04 90             	mov    (%rax,%rdx,4),%eax
1400029cb:	48 83 ea 01          	sub    $0x1,%rdx
1400029cf:	42 89 04 01          	mov    %eax,(%rcx,%r8,1)
1400029d3:	79 eb                	jns    0x1400029c0
1400029d5:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400029d9:	33 d2                	xor    %edx,%edx
1400029db:	4c 63 c7             	movslq %edi,%r8
1400029de:	49 c1 e0 02          	shl    $0x2,%r8
1400029e2:	e8 c3 7d 05 00       	call   0x14005a7aa
1400029e7:	29 bb a8 00 00 00    	sub    %edi,0xa8(%rbx)
1400029ed:	41 8b f4             	mov    %r12d,%esi
1400029f0:	44 8b 95 a8 00 00 00 	mov    0xa8(%rbp),%r10d
1400029f7:	45 8b cc             	mov    %r12d,%r9d
1400029fa:	44 2b 93 a8 00 00 00 	sub    0xa8(%rbx),%r10d
140002a01:	4d 8b dc             	mov    %r12,%r11
140002a04:	48 8b 7d 10          	mov    0x10(%rbp),%rdi
140002a08:	48 85 ff             	test   %rdi,%rdi
140002a0b:	74 60                	je     0x140002a6d
140002a0d:	0f 1f 00             	nopl   (%rax)
140002a10:	48 8b 43 08          	mov    0x8(%rbx),%rax
140002a14:	42 8b 14 90          	mov    (%rax,%r10,4),%edx
140002a18:	4e 8d 04 90          	lea    (%rax,%r10,4),%r8
140002a1c:	48 8b 45 08          	mov    0x8(%rbp),%rax
140002a20:	45 8d 52 01          	lea    0x1(%r10),%r10d
140002a24:	42 8b 0c 98          	mov    (%rax,%r11,4),%ecx
140002a28:	49 ff c3             	inc    %r11
140002a2b:	41 8b c1             	mov    %r9d,%eax
140002a2e:	48 2b d1             	sub    %rcx,%rdx
140002a31:	48 2b d0             	sub    %rax,%rdx
140002a34:	4c 8b ca             	mov    %rdx,%r9
140002a37:	41 89 10             	mov    %edx,(%r8)
140002a3a:	49 c1 e9 3f          	shr    $0x3f,%r9
140002a3e:	4c 3b df             	cmp    %rdi,%r11
140002a41:	75 cd                	jne    0x140002a10
140002a43:	45 85 c9             	test   %r9d,%r9d
140002a46:	74 25                	je     0x140002a6d
140002a48:	4e 8d 04 95 00 00 00 	lea    0x0(,%r10,4),%r8
140002a4f:	00
140002a50:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140002a54:	41 8b c1             	mov    %r9d,%eax
140002a57:	42 8b 14 01          	mov    (%rcx,%r8,1),%edx
140002a5b:	48 2b d0             	sub    %rax,%rdx
140002a5e:	42 89 14 01          	mov    %edx,(%rcx,%r8,1)
140002a62:	48 c1 ea 3f          	shr    $0x3f,%rdx
140002a66:	44 8b ca             	mov    %edx,%r9d
140002a69:	85 d2                	test   %edx,%edx
140002a6b:	75 e3                	jne    0x140002a50
140002a6d:	8b 43 10             	mov    0x10(%rbx),%eax
140002a70:	ff c8                	dec    %eax
140002a72:	85 c0                	test   %eax,%eax
140002a74:	7e 16                	jle    0x140002a8c
140002a76:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140002a7a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140002a80:	44 39 24 82          	cmp    %r12d,(%rdx,%rax,4)
140002a84:	75 06                	jne    0x140002a8c
140002a86:	ff c8                	dec    %eax
140002a88:	85 c0                	test   %eax,%eax
140002a8a:	7f f4                	jg     0x140002a80
140002a8c:	8d 78 01             	lea    0x1(%rax),%edi
140002a8f:	48 3b 7b 18          	cmp    0x18(%rbx),%rdi
140002a93:	76 0e                	jbe    0x140002aa3
140002a95:	48 8b 03             	mov    (%rbx),%rax
140002a98:	8b d7                	mov    %edi,%edx
140002a9a:	48 8b cb             	mov    %rbx,%rcx
140002a9d:	ff 10                	call   *(%rax)
140002a9f:	48 3b 7b 18          	cmp    0x18(%rbx),%rdi
140002aa3:	48 0f 47 7b 18       	cmova  0x18(%rbx),%rdi
140002aa8:	48 8b d5             	mov    %rbp,%rdx
140002aab:	48 8b cb             	mov    %rbx,%rcx
140002aae:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
140002ab2:	ff c6                	inc    %esi
140002ab4:	e8 f7 f7 ff ff       	call   0x1400022b0
140002ab9:	85 c0                	test   %eax,%eax
140002abb:	0f 89 2f ff ff ff    	jns    0x1400029f0
140002ac1:	8b c6                	mov    %esi,%eax
140002ac3:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140002ac8:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140002acd:	48 83 c4 20          	add    $0x20,%rsp
140002ad1:	41 5f                	pop    %r15
140002ad3:	41 5e                	pop    %r14
140002ad5:	41 5c                	pop    %r12
140002ad7:	5f                   	pop    %rdi
140002ad8:	5e                   	pop    %rsi
140002ad9:	c3                   	ret
140002ada:	cc                   	int3
140002adb:	cc                   	int3
140002adc:	cc                   	int3
140002add:	cc                   	int3
140002ade:	cc                   	int3
140002adf:	cc                   	int3
140002ae0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140002ae5:	55                   	push   %rbp
140002ae6:	56                   	push   %rsi
140002ae7:	57                   	push   %rdi
140002ae8:	41 54                	push   %r12
140002aea:	41 55                	push   %r13
140002aec:	41 56                	push   %r14
140002aee:	41 57                	push   %r15
140002af0:	48 8d ac 24 b0 fd ff 	lea    -0x250(%rsp),%rbp
140002af7:	ff
140002af8:	48 81 ec 50 03 00 00 	sub    $0x350,%rsp
140002aff:	48 8b 05 3a 55 07 00 	mov    0x7553a(%rip),%rax        # 0x140078040
140002b06:	48 33 c4             	xor    %rsp,%rax
140002b09:	48 89 85 40 02 00 00 	mov    %rax,0x240(%rbp)
140002b10:	4d 8b e1             	mov    %r9,%r12
140002b13:	41 8b c0             	mov    %r8d,%eax
140002b16:	89 44 24 40          	mov    %eax,0x40(%rsp)
140002b1a:	8b da                	mov    %edx,%ebx
140002b1c:	89 54 24 48          	mov    %edx,0x48(%rsp)
140002b20:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140002b25:	89 44 24 70          	mov    %eax,0x70(%rsp)
140002b29:	48 8b 85 b0 02 00 00 	mov    0x2b0(%rbp),%rax
140002b30:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140002b35:	33 d2                	xor    %edx,%edx
140002b37:	41 b8 b0 00 00 00    	mov    $0xb0,%r8d
140002b3d:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140002b41:	e8 64 7c 05 00       	call   0x14005a7aa
140002b46:	33 ff                	xor    %edi,%edi
140002b48:	48 89 7d 90          	mov    %rdi,-0x70(%rbp)
140002b4c:	4c 8d 35 3d dc 05 00 	lea    0x5dc3d(%rip),%r14        # 0x140060790
140002b53:	4c 89 75 80          	mov    %r14,-0x80(%rbp)
140002b57:	48 8d 75 a0          	lea    -0x60(%rbp),%rsi
140002b5b:	48 89 75 88          	mov    %rsi,-0x78(%rbp)
140002b5f:	41 bf 20 00 00 00    	mov    $0x20,%r15d
140002b65:	4c 89 7d 98          	mov    %r15,-0x68(%rbp)
140002b69:	89 7d 28             	mov    %edi,0x28(%rbp)
140002b6c:	33 d2                	xor    %edx,%edx
140002b6e:	41 b8 b0 00 00 00    	mov    $0xb0,%r8d
140002b74:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140002b78:	e8 2d 7c 05 00       	call   0x14005a7aa
140002b7d:	48 89 7d 40          	mov    %rdi,0x40(%rbp)
140002b81:	4c 89 75 30          	mov    %r14,0x30(%rbp)
140002b85:	48 8d 45 50          	lea    0x50(%rbp),%rax
140002b89:	48 89 45 38          	mov    %rax,0x38(%rbp)
140002b8d:	4c 89 7d 48          	mov    %r15,0x48(%rbp)
140002b91:	89 bd d8 00 00 00    	mov    %edi,0xd8(%rbp)
140002b97:	33 d2                	xor    %edx,%edx
140002b99:	41 b8 b0 00 00 00    	mov    $0xb0,%r8d
140002b9f:	48 8d 8d e0 00 00 00 	lea    0xe0(%rbp),%rcx
140002ba6:	e8 ff 7b 05 00       	call   0x14005a7aa
140002bab:	48 89 bd f0 00 00 00 	mov    %rdi,0xf0(%rbp)
140002bb2:	4c 89 b5 e0 00 00 00 	mov    %r14,0xe0(%rbp)
140002bb9:	48 8d 85 00 01 00 00 	lea    0x100(%rbp),%rax
140002bc0:	48 89 85 e8 00 00 00 	mov    %rax,0xe8(%rbp)
140002bc7:	4c 89 bd f8 00 00 00 	mov    %r15,0xf8(%rbp)
140002bce:	89 bd 88 01 00 00    	mov    %edi,0x188(%rbp)
140002bd4:	33 d2                	xor    %edx,%edx
140002bd6:	41 b8 b0 00 00 00    	mov    $0xb0,%r8d
140002bdc:	48 8d 8d 90 01 00 00 	lea    0x190(%rbp),%rcx
140002be3:	e8 c2 7b 05 00       	call   0x14005a7aa
140002be8:	48 89 bd a0 01 00 00 	mov    %rdi,0x1a0(%rbp)
140002bef:	4c 89 b5 90 01 00 00 	mov    %r14,0x190(%rbp)
140002bf6:	48 8d 85 b0 01 00 00 	lea    0x1b0(%rbp),%rax
140002bfd:	48 89 85 98 01 00 00 	mov    %rax,0x198(%rbp)
140002c04:	4c 89 bd a8 01 00 00 	mov    %r15,0x1a8(%rbp)
140002c0b:	89 bd 38 02 00 00    	mov    %edi,0x238(%rbp)
140002c11:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140002c16:	0f b6 c3             	movzbl %bl,%eax
140002c19:	24 01                	and    $0x1,%al
140002c1b:	44 0f b6 e8          	movzbl %al,%r13d
140002c1f:	44 89 6c 24 44       	mov    %r13d,0x44(%rsp)
140002c24:	41 8d 5d 01          	lea    0x1(%r13),%ebx
140002c28:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140002c2d:	44 8b 70 10          	mov    0x10(%rax),%r14d
140002c31:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
140002c36:	45 85 f6             	test   %r14d,%r14d
140002c39:	0f 88 7f 03 00 00    	js     0x140002fbe
140002c3f:	0f 10 00             	movups (%rax),%xmm0
140002c42:	0f 29 44 24 50       	movaps %xmm0,0x50(%rsp)
140002c47:	44 8b f7             	mov    %edi,%r14d
140002c4a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140002c50:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
140002c55:	42 89 14 b6          	mov    %edx,(%rsi,%r14,4)
140002c59:	49 ff c6             	inc    %r14
140002c5c:	48 c1 ea 20          	shr    $0x20,%rdx
140002c60:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140002c65:	48 8b c1             	mov    %rcx,%rax
140002c68:	48 c1 e0 20          	shl    $0x20,%rax
140002c6c:	48 0b d0             	or     %rax,%rdx
140002c6f:	48 c1 e9 20          	shr    $0x20,%rcx
140002c73:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
140002c78:	48 89 4c 24 68       	mov    %rcx,0x68(%rsp)
140002c7d:	0f 28 44 24 60       	movaps 0x60(%rsp),%xmm0
140002c82:	66 0f 7f 44 24 50    	movdqa %xmm0,0x50(%rsp)
140002c88:	48 85 c9             	test   %rcx,%rcx
140002c8b:	75 05                	jne    0x140002c92
140002c8d:	48 85 d2             	test   %rdx,%rdx
140002c90:	74 06                	je     0x140002c98
140002c92:	48 8b 75 88          	mov    -0x78(%rbp),%rsi
140002c96:	eb b8                	jmp    0x140002c50
140002c98:	4c 8b 4d 98          	mov    -0x68(%rbp),%r9
140002c9c:	4d 3b f1             	cmp    %r9,%r14
140002c9f:	76 14                	jbe    0x140002cb5
140002ca1:	48 8b 45 80          	mov    -0x80(%rbp),%rax
140002ca5:	49 8b d6             	mov    %r14,%rdx
140002ca8:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140002cac:	ff 10                	call   *(%rax)
140002cae:	4c 8b 4d 98          	mov    -0x68(%rbp),%r9
140002cb2:	4d 3b f1             	cmp    %r9,%r14
140002cb5:	4d 0f 46 ce          	cmovbe %r14,%r9
140002cb9:	4c 89 4d 90          	mov    %r9,-0x70(%rbp)
140002cbd:	8b 44 24 20          	mov    0x20(%rsp),%eax
140002cc1:	03 c3                	add    %ebx,%eax
140002cc3:	99                   	cltd
140002cc4:	83 e2 1f             	and    $0x1f,%edx
140002cc7:	03 c2                	add    %edx,%eax
140002cc9:	8b c8                	mov    %eax,%ecx
140002ccb:	83 e0 1f             	and    $0x1f,%eax
140002cce:	2b c2                	sub    %edx,%eax
140002cd0:	c1 f9 05             	sar    $0x5,%ecx
140002cd3:	44 8b f0             	mov    %eax,%r14d
140002cd6:	89 4d 28             	mov    %ecx,0x28(%rbp)
140002cd9:	85 c0                	test   %eax,%eax
140002cdb:	74 64                	je     0x140002d41
140002cdd:	44 8b df             	mov    %edi,%r11d
140002ce0:	4c 8b c7             	mov    %rdi,%r8
140002ce3:	4d 85 c9             	test   %r9,%r9
140002ce6:	74 59                	je     0x140002d41
140002ce8:	45 8b d7             	mov    %r15d,%r10d
140002ceb:	44 2b d0             	sub    %eax,%r10d
140002cee:	66 90                	xchg   %ax,%ax
140002cf0:	48 8b 45 88          	mov    -0x78(%rbp),%rax
140002cf4:	4a 8d 14 80          	lea    (%rax,%r8,4),%rdx
140002cf8:	8b 02                	mov    (%rdx),%eax
140002cfa:	8b f0                	mov    %eax,%esi
140002cfc:	41 8b ca             	mov    %r10d,%ecx
140002cff:	d3 ee                	shr    %cl,%esi
140002d01:	41 8b ce             	mov    %r14d,%ecx
140002d04:	d3 e0                	shl    %cl,%eax
140002d06:	41 03 c3             	add    %r11d,%eax
140002d09:	89 02                	mov    %eax,(%rdx)
140002d0b:	44 8b de             	mov    %esi,%r11d
140002d0e:	49 ff c0             	inc    %r8
140002d11:	4d 3b c1             	cmp    %r9,%r8
140002d14:	72 da                	jb     0x140002cf0
140002d16:	85 f6                	test   %esi,%esi
140002d18:	74 27                	je     0x140002d41
140002d1a:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
140002d1e:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140002d22:	48 3b 55 98          	cmp    -0x68(%rbp),%rdx
140002d26:	76 0e                	jbe    0x140002d36
140002d28:	48 8b 45 80          	mov    -0x80(%rbp),%rax
140002d2c:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140002d30:	ff 10                	call   *(%rax)
140002d32:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
140002d36:	48 8b 45 88          	mov    -0x78(%rbp),%rax
140002d3a:	89 34 88             	mov    %esi,(%rax,%rcx,4)
140002d3d:	48 ff 45 90          	incq   -0x70(%rbp)
140002d41:	be 01 00 00 00       	mov    $0x1,%esi
140002d46:	48 8b 85 e8 00 00 00 	mov    0xe8(%rbp),%rax
140002d4d:	89 30                	mov    %esi,(%rax)
140002d4f:	4c 8b 8d f8 00 00 00 	mov    0xf8(%rbp),%r9
140002d56:	49 3b f1             	cmp    %r9,%rsi
140002d59:	76 1c                	jbe    0x140002d77
140002d5b:	48 8b 85 e0 00 00 00 	mov    0xe0(%rbp),%rax
140002d62:	8b d6                	mov    %esi,%edx
140002d64:	48 8d 8d e0 00 00 00 	lea    0xe0(%rbp),%rcx
140002d6b:	ff 10                	call   *(%rax)
140002d6d:	4c 8b 8d f8 00 00 00 	mov    0xf8(%rbp),%r9
140002d74:	49 3b f1             	cmp    %r9,%rsi
140002d77:	4c 0f 46 ce          	cmovbe %rsi,%r9
140002d7b:	4c 89 8d f0 00 00 00 	mov    %r9,0xf0(%rbp)
140002d82:	44 8b 74 24 20       	mov    0x20(%rsp),%r14d
140002d87:	41 8b c6             	mov    %r14d,%eax
140002d8a:	99                   	cltd
140002d8b:	83 e2 1f             	and    $0x1f,%edx
140002d8e:	03 c2                	add    %edx,%eax
140002d90:	8b c8                	mov    %eax,%ecx
140002d92:	83 e0 1f             	and    $0x1f,%eax
140002d95:	2b c2                	sub    %edx,%eax
140002d97:	c1 f9 05             	sar    $0x5,%ecx
140002d9a:	44 8b e8             	mov    %eax,%r13d
140002d9d:	89 8d 88 01 00 00    	mov    %ecx,0x188(%rbp)
140002da3:	85 c0                	test   %eax,%eax
140002da5:	0f 84 87 00 00 00    	je     0x140002e32
140002dab:	44 8b df             	mov    %edi,%r11d
140002dae:	4c 8b c7             	mov    %rdi,%r8
140002db1:	4d 85 c9             	test   %r9,%r9
140002db4:	0f 84 78 00 00 00    	je     0x140002e32
140002dba:	45 8b d7             	mov    %r15d,%r10d
140002dbd:	44 2b d0             	sub    %eax,%r10d
140002dc0:	48 8b 85 e8 00 00 00 	mov    0xe8(%rbp),%rax
140002dc7:	4a 8d 14 80          	lea    (%rax,%r8,4),%rdx
140002dcb:	8b 02                	mov    (%rdx),%eax
140002dcd:	44 8b f0             	mov    %eax,%r14d
140002dd0:	41 8b ca             	mov    %r10d,%ecx
140002dd3:	41 d3 ee             	shr    %cl,%r14d
140002dd6:	41 8b cd             	mov    %r13d,%ecx
140002dd9:	d3 e0                	shl    %cl,%eax
140002ddb:	41 03 c3             	add    %r11d,%eax
140002dde:	89 02                	mov    %eax,(%rdx)
140002de0:	45 8b de             	mov    %r14d,%r11d
140002de3:	49 ff c0             	inc    %r8
140002de6:	4d 3b c1             	cmp    %r9,%r8
140002de9:	72 d5                	jb     0x140002dc0
140002deb:	45 85 f6             	test   %r14d,%r14d
140002dee:	74 3d                	je     0x140002e2d