140024e96:	48 8b d9             	mov    %rcx,%rbx
140024e99:	33 ed                	xor    %ebp,%ebp
140024e9b:	49 b9 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r9
140024ea2:	aa aa aa
140024ea5:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140024ea9:	48 8b 43 20          	mov    0x20(%rbx),%rax
140024ead:	48 2b c1             	sub    %rcx,%rax
140024eb0:	48 c1 f8 03          	sar    $0x3,%rax
140024eb4:	49 0f af c1          	imul   %r9,%rax
140024eb8:	48 3b f8             	cmp    %rax,%rdi
140024ebb:	0f 83 48 02 00 00    	jae    0x140025109
140024ec1:	4c 8d 24 7f          	lea    (%rdi,%rdi,2),%r12
140024ec5:	4a 8d 34 e1          	lea    (%rcx,%r12,8),%rsi
140024ec9:	48 8b 46 08          	mov    0x8(%rsi),%rax
140024ecd:	48 2b 06             	sub    (%rsi),%rax
140024ed0:	48 c1 f8 03          	sar    $0x3,%rax
140024ed4:	48 3b e8             	cmp    %rax,%rbp
140024ed7:	0f 83 9f 01 00 00    	jae    0x14002507c
140024edd:	45 32 ff             	xor    %r15b,%r15b
140024ee0:	33 f6                	xor    %esi,%esi
140024ee2:	45 33 f6             	xor    %r14d,%r14d
140024ee5:	48 8b 43 20          	mov    0x20(%rbx),%rax
140024ee9:	48 8b d1             	mov    %rcx,%rdx
140024eec:	48 2b c1             	sub    %rcx,%rax
140024eef:	48 c1 f8 03          	sar    $0x3,%rax
140024ef3:	49 0f af c1          	imul   %r9,%rax
140024ef7:	48 3b f0             	cmp    %rax,%rsi
140024efa:	73 7c                	jae    0x140024f78
140024efc:	48 3b f7             	cmp    %rdi,%rsi
140024eff:	74 64                	je     0x140024f65
140024f01:	48 3b f8             	cmp    %rax,%rdi
140024f04:	0f 83 ff 01 00 00    	jae    0x140025109
140024f0a:	4e 8b 04 e1          	mov    (%rcx,%r12,8),%r8
140024f0e:	4a 8b 44 e1 08       	mov    0x8(%rcx,%r12,8),%rax
140024f13:	49 2b c0             	sub    %r8,%rax
140024f16:	48 c1 f8 03          	sar    $0x3,%rax
140024f1a:	48 3b e8             	cmp    %rax,%rbp
140024f1d:	0f 83 e6 01 00 00    	jae    0x140025109
140024f23:	49 8b 54 0e 08       	mov    0x8(%r14,%rcx,1),%rdx
140024f28:	49 8b 0c 0e          	mov    (%r14,%rcx,1),%rcx
140024f2c:	4d 8b 04 e8          	mov    (%r8,%rbp,8),%r8
140024f30:	e8 1b bd ac 00       	call   0x140af0c50
140024f35:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140024f39:	49 b9 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r9
140024f40:	aa aa aa
140024f43:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140024f47:	48 2b ca             	sub    %rdx,%rcx
140024f4a:	48 c1 f9 03          	sar    $0x3,%rcx
140024f4e:	49 0f af c9          	imul   %r9,%rcx
140024f52:	48 3b f1             	cmp    %rcx,%rsi
140024f55:	0f 83 ae 01 00 00    	jae    0x140025109
140024f5b:	49 3b 44 16 08       	cmp    0x8(%r14,%rdx,1),%rax
140024f60:	74 03                	je     0x140024f65
140024f62:	41 b7 01             	mov    $0x1,%r15b
140024f65:	48 ff c6             	inc    %rsi
140024f68:	49 83 c6 18          	add    $0x18,%r14
140024f6c:	48 8b ca             	mov    %rdx,%rcx
140024f6f:	45 84 ff             	test   %r15b,%r15b
140024f72:	0f 84 6d ff ff ff    	je     0x140024ee5
140024f78:	45 84 ff             	test   %r15b,%r15b
140024f7b:	0f 85 f3 00 00 00    	jne    0x140025074
140024f81:	48 8b 43 20          	mov    0x20(%rbx),%rax
140024f85:	48 2b c2             	sub    %rdx,%rax
140024f88:	48 c1 f8 03          	sar    $0x3,%rax
140024f8c:	49 0f af c1          	imul   %r9,%rax
140024f90:	48 3b f8             	cmp    %rax,%rdi
140024f93:	0f 83 70 01 00 00    	jae    0x140025109
140024f99:	48 8d 04 7f          	lea    (%rdi,%rdi,2),%rax
140024f9d:	4c 8b 04 c2          	mov    (%rdx,%rax,8),%r8
140024fa1:	48 8b 4c c2 08       	mov    0x8(%rdx,%rax,8),%rcx
140024fa6:	49 2b c8             	sub    %r8,%rcx
140024fa9:	48 c1 f9 03          	sar    $0x3,%rcx
140024fad:	48 3b e9             	cmp    %rcx,%rbp
140024fb0:	0f 83 53 01 00 00    	jae    0x140025109
140024fb6:	49 8b 55 00          	mov    0x0(%r13),%rdx
140024fba:	49 8b 45 08          	mov    0x8(%r13),%rax
140024fbe:	49 8b 0c e8          	mov    (%r8,%rbp,8),%rcx
140024fc2:	48 2b c2             	sub    %rdx,%rax
140024fc5:	48 c1 f8 04          	sar    $0x4,%rax
140024fc9:	48 3b c8             	cmp    %rax,%rcx
140024fcc:	0f 83 37 01 00 00    	jae    0x140025109
140024fd2:	4c 8b 03             	mov    (%rbx),%r8
140024fd5:	48 8b c1             	mov    %rcx,%rax
140024fd8:	48 03 c0             	add    %rax,%rax
140024fdb:	48 8b 14 c2          	mov    (%rdx,%rax,8),%rdx
140024fdf:	48 8b 43 08          	mov    0x8(%rbx),%rax
140024fe3:	49 2b c0             	sub    %r8,%rax
140024fe6:	48 c1 f8 03          	sar    $0x3,%rax
140024fea:	48 3b c8             	cmp    %rax,%rcx
140024fed:	0f 83 16 01 00 00    	jae    0x140025109
140024ff3:	4d 8b 04 c8          	mov    (%r8,%rcx,8),%r8
140024ff7:	48 8b 4a 20          	mov    0x20(%rdx),%rcx
140024ffb:	48 8b 42 28          	mov    0x28(%rdx),%rax
140024fff:	48 2b c1             	sub    %rcx,%rax
140025002:	48 c1 f8 04          	sar    $0x4,%rax
140025006:	4c 3b c0             	cmp    %rax,%r8
140025009:	0f 83 fa 00 00 00    	jae    0x140025109
14002500f:	4d 03 c0             	add    %r8,%r8
140025012:	4a 8b 04 c1          	mov    (%rcx,%r8,8),%rax
140025016:	48 83 60 60 fd       	andq   $0xfffffffffffffffd,0x60(%rax)
14002501b:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14002501f:	48 8b 43 20          	mov    0x20(%rbx),%rax
140025023:	48 2b c1             	sub    %rcx,%rax
140025026:	48 c1 f8 03          	sar    $0x3,%rax
14002502a:	49 0f af c1          	imul   %r9,%rax
14002502e:	48 3b f8             	cmp    %rax,%rdi
140025031:	0f 83 d2 00 00 00    	jae    0x140025109
140025037:	48 8d 04 7f          	lea    (%rdi,%rdi,2),%rax
14002503b:	48 8b 14 c1          	mov    (%rcx,%rax,8),%rdx
14002503f:	48 8b 4c c1 08       	mov    0x8(%rcx,%rax,8),%rcx
140025044:	48 2b ca             	sub    %rdx,%rcx
140025047:	48 c1 f9 03          	sar    $0x3,%rcx
14002504b:	48 3b e9             	cmp    %rcx,%rbp
14002504e:	0f 83 b5 00 00 00    	jae    0x140025109
140025054:	48 8b 0c ea          	mov    (%rdx,%rbp,8),%rcx
140025058:	48 8b 13             	mov    (%rbx),%rdx
14002505b:	48 8b 43 08          	mov    0x8(%rbx),%rax
14002505f:	48 2b c2             	sub    %rdx,%rax
140025062:	48 c1 f8 03          	sar    $0x3,%rax
140025066:	48 3b c8             	cmp    %rax,%rcx
140025069:	0f 83 9a 00 00 00    	jae    0x140025109
14002506f:	48 83 0c ca ff       	orq    $0xffffffffffffffff,(%rdx,%rcx,8)
140025074:	48 ff c5             	inc    %rbp
140025077:	e9 29 fe ff ff       	jmp    0x140024ea5
14002507c:	48 8b 6b 20          	mov    0x20(%rbx),%rbp
140025080:	48 8d 7e 18          	lea    0x18(%rsi),%rdi
140025084:	eb 13                	jmp    0x140025099
140025086:	48 8b d7             	mov    %rdi,%rdx
140025089:	48 8b ce             	mov    %rsi,%rcx
14002508c:	e8 13 9d ff ff       	call   0x14001eda4
140025091:	48 83 c6 18          	add    $0x18,%rsi
140025095:	48 83 c7 18          	add    $0x18,%rdi
140025099:	48 3b fd             	cmp    %rbp,%rdi
14002509c:	75 e8                	jne    0x140025086
14002509e:	48 8b 7b 20          	mov    0x20(%rbx),%rdi
1400250a2:	48 8b 4f e8          	mov    -0x18(%rdi),%rcx
1400250a6:	48 85 c9             	test   %rcx,%rcx
1400250a9:	74 3c                	je     0x1400250e7
1400250ab:	48 8b 47 f8          	mov    -0x8(%rdi),%rax
1400250af:	48 2b c1             	sub    %rcx,%rax
1400250b2:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1400250b6:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1400250bc:	72 14                	jb     0x1400250d2
1400250be:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
1400250c2:	48 2b ca             	sub    %rdx,%rcx
1400250c5:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1400250c9:	48 83 f8 1f          	cmp    $0x1f,%rax
1400250cd:	77 3a                	ja     0x140025109
1400250cf:	48 8b ca             	mov    %rdx,%rcx
1400250d2:	ff 15 e8 77 ae 00    	call   *0xae77e8(%rip)        # 0x140b0c8c0
1400250d8:	48 83 67 e8 00       	andq   $0x0,-0x18(%rdi)
1400250dd:	48 83 67 f0 00       	andq   $0x0,-0x10(%rdi)
1400250e2:	48 83 67 f8 00       	andq   $0x0,-0x8(%rdi)
1400250e7:	48 83 43 20 e8       	addq   $0xffffffffffffffe8,0x20(%rbx)
1400250ec:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1400250f1:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1400250f6:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1400250fb:	48 83 c4 20          	add    $0x20,%rsp
1400250ff:	41 5f                	pop    %r15
140025101:	41 5e                	pop    %r14
140025103:	41 5d                	pop    %r13
140025105:	41 5c                	pop    %r12
140025107:	5f                   	pop    %rdi
140025108:	c3                   	ret
140025109:	ff 15 89 78 ae 00    	call   *0xae7889(%rip)        # 0x140b0c998
14002510f:	cc                   	int3
140025110:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140025115:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14002511a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002511f:	57                   	push   %rdi
140025120:	41 56                	push   %r14
140025122:	41 57                	push   %r15
140025124:	48 83 ec 20          	sub    $0x20,%rsp
140025128:	48 8b 59 20          	mov    0x20(%rcx),%rbx
14002512c:	49 bf ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r15
140025133:	aa aa aa
140025136:	48 2b 59 18          	sub    0x18(%rcx),%rbx
14002513a:	49 8b e8             	mov    %r8,%rbp
14002513d:	48 c1 fb 03          	sar    $0x3,%rbx
140025141:	4c 8b f2             	mov    %rdx,%r14
140025144:	49 0f af df          	imul   %r15,%rbx
140025148:	48 8b f1             	mov    %rcx,%rsi
14002514b:	48 85 db             	test   %rbx,%rbx
14002514e:	74 7e                	je     0x1400251ce
140025150:	48 8d 3c 5b          	lea    (%rbx,%rbx,2),%rdi
140025154:	48 c1 e7 03          	shl    $0x3,%rdi
140025158:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
14002515c:	48 8d 7f e8          	lea    -0x18(%rdi),%rdi
140025160:	48 8b 46 20          	mov    0x20(%rsi),%rax
140025164:	48 ff cb             	dec    %rbx
140025167:	48 2b c1             	sub    %rcx,%rax
14002516a:	48 c1 f8 03          	sar    $0x3,%rax
14002516e:	49 0f af c7          	imul   %r15,%rax
140025172:	48 3b d8             	cmp    %rax,%rbx
140025175:	73 70                	jae    0x1400251e7
140025177:	48 8b 46 20          	mov    0x20(%rsi),%rax
14002517b:	48 2b c1             	sub    %rcx,%rax
14002517e:	48 c1 f8 03          	sar    $0x3,%rax
140025182:	49 0f af c7          	imul   %r15,%rax
140025186:	48 3b d8             	cmp    %rax,%rbx
140025189:	73 5c                	jae    0x1400251e7
14002518b:	48 8b 54 0f 08       	mov    0x8(%rdi,%rcx,1),%rdx
140025190:	4d 8b c6             	mov    %r14,%r8
140025193:	48 8b 0c 0f          	mov    (%rdi,%rcx,1),%rcx
140025197:	e8 b4 ba ac 00       	call   0x140af0c50
14002519c:	48 8b 56 18          	mov    0x18(%rsi),%rdx
1400251a0:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
1400251a4:	48 2b ca             	sub    %rdx,%rcx
1400251a7:	48 c1 f9 03          	sar    $0x3,%rcx
1400251ab:	49 0f af cf          	imul   %r15,%rcx
1400251af:	48 3b d9             	cmp    %rcx,%rbx
1400251b2:	73 33                	jae    0x1400251e7
1400251b4:	48 3b 44 17 08       	cmp    0x8(%rdi,%rdx,1),%rax
1400251b9:	74 0e                	je     0x1400251c9
1400251bb:	4c 8b c5             	mov    %rbp,%r8
1400251be:	48 8b d3             	mov    %rbx,%rdx
1400251c1:	48 8b ce             	mov    %rsi,%rcx
1400251c4:	e8 ab fc ff ff       	call   0x140024e74
1400251c9:	48 85 db             	test   %rbx,%rbx
1400251cc:	75 8a                	jne    0x140025158
1400251ce:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400251d3:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1400251d8:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400251dd:	48 83 c4 20          	add    $0x20,%rsp
1400251e1:	41 5f                	pop    %r15
1400251e3:	41 5e                	pop    %r14
1400251e5:	5f                   	pop    %rdi
1400251e6:	c3                   	ret
1400251e7:	ff 15 ab 77 ae 00    	call   *0xae77ab(%rip)        # 0x140b0c998
1400251ed:	cc                   	int3
1400251ee:	90                   	nop
1400251ef:	90                   	nop
1400251f0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400251f5:	55                   	push   %rbp
1400251f6:	56                   	push   %rsi
1400251f7:	57                   	push   %rdi
1400251f8:	41 54                	push   %r12
1400251fa:	41 55                	push   %r13
1400251fc:	41 56                	push   %r14
1400251fe:	41 57                	push   %r15
140025200:	48 8b ec             	mov    %rsp,%rbp
140025203:	48 83 ec 40          	sub    $0x40,%rsp
140025207:	4c 8b f9             	mov    %rcx,%r15
14002520a:	48 8d 59 18          	lea    0x18(%rcx),%rbx
14002520e:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140025212:	48 39 13             	cmp    %rdx,(%rbx)
140025215:	74 0f                	je     0x140025226
140025217:	48 8b 0b             	mov    (%rbx),%rcx
14002521a:	e8 99 93 ff ff       	call   0x14001e5b8
14002521f:	48 8b 03             	mov    (%rbx),%rax
140025222:	48 89 43 08          	mov    %rax,0x8(%rbx)
140025226:	33 f6                	xor    %esi,%esi
140025228:	49 8b 4f 08          	mov    0x8(%r15),%rcx
14002522c:	49 8b 17             	mov    (%r15),%rdx
14002522f:	48 8b c1             	mov    %rcx,%rax
140025232:	48 2b c2             	sub    %rdx,%rax
140025235:	48 c1 f8 03          	sar    $0x3,%rax
140025239:	48 85 c0             	test   %rax,%rax
14002523c:	0f 84 71 02 00 00    	je     0x1400254b3
140025242:	48 2b ca             	sub    %rdx,%rcx
140025245:	48 c1 f9 03          	sar    $0x3,%rcx
140025249:	48 3b f1             	cmp    %rcx,%rsi
14002524c:	0f 83 80 02 00 00    	jae    0x1400254d2
140025252:	48 83 3c f2 ff       	cmpq   $0xffffffffffffffff,(%rdx,%rsi,8)
140025257:	0f 84 39 02 00 00    	je     0x140025496
14002525d:	0f 57 c0             	xorps  %xmm0,%xmm0
140025260:	f3 0f 7f 45 e0       	movdqu %xmm0,-0x20(%rbp)
140025265:	48 83 65 f0 00       	andq   $0x0,-0x10(%rbp)
14002526a:	45 33 d2             	xor    %r10d,%r10d
14002526d:	45 33 e4             	xor    %r12d,%r12d
140025270:	41 8d 42 01          	lea    0x1(%r10),%eax
140025274:	45 33 c9             	xor    %r9d,%r9d
140025277:	4c 8b c6             	mov    %rsi,%r8
14002527a:	4a 83 3c c2 ff       	cmpq   $0xffffffffffffffff,(%rdx,%r8,8)
14002527f:	74 0b                	je     0x14002528c
140025281:	49 ff c1             	inc    %r9
140025284:	4c 03 c0             	add    %rax,%r8
140025287:	4c 3b c1             	cmp    %rcx,%r8
14002528a:	72 ee                	jb     0x14002527a
14002528c:	4d 3b cc             	cmp    %r12,%r9
14002528f:	76 06                	jbe    0x140025297
140025291:	4d 8b e1             	mov    %r9,%r12
140025294:	4c 8b d0             	mov    %rax,%r10
140025297:	48 ff c0             	inc    %rax
14002529a:	48 83 f8 02          	cmp    $0x2,%rax
14002529e:	76 d4                	jbe    0x140025274
1400252a0:	4c 89 55 40          	mov    %r10,0x40(%rbp)
1400252a4:	48 8b ce             	mov    %rsi,%rcx
1400252a7:	48 89 4d 48          	mov    %rcx,0x48(%rbp)
1400252ab:	33 ff                	xor    %edi,%edi
1400252ad:	48 8b d6             	mov    %rsi,%rdx
1400252b0:	4c 8b ee             	mov    %rsi,%r13
1400252b3:	4c 8b 75 e8          	mov    -0x18(%rbp),%r14
1400252b7:	49 3b fc             	cmp    %r12,%rdi
1400252ba:	73 4f                	jae    0x14002530b
1400252bc:	4c 3b 75 f0          	cmp    -0x10(%rbp),%r14
1400252c0:	74 0d                	je     0x1400252cf
1400252c2:	49 89 0e             	mov    %rcx,(%r14)
1400252c5:	49 83 c6 08          	add    $0x8,%r14
1400252c9:	4c 89 75 e8          	mov    %r14,-0x18(%rbp)
1400252cd:	eb 1b                	jmp    0x1400252ea
1400252cf:	4c 8d 45 48          	lea    0x48(%rbp),%r8
1400252d3:	49 8b d6             	mov    %r14,%rdx
1400252d6:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1400252da:	e8 c1 cc ff ff       	call   0x140021fa0
1400252df:	49 8b d5             	mov    %r13,%rdx
1400252e2:	4c 8b 75 e8          	mov    -0x18(%rbp),%r14
1400252e6:	4c 8b 55 40          	mov    0x40(%rbp),%r10
1400252ea:	4a 8d 0c 12          	lea    (%rdx,%r10,1),%rcx
1400252ee:	48 89 4d 48          	mov    %rcx,0x48(%rbp)
1400252f2:	48 ff c7             	inc    %rdi
1400252f5:	48 8b d1             	mov    %rcx,%rdx
1400252f8:	4c 8b e9             	mov    %rcx,%r13
1400252fb:	49 8b 47 08          	mov    0x8(%r15),%rax
1400252ff:	49 2b 07             	sub    (%r15),%rax
140025302:	48 c1 f8 03          	sar    $0x3,%rax
140025306:	48 3b c8             	cmp    %rax,%rcx
140025309:	72 ac                	jb     0x1400252b7
14002530b:	45 32 e4             	xor    %r12b,%r12b
14002530e:	45 33 ed             	xor    %r13d,%r13d
140025311:	45 33 c9             	xor    %r9d,%r9d
140025314:	4c 89 4d 40          	mov    %r9,0x40(%rbp)
140025318:	48 8b 7d e0          	mov    -0x20(%rbp),%rdi
14002531c:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
140025323:	aa aa aa
140025326:	48 8b 0b             	mov    (%rbx),%rcx
140025329:	48 8b 43 08          	mov    0x8(%rbx),%rax
14002532d:	48 2b c1             	sub    %rcx,%rax
140025330:	48 c1 f8 03          	sar    $0x3,%rax
140025334:	48 0f af c2          	imul   %rdx,%rax
140025338:	4c 3b e8             	cmp    %rax,%r13
14002533b:	0f 83 eb 00 00 00    	jae    0x14002542c
140025341:	4c 8b c6             	mov    %rsi,%r8
140025344:	4a 8b 54 09 08       	mov    0x8(%rcx,%r9,1),%rdx
140025349:	49 8b 0c 09          	mov    (%r9,%rcx,1),%rcx
14002534d:	e8 fe b8 ac 00       	call   0x140af0c50
140025352:	4c 8b 1b             	mov    (%rbx),%r11
140025355:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140025359:	49 2b cb             	sub    %r11,%rcx
14002535c:	48 c1 f9 03          	sar    $0x3,%rcx
140025360:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
140025367:	aa aa aa
14002536a:	48 0f af ca          	imul   %rdx,%rcx
14002536e:	4c 3b e9             	cmp    %rcx,%r13
140025371:	0f 83 54 01 00 00    	jae    0x1400254cb
140025377:	4c 8b 4d 40          	mov    0x40(%rbp),%r9
14002537b:	4f 8b 54 0b 08       	mov    0x8(%r11,%r9,1),%r10
140025380:	49 3b c2             	cmp    %r10,%rax
140025383:	0f 84 8f 00 00 00    	je     0x140025418
140025389:	45 33 c0             	xor    %r8d,%r8d