140011fb7:	48 83 ec 20          	sub    $0x20,%rsp
140011fbb:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140011fbf:	48 8b f2             	mov    %rdx,%rsi
140011fc2:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140011fc6:	4d 8b d0             	mov    %r8,%r10
140011fc9:	4c 8b 09             	mov    (%rcx),%r9
140011fcc:	48 8b c2             	mov    %rdx,%rax
140011fcf:	4d 2b d1             	sub    %r9,%r10
140011fd2:	48 8b f9             	mov    %rcx,%rdi
140011fd5:	48 2b 06             	sub    (%rsi),%rax
140011fd8:	48 c1 f8 03          	sar    $0x3,%rax
140011fdc:	49 c1 fa 03          	sar    $0x3,%r10
140011fe0:	4c 3b d0             	cmp    %rax,%r10
140011fe3:	75 61                	jne    0x140012046
140011fe5:	33 db                	xor    %ebx,%ebx
140011fe7:	4d 85 d2             	test   %r10,%r10
140011fea:	74 4f                	je     0x14001203b
140011fec:	4d 2b c1             	sub    %r9,%r8
140011fef:	49 c1 f8 03          	sar    $0x3,%r8
140011ff3:	49 3b d8             	cmp    %r8,%rbx
140011ff6:	73 47                	jae    0x14001203f
140011ff8:	48 8b 0e             	mov    (%rsi),%rcx
140011ffb:	48 8b c2             	mov    %rdx,%rax
140011ffe:	48 2b c1             	sub    %rcx,%rax
140012001:	48 c1 f8 03          	sar    $0x3,%rax
140012005:	48 3b d8             	cmp    %rax,%rbx
140012008:	73 35                	jae    0x14001203f
14001200a:	4d 8b 04 d9          	mov    (%r9,%rbx,8),%r8
14001200e:	4c 3b 04 d9          	cmp    (%rcx,%rbx,8),%r8
140012012:	74 0e                	je     0x140012022
140012014:	e8 37 ec ad 00       	call   0x140af0c50
140012019:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14001201d:	48 3b c2             	cmp    %rdx,%rax
140012020:	74 24                	je     0x140012046
140012022:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140012026:	48 ff c3             	inc    %rbx
140012029:	4c 8b 0f             	mov    (%rdi),%r9
14001202c:	49 8b c0             	mov    %r8,%rax
14001202f:	49 2b c1             	sub    %r9,%rax
140012032:	48 c1 f8 03          	sar    $0x3,%rax
140012036:	48 3b d8             	cmp    %rax,%rbx
140012039:	72 b1                	jb     0x140011fec
14001203b:	b0 01                	mov    $0x1,%al
14001203d:	eb 09                	jmp    0x140012048
14001203f:	ff 15 53 a9 af 00    	call   *0xafa953(%rip)        # 0x140b0c998
140012045:	cc                   	int3
140012046:	32 c0                	xor    %al,%al
140012048:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001204d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140012052:	48 83 c4 20          	add    $0x20,%rsp
140012056:	5f                   	pop    %rdi
140012057:	c3                   	ret
140012058:	48 8b c4             	mov    %rsp,%rax
14001205b:	48 89 58 08          	mov    %rbx,0x8(%rax)
14001205f:	48 89 68 10          	mov    %rbp,0x10(%rax)
140012063:	48 89 70 18          	mov    %rsi,0x18(%rax)
140012067:	48 89 78 20          	mov    %rdi,0x20(%rax)
14001206b:	41 56                	push   %r14
14001206d:	48 83 ec 20          	sub    $0x20,%rsp
140012071:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140012075:	49 be ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r14
14001207c:	aa aa aa
14001207f:	4c 8b 09             	mov    (%rcx),%r9
140012082:	49 8b c0             	mov    %r8,%rax
140012085:	49 2b c1             	sub    %r9,%rax
140012088:	33 db                	xor    %ebx,%ebx
14001208a:	48 c1 f8 03          	sar    $0x3,%rax
14001208e:	48 8b ea             	mov    %rdx,%rbp
140012091:	49 0f af c6          	imul   %r14,%rax
140012095:	48 8b f1             	mov    %rcx,%rsi
140012098:	48 85 c0             	test   %rax,%rax
14001209b:	74 43                	je     0x1400120e0
14001209d:	33 ff                	xor    %edi,%edi
14001209f:	4d 2b c1             	sub    %r9,%r8
1400120a2:	49 c1 f8 03          	sar    $0x3,%r8
1400120a6:	4d 0f af c6          	imul   %r14,%r8
1400120aa:	49 3b d8             	cmp    %r8,%rbx
1400120ad:	73 56                	jae    0x140012105
1400120af:	4a 8d 0c 0f          	lea    (%rdi,%r9,1),%rcx
1400120b3:	48 8b d5             	mov    %rbp,%rdx
1400120b6:	e8 f1 fe ff ff       	call   0x140011fac
1400120bb:	84 c0                	test   %al,%al
1400120bd:	75 41                	jne    0x140012100
1400120bf:	4c 8b 46 08          	mov    0x8(%rsi),%r8
1400120c3:	48 ff c3             	inc    %rbx
1400120c6:	4c 8b 0e             	mov    (%rsi),%r9
1400120c9:	49 8b c0             	mov    %r8,%rax
1400120cc:	49 2b c1             	sub    %r9,%rax
1400120cf:	48 83 c7 18          	add    $0x18,%rdi
1400120d3:	48 c1 f8 03          	sar    $0x3,%rax
1400120d7:	49 0f af c6          	imul   %r14,%rax
1400120db:	48 3b d8             	cmp    %rax,%rbx
1400120de:	72 bf                	jb     0x14001209f
1400120e0:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
1400120e5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400120ea:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400120ef:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400120f4:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400120f9:	48 83 c4 20          	add    $0x20,%rsp
1400120fd:	41 5e                	pop    %r14
1400120ff:	c3                   	ret
140012100:	48 8b c3             	mov    %rbx,%rax
140012103:	eb e0                	jmp    0x1400120e5
140012105:	ff 15 8d a8 af 00    	call   *0xafa88d(%rip)        # 0x140b0c998
14001210b:	cc                   	int3
14001210c:	40 55                	rex push %rbp
14001210e:	53                   	push   %rbx
14001210f:	56                   	push   %rsi
140012110:	57                   	push   %rdi
140012111:	41 54                	push   %r12
140012113:	41 55                	push   %r13
140012115:	41 56                	push   %r14
140012117:	41 57                	push   %r15
140012119:	48 8d ac 24 58 ff ff 	lea    -0xa8(%rsp),%rbp
140012120:	ff
140012121:	48 81 ec a8 01 00 00 	sub    $0x1a8,%rsp
140012128:	48 8b 05 11 cf ca 00 	mov    0xcacf11(%rip),%rax        # 0x140cbf040
14001212f:	48 33 c4             	xor    %rsp,%rax
140012132:	48 89 85 90 00 00 00 	mov    %rax,0x90(%rbp)
140012139:	4d 8b e9             	mov    %r9,%r13
14001213c:	4d 8b f0             	mov    %r8,%r14
14001213f:	4c 89 44 24 58       	mov    %r8,0x58(%rsp)
140012144:	48 89 54 24 68       	mov    %rdx,0x68(%rsp)
140012149:	4c 8b c1             	mov    %rcx,%r8
14001214c:	48 89 4d 90          	mov    %rcx,-0x70(%rbp)
140012150:	48 89 55 58          	mov    %rdx,0x58(%rbp)
140012154:	33 db                	xor    %ebx,%ebx
140012156:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
14001215a:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14001215e:	49 8b 40 48          	mov    0x48(%r8),%rax
140012162:	48 2b c1             	sub    %rcx,%rax
140012165:	48 c1 f8 04          	sar    $0x4,%rax
140012169:	4c 3b c8             	cmp    %rax,%r9
14001216c:	0f 83 d1 0f 00 00    	jae    0x140013143
140012172:	49 8b c1             	mov    %r9,%rax
140012175:	48 03 c0             	add    %rax,%rax
140012178:	4c 8b 24 c1          	mov    (%rcx,%rax,8),%r12
14001217c:	49 8b 40 48          	mov    0x48(%r8),%rax
140012180:	48 2b c1             	sub    %rcx,%rax
140012183:	48 c1 f8 04          	sar    $0x4,%rax
140012187:	4c 3b c8             	cmp    %rax,%r9
14001218a:	0f 83 b3 0f 00 00    	jae    0x140013143
140012190:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140012195:	48 85 c0             	test   %rax,%rax
140012198:	74 04                	je     0x14001219e
14001219a:	f0 ff 40 08          	lock incl 0x8(%rax)
14001219e:	49 8b 04 24          	mov    (%r12),%rax
1400121a2:	48 89 45 80          	mov    %rax,-0x80(%rbp)
1400121a6:	49 8b 44 24 08       	mov    0x8(%r12),%rax
1400121ab:	48 89 45 88          	mov    %rax,-0x78(%rbp)
1400121af:	44 8a fb             	mov    %bl,%r15b
1400121b2:	88 5c 24 30          	mov    %bl,0x30(%rsp)
1400121b6:	89 5d 98             	mov    %ebx,-0x68(%rbp)
1400121b9:	48 8b f3             	mov    %rbx,%rsi
1400121bc:	49 8b 0e             	mov    (%r14),%rcx
1400121bf:	49 8b 46 08          	mov    0x8(%r14),%rax
1400121c3:	48 2b c1             	sub    %rcx,%rax
1400121c6:	48 c1 f8 03          	sar    $0x3,%rax
1400121ca:	48 3b f0             	cmp    %rax,%rsi
1400121cd:	0f 83 e2 0d 00 00    	jae    0x140012fb5
1400121d3:	48 8b 0c f1          	mov    (%rcx,%rsi,8),%rcx
1400121d7:	49 8b 40 60          	mov    0x60(%r8),%rax
1400121db:	49 2b 40 58          	sub    0x58(%r8),%rax
1400121df:	48 c1 f8 06          	sar    $0x6,%rax
1400121e3:	48 3b c8             	cmp    %rax,%rcx
1400121e6:	0f 83 9e 0e 00 00    	jae    0x14001308a
1400121ec:	48 c1 e1 06          	shl    $0x6,%rcx
1400121f0:	49 03 48 58          	add    0x58(%r8),%rcx
1400121f4:	48 8b 19             	mov    (%rcx),%rbx
1400121f7:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400121fb:	48 2b c3             	sub    %rbx,%rax
1400121fe:	48 c1 f8 03          	sar    $0x3,%rax
140012202:	4c 3b e8             	cmp    %rax,%r13
140012205:	0f 83 7f 0e 00 00    	jae    0x14001308a
14001220b:	4a 8b 1c eb          	mov    (%rbx,%r13,8),%rbx
14001220f:	49 8b 44 24 28       	mov    0x28(%r12),%rax
140012214:	49 2b 44 24 20       	sub    0x20(%r12),%rax
140012219:	48 c1 f8 04          	sar    $0x4,%rax
14001221d:	48 3b d8             	cmp    %rax,%rbx
140012220:	0f 83 64 0e 00 00    	jae    0x14001308a
140012226:	48 c1 e3 04          	shl    $0x4,%rbx
14001222a:	49 03 5c 24 20       	add    0x20(%r12),%rbx
14001222f:	48 8b 43 08          	mov    0x8(%rbx),%rax
140012233:	48 85 c0             	test   %rax,%rax
140012236:	74 04                	je     0x14001223c
140012238:	f0 ff 40 08          	lock incl 0x8(%rax)
14001223c:	48 8b 03             	mov    (%rbx),%rax
14001223f:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140012243:	40 8a 78 60          	mov    0x60(%rax),%dil
140012247:	40 c0 ef 06          	shr    $0x6,%dil
14001224b:	40 80 e7 01          	and    $0x1,%dil
14001224f:	48 85 db             	test   %rbx,%rbx
140012252:	74 3d                	je     0x140012291
140012254:	83 c8 ff             	or     $0xffffffff,%eax
140012257:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
14001225c:	83 f8 01             	cmp    $0x1,%eax
14001225f:	75 30                	jne    0x140012291
140012261:	48 8b 03             	mov    (%rbx),%rax
140012264:	48 8b cb             	mov    %rbx,%rcx
140012267:	48 8b 00             	mov    (%rax),%rax
14001226a:	ff 15 c8 a9 af 00    	call   *0xafa9c8(%rip)        # 0x140b0cc38
140012270:	83 c8 ff             	or     $0xffffffff,%eax
140012273:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140012278:	83 f8 01             	cmp    $0x1,%eax
14001227b:	75 10                	jne    0x14001228d
14001227d:	48 8b 03             	mov    (%rbx),%rax
140012280:	48 8b cb             	mov    %rbx,%rcx
140012283:	48 8b 40 08          	mov    0x8(%rax),%rax
140012287:	ff 15 ab a9 af 00    	call   *0xafa9ab(%rip)        # 0x140b0cc38
14001228d:	4c 8b 45 90          	mov    -0x70(%rbp),%r8
140012291:	48 ff c6             	inc    %rsi
140012294:	33 db                	xor    %ebx,%ebx
140012296:	40 84 ff             	test   %dil,%dil
140012299:	0f 85 1d ff ff ff    	jne    0x1400121bc
14001229f:	8b f3                	mov    %ebx,%esi
1400122a1:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
1400122a6:	49 8b 4e 08          	mov    0x8(%r14),%rcx
1400122aa:	49 8b 16             	mov    (%r14),%rdx
1400122ad:	48 8b c1             	mov    %rcx,%rax
1400122b0:	48 2b c2             	sub    %rdx,%rax
1400122b3:	48 c1 f8 03          	sar    $0x3,%rax
1400122b7:	48 85 c0             	test   %rax,%rax
1400122ba:	0f 84 70 0c 00 00    	je     0x140012f30
1400122c0:	48 2b ca             	sub    %rdx,%rcx
1400122c3:	48 c1 f9 03          	sar    $0x3,%rcx
1400122c7:	48 3b f1             	cmp    %rcx,%rsi
1400122ca:	0f 83 ba 0d 00 00    	jae    0x14001308a
1400122d0:	48 8b 0c f2          	mov    (%rdx,%rsi,8),%rcx
1400122d4:	49 8b 40 60          	mov    0x60(%r8),%rax
1400122d8:	49 2b 40 58          	sub    0x58(%r8),%rax
1400122dc:	48 c1 f8 06          	sar    $0x6,%rax
1400122e0:	48 3b c8             	cmp    %rax,%rcx
1400122e3:	0f 83 a1 0d 00 00    	jae    0x14001308a
1400122e9:	48 c1 e1 06          	shl    $0x6,%rcx
1400122ed:	49 03 48 58          	add    0x58(%r8),%rcx
1400122f1:	48 8b 11             	mov    (%rcx),%rdx
1400122f4:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400122f8:	48 2b c2             	sub    %rdx,%rax
1400122fb:	48 c1 f8 03          	sar    $0x3,%rax
1400122ff:	4c 3b e8             	cmp    %rax,%r13
140012302:	0f 83 82 0d 00 00    	jae    0x14001308a
140012308:	4a 8b 0c ea          	mov    (%rdx,%r13,8),%rcx
14001230c:	49 8b 44 24 28       	mov    0x28(%r12),%rax
140012311:	49 2b 44 24 20       	sub    0x20(%r12),%rax
140012316:	48 c1 f8 04          	sar    $0x4,%rax
14001231a:	48 3b c8             	cmp    %rax,%rcx
14001231d:	0f 83 67 0d 00 00    	jae    0x14001308a
140012323:	48 c1 e1 04          	shl    $0x4,%rcx
140012327:	49 03 4c 24 20       	add    0x20(%r12),%rcx
14001232c:	48 8b 41 08          	mov    0x8(%rcx),%rax
140012330:	48 85 c0             	test   %rax,%rax
140012333:	74 04                	je     0x140012339
140012335:	f0 ff 40 08          	lock incl 0x8(%rax)
140012339:	48 8b 39             	mov    (%rcx),%rdi
14001233c:	48 89 7d a0          	mov    %rdi,-0x60(%rbp)
140012340:	48 8b 41 08          	mov    0x8(%rcx),%rax
140012344:	48 89 45 a8          	mov    %rax,-0x58(%rbp)
140012348:	48 81 7f 68 ff ff ff 	cmpq   $0x7fffffff,0x68(%rdi)
14001234f:	7f
140012350:	0f 83 5c 03 00 00    	jae    0x1400126b2
140012356:	45 84 ff             	test   %r15b,%r15b
140012359:	75 10                	jne    0x14001236b
14001235b:	41 b7 01             	mov    $0x1,%r15b
14001235e:	44 88 7c 24 30       	mov    %r15b,0x30(%rsp)
140012363:	8b 47 70             	mov    0x70(%rdi),%eax
140012366:	89 45 98             	mov    %eax,-0x68(%rbp)
140012369:	eb 05                	jmp    0x140012370
14001236b:	44 8a 7c 24 30       	mov    0x30(%rsp),%r15b
140012370:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140012374:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
140012378:	e8 c3 46 01 00       	call   0x140026a40
14001237d:	48 8b 5d e0          	mov    -0x20(%rbp),%rbx
140012381:	48 3b 5d e8          	cmp    -0x18(%rbp),%rbx
140012385:	0f 84 aa 00 00 00    	je     0x140012435
14001238b:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
140012390:	33 f6                	xor    %esi,%esi
140012392:	49 8b 0f             	mov    (%r15),%rcx
140012395:	48 8b 01             	mov    (%rcx),%rax
140012398:	48 8b d3             	mov    %rbx,%rdx
14001239b:	48 8b 40 48          	mov    0x48(%rax),%rax
14001239f:	ff 15 93 a8 af 00    	call   *0xafa893(%rip)        # 0x140b0cc38
1400123a5:	48 8b 0b             	mov    (%rbx),%rcx
1400123a8:	48 8b 01             	mov    (%rcx),%rax
1400123ab:	0f 57 c0             	xorps  %xmm0,%xmm0
1400123ae:	f3 0f 7f 45 b0       	movdqu %xmm0,-0x50(%rbp)
1400123b3:	49 8b 57 08          	mov    0x8(%r15),%rdx
1400123b7:	48 85 d2             	test   %rdx,%rdx
1400123ba:	74 04                	je     0x1400123c0
1400123bc:	f0 ff 42 08          	lock incl 0x8(%rdx)
1400123c0:	49 8b 17             	mov    (%r15),%rdx
1400123c3:	48 89 55 b0          	mov    %rdx,-0x50(%rbp)
1400123c7:	49 8b 57 08          	mov    0x8(%r15),%rdx
1400123cb:	48 89 55 b8          	mov    %rdx,-0x48(%rbp)
1400123cf:	4c 8d 45 b0          	lea    -0x50(%rbp),%r8
1400123d3:	33 d2                	xor    %edx,%edx
1400123d5:	48 8b 40 60          	mov    0x60(%rax),%rax
1400123d9:	ff 15 59 a8 af 00    	call   *0xafa859(%rip)        # 0x140b0cc38
1400123df:	48 8b 7d b8          	mov    -0x48(%rbp),%rdi
1400123e3:	48 85 ff             	test   %rdi,%rdi
1400123e6:	74 3a                	je     0x140012422
1400123e8:	83 ce ff             	or     $0xffffffff,%esi
1400123eb:	8b c6                	mov    %esi,%eax
1400123ed:	f0 0f c1 47 08       	lock xadd %eax,0x8(%rdi)
1400123f2:	03 c6                	add    %esi,%eax
1400123f4:	75 2a                	jne    0x140012420
1400123f6:	48 8b 07             	mov    (%rdi),%rax
1400123f9:	48 8b cf             	mov    %rdi,%rcx
1400123fc:	48 8b 00             	mov    (%rax),%rax
1400123ff:	ff 15 33 a8 af 00    	call   *0xafa833(%rip)        # 0x140b0cc38
140012405:	8b c6                	mov    %esi,%eax
140012407:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
14001240c:	03 c6                	add    %esi,%eax
14001240e:	75 10                	jne    0x140012420
140012410:	48 8b 07             	mov    (%rdi),%rax
140012413:	48 8b cf             	mov    %rdi,%rcx
140012416:	48 8b 40 08          	mov    0x8(%rax),%rax
14001241a:	ff 15 18 a8 af 00    	call   *0xafa818(%rip)        # 0x140b0cc38
140012420:	33 f6                	xor    %esi,%esi
140012422:	48 83 c3 10          	add    $0x10,%rbx
140012426:	48 3b 5d e8          	cmp    -0x18(%rbp),%rbx
14001242a:	0f 85 62 ff ff ff    	jne    0x140012392
140012430:	44 8a 7c 24 30       	mov    0x30(%rsp),%r15b
140012435:	33 db                	xor    %ebx,%ebx
140012437:	8b f3                	mov    %ebx,%esi
140012439:	4c 8b 75 a0          	mov    -0x60(%rbp),%r14
14001243d:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140012441:	49 8b 16             	mov    (%r14),%rdx
140012444:	48 8b c1             	mov    %rcx,%rax
140012447:	48 2b c2             	sub    %rdx,%rax
14001244a:	48 c1 f8 04          	sar    $0x4,%rax
14001244e:	48 85 c0             	test   %rax,%rax
140012451:	0f 84 43 02 00 00    	je     0x14001269a
140012457:	8b fb                	mov    %ebx,%edi
140012459:	48 2b ca             	sub    %rdx,%rcx
14001245c:	48 c1 f9 04          	sar    $0x4,%rcx
140012460:	48 3b f1             	cmp    %rcx,%rsi
140012463:	0f 83 7a 04 00 00    	jae    0x1400128e3
140012469:	48 8b 44 17 08       	mov    0x8(%rdi,%rdx,1),%rax
14001246e:	48 85 c0             	test   %rax,%rax
140012471:	74 04                	je     0x140012477
140012473:	f0 ff 40 08          	lock incl 0x8(%rax)
140012477:	48 8b 0c 3a          	mov    (%rdx,%rdi,1),%rcx
14001247b:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
140012480:	48 8b 44 17 08       	mov    0x8(%rdi,%rdx,1),%rax
140012485:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14001248a:	48 8b 01             	mov    (%rcx),%rax
14001248d:	45 33 c0             	xor    %r8d,%r8d
140012490:	48 8d 55 10          	lea    0x10(%rbp),%rdx
140012494:	48 8b 40 20          	mov    0x20(%rax),%rax
140012498:	ff 15 9a a7 af 00    	call   *0xafa79a(%rip)        # 0x140b0cc38