140541148:	73 03                	jae    0x14054114d
14054114a:	48 8b d9             	mov    %rcx,%rbx
14054114d:	48 8b d3             	mov    %rbx,%rdx
140541150:	49 8b cd             	mov    %r13,%rcx
140541153:	e8 28 bb 00 00       	call   0x14054cc80
140541158:	49 8b 45 30          	mov    0x30(%r13),%rax
14054115c:	48 23 c7             	and    %rdi,%rax
14054115f:	48 03 c0             	add    %rax,%rax
140541162:	49 8b 55 18          	mov    0x18(%r13),%rdx
140541166:	48 8b 5c c2 08       	mov    0x8(%rdx,%rax,8),%rbx
14054116b:	49 8b 0c 24          	mov    (%r12),%rcx
14054116f:	48 3b d9             	cmp    %rcx,%rbx
140541172:	75 07                	jne    0x14054117b
140541174:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140541179:	eb 6e                	jmp    0x1405411e9
14054117b:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
14054117f:	48 8b 6e 20          	mov    0x20(%rsi),%rbp
140541183:	0f 1f 40 00          	nopl   0x0(%rax)
140541187:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14054118e:	00 00
140541190:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140541194:	48 8b 42 10          	mov    0x10(%rdx),%rax
140541198:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
14054119d:	76 03                	jbe    0x1405411a2
14054119f:	48 8b 12             	mov    (%rdx),%rdx
1405411a2:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
1405411a6:	48 83 7e 28 0f       	cmpq   $0xf,0x28(%rsi)
1405411ab:	76 04                	jbe    0x1405411b1
1405411ad:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1405411b1:	48 3b e8             	cmp    %rax,%rbp
1405411b4:	75 0c                	jne    0x1405411c2
1405411b6:	4c 8b c5             	mov    %rbp,%r8
1405411b9:	e8 92 e8 99 00       	call   0x140edfa50
1405411be:	85 c0                	test   %eax,%eax
1405411c0:	74 0b                	je     0x1405411cd
1405411c2:	49 3b dc             	cmp    %r12,%rbx
1405411c5:	74 19                	je     0x1405411e0
1405411c7:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1405411cb:	eb c3                	jmp    0x140541190
1405411cd:	48 8b 03             	mov    (%rbx),%rax
1405411d0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1405411d5:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1405411da:	4d 8d 65 08          	lea    0x8(%r13),%r12
1405411de:	eb 12                	jmp    0x1405411f2
1405411e0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1405411e5:	4d 8d 65 08          	lea    0x8(%r13),%r12
1405411e9:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1405411f0:	00 00
1405411f2:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
1405411f7:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
1405411fd:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140541202:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140541206:	49 ff 45 10          	incq   0x10(%r13)
14054120a:	48 89 16             	mov    %rdx,(%rsi)
14054120d:	4c 89 46 08          	mov    %r8,0x8(%rsi)
140541211:	49 89 30             	mov    %rsi,(%r8)
140541214:	48 89 72 08          	mov    %rsi,0x8(%rdx)
140541218:	49 8b 4d 18          	mov    0x18(%r13),%rcx
14054121c:	49 8b 45 30          	mov    0x30(%r13),%rax
140541220:	48 23 c7             	and    %rdi,%rax
140541223:	48 03 c0             	add    %rax,%rax
140541226:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9
14054122a:	4d 3b 0c 24          	cmp    (%r12),%r9
14054122e:	75 06                	jne    0x140541236
140541230:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
140541234:	eb 12                	jmp    0x140541248
140541236:	4c 3b ca             	cmp    %rdx,%r9
140541239:	75 06                	jne    0x140541241
14054123b:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
14054123f:	eb 0c                	jmp    0x14054124d
140541241:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
140541246:	75 05                	jne    0x14054124d
140541248:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
14054124d:	49 89 37             	mov    %rsi,(%r15)
140541250:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140541255:	49 8b c7             	mov    %r15,%rax
140541258:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14054125d:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140541262:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140541269:	00
14054126a:	48 83 c4 40          	add    $0x40,%rsp
14054126e:	41 5f                	pop    %r15
140541270:	41 5e                	pop    %r14
140541272:	41 5d                	pop    %r13
140541274:	41 5c                	pop    %r12
140541276:	5f                   	pop    %rdi
140541277:	c3                   	ret
140541278:	48 8d 0d 21 d2 a6 00 	lea    0xa6d221(%rip),%rcx        # 0x140fae4a0
14054127f:	e8 30 a1 8b 00       	call   0x140dfb3b4
140541284:	cc                   	int3
140541285:	cc                   	int3
140541286:	cc                   	int3
140541287:	cc                   	int3
140541288:	cc                   	int3
140541289:	cc                   	int3
14054128a:	cc                   	int3
14054128b:	cc                   	int3
14054128c:	cc                   	int3
14054128d:	cc                   	int3
14054128e:	cc                   	int3
14054128f:	cc                   	int3
140541290:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140541295:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14054129a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14054129f:	57                   	push   %rdi
1405412a0:	41 54                	push   %r12
1405412a2:	41 55                	push   %r13
1405412a4:	41 56                	push   %r14
1405412a6:	41 57                	push   %r15
1405412a8:	48 83 ec 30          	sub    $0x30,%rsp
1405412ac:	4d 8b e1             	mov    %r9,%r12
1405412af:	49 8b f0             	mov    %r8,%rsi
1405412b2:	4c 8b fa             	mov    %rdx,%r15
1405412b5:	4c 8b e9             	mov    %rcx,%r13
1405412b8:	49 8b d0             	mov    %r8,%rdx
1405412bb:	e8 60 e5 ff ff       	call   0x14053f820
1405412c0:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
1405412c5:	49 8b 4d 30          	mov    0x30(%r13),%rcx
1405412c9:	48 23 c8             	and    %rax,%rcx
1405412cc:	48 03 c9             	add    %rcx,%rcx
1405412cf:	49 8b 55 18          	mov    0x18(%r13),%rdx
1405412d3:	48 8b 5c ca 08       	mov    0x8(%rdx,%rcx,8),%rbx
1405412d8:	49 8d 45 08          	lea    0x8(%r13),%rax
1405412dc:	4c 8b 30             	mov    (%rax),%r14
1405412df:	49 3b de             	cmp    %r14,%rbx
1405412e2:	75 08                	jne    0x1405412ec
1405412e4:	49 8b de             	mov    %r14,%rbx
1405412e7:	49 8b ee             	mov    %r14,%rbp
1405412ea:	eb 39                	jmp    0x140541325
1405412ec:	48 8b 0c ca          	mov    (%rdx,%rcx,8),%rcx
1405412f0:	48 8b 16             	mov    (%rsi),%rdx
1405412f3:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
1405412f7:	75 0a                	jne    0x140541303
1405412f9:	48 8b 43 18          	mov    0x18(%rbx),%rax
1405412fd:	48 39 46 08          	cmp    %rax,0x8(%rsi)
140541301:	74 0b                	je     0x14054130e
140541303:	48 3b d9             	cmp    %rcx,%rbx
140541306:	74 13                	je     0x14054131b
140541308:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14054130c:	eb e5                	jmp    0x1405412f3
14054130e:	49 89 1f             	mov    %rbx,(%r15)
140541311:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
140541316:	e9 f3 01 00 00       	jmp    0x14054150e
14054131b:	4c 8b f3             	mov    %rbx,%r14
14054131e:	48 8b eb             	mov    %rbx,%rbp
140541321:	49 8d 45 08          	lea    0x8(%r13),%rax
140541325:	48 b9 66 66 66 66 66 	movabs $0x666666666666666,%rcx
14054132c:	66 66 06
14054132f:	49 39 4d 10          	cmp    %rcx,0x10(%r13)
140541333:	0f 84 f5 01 00 00    	je     0x14054152e
140541339:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14054133e:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140541345:	00 00
140541347:	b9 28 00 00 00       	mov    $0x28,%ecx
14054134c:	e8 b7 9d 8d 00       	call   0x140e1b108
140541351:	48 8b f8             	mov    %rax,%rdi
140541354:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140541359:	0f 10 06             	movups (%rsi),%xmm0
14054135c:	0f 11 40 10          	movups %xmm0,0x10(%rax)
140541360:	49 8b 0c 24          	mov    (%r12),%rcx
140541364:	48 89 48 20          	mov    %rcx,0x20(%rax)
140541368:	49 8b 4d 10          	mov    0x10(%r13),%rcx
14054136c:	48 83 c1 01          	add    $0x1,%rcx
140541370:	0f 57 c0             	xorps  %xmm0,%xmm0
140541373:	78 07                	js     0x14054137c
140541375:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14054137a:	eb 15                	jmp    0x140541391
14054137c:	48 8b c1             	mov    %rcx,%rax
14054137f:	48 d1 e8             	shr    $1,%rax
140541382:	83 e1 01             	and    $0x1,%ecx
140541385:	48 0b c1             	or     %rcx,%rax
140541388:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14054138d:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140541391:	49 8b 75 38          	mov    0x38(%r13),%rsi
140541395:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
14054139b:	0f 57 d2             	xorps  %xmm2,%xmm2
14054139e:	48 85 f6             	test   %rsi,%rsi
1405413a1:	78 07                	js     0x1405413aa
1405413a3:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
1405413a8:	eb 18                	jmp    0x1405413c2
1405413aa:	48 8b ce             	mov    %rsi,%rcx
1405413ad:	48 d1 e9             	shr    $1,%rcx
1405413b0:	48 8b c6             	mov    %rsi,%rax
1405413b3:	83 e0 01             	and    $0x1,%eax
1405413b6:	48 0b c8             	or     %rax,%rcx
1405413b9:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1405413be:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1405413c2:	0f 28 c8             	movaps %xmm0,%xmm1
1405413c5:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1405413c9:	0f 2f cb             	comiss %xmm3,%xmm1
1405413cc:	0f 86 e4 00 00 00    	jbe    0x1405414b6
1405413d2:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1405413d6:	e8 45 fd 8e 00       	call   0x140e31120
1405413db:	33 c9                	xor    %ecx,%ecx
1405413dd:	f3 0f 10 0d 7f d2 a6 	movss  0xa6d27f(%rip),%xmm1        # 0x140fae664
1405413e4:	00
1405413e5:	0f 2f c1             	comiss %xmm1,%xmm0
1405413e8:	72 16                	jb     0x140541400
1405413ea:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1405413ee:	0f 2f c1             	comiss %xmm1,%xmm0
1405413f1:	73 0d                	jae    0x140541400
1405413f3:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1405413fa:	00 00 80
1405413fd:	48 8b c8             	mov    %rax,%rcx
140541400:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140541405:	48 03 c1             	add    %rcx,%rax
140541408:	b9 08 00 00 00       	mov    $0x8,%ecx
14054140d:	48 3b c1             	cmp    %rcx,%rax
140541410:	48 0f 47 c8          	cmova  %rax,%rcx
140541414:	48 3b f1             	cmp    %rcx,%rsi
140541417:	73 19                	jae    0x140541432
140541419:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140541420:	73 0d                	jae    0x14054142f
140541422:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140541429:	00
14054142a:	48 3b f1             	cmp    %rcx,%rsi
14054142d:	73 03                	jae    0x140541432
14054142f:	48 8b f1             	mov    %rcx,%rsi
140541432:	48 8b d6             	mov    %rsi,%rdx
140541435:	49 8b cd             	mov    %r13,%rcx
140541438:	e8 93 b6 00 00       	call   0x14054cad0
14054143d:	49 8b 55 30          	mov    0x30(%r13),%rdx
140541441:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
140541446:	49 23 d1             	and    %r9,%rdx
140541449:	48 03 d2             	add    %rdx,%rdx
14054144c:	49 8b 45 18          	mov    0x18(%r13),%rax
140541450:	48 8b 4c d0 08       	mov    0x8(%rax,%rdx,8),%rcx
140541455:	49 8b 5d 08          	mov    0x8(%r13),%rbx
140541459:	48 3b cb             	cmp    %rbx,%rcx
14054145c:	75 07                	jne    0x140541465
14054145e:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140541463:	eb 3e                	jmp    0x1405414a3
140541465:	48 8b 14 d0          	mov    (%rax,%rdx,8),%rdx
140541469:	4c 8b 47 10          	mov    0x10(%rdi),%r8
14054146d:	0f 1f 00             	nopl   (%rax)
140541470:	48 8b d9             	mov    %rcx,%rbx
140541473:	4c 3b 41 10          	cmp    0x10(%rcx),%r8
140541477:	75 0a                	jne    0x140541483
140541479:	48 8b 41 18          	mov    0x18(%rcx),%rax
14054147d:	48 39 47 18          	cmp    %rax,0x18(%rdi)
140541481:	74 0b                	je     0x14054148e
140541483:	48 3b ca             	cmp    %rdx,%rcx
140541486:	74 16                	je     0x14054149e
140541488:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14054148c:	eb e2                	jmp    0x140541470
14054148e:	48 8b 19             	mov    (%rcx),%rbx
140541491:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140541496:	48 8b eb             	mov    %rbx,%rbp
140541499:	4c 8b f3             	mov    %rbx,%r14
14054149c:	eb 1d                	jmp    0x1405414bb
14054149e:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1405414a3:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1405414aa:	00 00
1405414ac:	48 8b eb             	mov    %rbx,%rbp
1405414af:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
1405414b4:	eb 05                	jmp    0x1405414bb
1405414b6:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
1405414bb:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1405414bf:	49 ff 45 10          	incq   0x10(%r13)
1405414c3:	4c 89 37             	mov    %r14,(%rdi)
1405414c6:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1405414ca:	48 89 3a             	mov    %rdi,(%rdx)
1405414cd:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1405414d1:	49 8b 4d 18          	mov    0x18(%r13),%rcx
1405414d5:	49 8b 45 30          	mov    0x30(%r13),%rax
1405414d9:	49 23 c1             	and    %r9,%rax
1405414dc:	48 03 c0             	add    %rax,%rax
1405414df:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1405414e3:	4d 3b 45 08          	cmp    0x8(%r13),%r8
1405414e7:	75 06                	jne    0x1405414ef
1405414e9:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405414ed:	eb 12                	jmp    0x140541501
1405414ef:	4c 3b c5             	cmp    %rbp,%r8
1405414f2:	75 06                	jne    0x1405414fa
1405414f4:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1405414f8:	eb 0c                	jmp    0x140541506
1405414fa:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1405414ff:	75 05                	jne    0x140541506
140541501:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140541506:	49 89 3f             	mov    %rdi,(%r15)
140541509:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
14054150e:	49 8b c7             	mov    %r15,%rax
140541511:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140541516:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
14054151b:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140541520:	48 83 c4 30          	add    $0x30,%rsp
140541524:	41 5f                	pop    %r15
140541526:	41 5e                	pop    %r14
140541528:	41 5d                	pop    %r13
14054152a:	41 5c                	pop    %r12
14054152c:	5f                   	pop    %rdi
14054152d:	c3                   	ret
14054152e:	48 8d 0d 6b cf a6 00 	lea    0xa6cf6b(%rip),%rcx        # 0x140fae4a0
140541535:	e8 7a 9e 8b 00       	call   0x140dfb3b4
14054153a:	cc                   	int3
14054153b:	cc                   	int3
14054153c:	cc                   	int3
14054153d:	cc                   	int3
14054153e:	cc                   	int3
14054153f:	cc                   	int3
140541540:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140541545:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14054154a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14054154f:	57                   	push   %rdi
140541550:	41 54                	push   %r12
140541552:	41 55                	push   %r13
140541554:	41 56                	push   %r14
140541556:	41 57                	push   %r15
140541558:	48 83 ec 40          	sub    $0x40,%rsp
14054155c:	49 8b d8             	mov    %r8,%rbx
14054155f:	4c 8b fa             	mov    %rdx,%r15
140541562:	4c 8b e9             	mov    %rcx,%r13
140541565:	4d 8b 48 10          	mov    0x10(%r8),%r9
140541569:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
14054156e:	76 03                	jbe    0x140541573
140541570:	4d 8b 00             	mov    (%r8),%r8
140541573:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
14054157a:	9c f2 cb
14054157d:	45 33 e4             	xor    %r12d,%r12d
140541580:	41 8b cc             	mov    %r12d,%ecx
140541583:	4d 85 c9             	test   %r9,%r9
140541586:	74 2c                	je     0x1405415b4
140541588:	48 ba b3 01 00 00 00 	movabs $0x100000001b3,%rdx
14054158f:	01 00 00
140541592:	0f 1f 40 00          	nopl   0x0(%rax)
140541596:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14054159d:	00 00 00
1405415a0:	41 0f b6 04 08       	movzbl (%r8,%rcx,1),%eax
1405415a5:	48 33 f8             	xor    %rax,%rdi
1405415a8:	48 0f af fa          	imul   %rdx,%rdi
1405415ac:	48 ff c1             	inc    %rcx
1405415af:	49 3b c9             	cmp    %r9,%rcx
1405415b2:	72 ec                	jb     0x1405415a0
1405415b4:	4c 8b cf             	mov    %rdi,%r9
1405415b7:	4c 8b c3             	mov    %rbx,%r8
1405415ba:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405415bf:	49 8b cd             	mov    %r13,%rcx
1405415c2:	e8 39 2c cd ff       	call   0x140214200
1405415c7:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1405415cc:	48 85 c0             	test   %rax,%rax
1405415cf:	74 0c                	je     0x1405415dd
1405415d1:	49 89 07             	mov    %rax,(%r15)
1405415d4:	45 88 67 08          	mov    %r12b,0x8(%r15)
1405415d8:	e9 34 02 00 00       	jmp    0x140541811
1405415dd:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
1405415e4:	55 55 05
1405415e7:	49 39 45 10          	cmp    %rax,0x10(%r13)
1405415eb:	0f 84 43 02 00 00    	je     0x140541834
1405415f1:	49 8d 6d 08          	lea    0x8(%r13),%rbp
1405415f5:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)