1402041a8:	49 8b f9             	mov    %r9,%rdi
1402041ab:	48 8b f2             	mov    %rdx,%rsi
1402041ae:	48 8b d9             	mov    %rcx,%rbx
1402041b1:	48 8b 41 10          	mov    0x10(%rcx),%rax
1402041b5:	49 83 39 00          	cmpq   $0x0,(%r9)
1402041b9:	0f 84 b0 00 00 00    	je     0x14020426f
1402041bf:	48 85 c0             	test   %rax,%rax
1402041c2:	0f 84 92 00 00 00    	je     0x14020425a
1402041c8:	0f 57 c0             	xorps  %xmm0,%xmm0
1402041cb:	f3 0f 7f 45 f0       	movdqu %xmm0,-0x10(%rbp)
1402041d0:	48 8b 42 08          	mov    0x8(%rdx),%rax
1402041d4:	48 85 c0             	test   %rax,%rax
1402041d7:	74 04                	je     0x1402041dd
1402041d9:	f0 ff 40 08          	lock incl 0x8(%rax)
1402041dd:	48 8b 02             	mov    (%rdx),%rax
1402041e0:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1402041e4:	48 8b 42 08          	mov    0x8(%rdx),%rax
1402041e8:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
1402041ec:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1402041f0:	e8 8b 1c fa ff       	call   0x1401a5e80
1402041f5:	84 c0                	test   %al,%al
1402041f7:	75 18                	jne    0x140204211
1402041f9:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1402041fd:	48 8b 01             	mov    (%rcx),%rax
140204200:	48 8b d7             	mov    %rdi,%rdx
140204203:	48 8b 40 10          	mov    0x10(%rax),%rax
140204207:	ff 15 2b 8a 90 00    	call   *0x908a2b(%rip)        # 0x140b0cc38
14020420d:	84 c0                	test   %al,%al
14020420f:	74 49                	je     0x14020425a
140204211:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140204215:	48 85 db             	test   %rbx,%rbx
140204218:	0f 84 8f 01 00 00    	je     0x1402043ad
14020421e:	83 cf ff             	or     $0xffffffff,%edi
140204221:	8b c7                	mov    %edi,%eax
140204223:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140204228:	03 c7                	add    %edi,%eax
14020422a:	0f 85 7d 01 00 00    	jne    0x1402043ad
140204230:	48 8b 03             	mov    (%rbx),%rax
140204233:	48 8b cb             	mov    %rbx,%rcx
140204236:	48 8b 00             	mov    (%rax),%rax
140204239:	ff 15 f9 89 90 00    	call   *0x9089f9(%rip)        # 0x140b0cc38
14020423f:	8b c7                	mov    %edi,%eax
140204241:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140204246:	03 c7                	add    %edi,%eax
140204248:	0f 85 5f 01 00 00    	jne    0x1402043ad
14020424e:	48 8b 03             	mov    (%rbx),%rax
140204251:	48 8b 40 08          	mov    0x8(%rax),%rax
140204255:	e9 4a 01 00 00       	jmp    0x1402043a4
14020425a:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14020425e:	48 85 db             	test   %rbx,%rbx
140204261:	0f 84 c1 00 00 00    	je     0x140204328
140204267:	83 cf ff             	or     $0xffffffff,%edi
14020426a:	e9 84 00 00 00       	jmp    0x1402042f3
14020426f:	48 85 c0             	test   %rax,%rax
140204272:	74 06                	je     0x14020427a
140204274:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
140204278:	eb e4                	jmp    0x14020425e
14020427a:	4c 8b 89 48 01 00 00 	mov    0x148(%rcx),%r9
140204281:	4c 2b 89 40 01 00 00 	sub    0x140(%rcx),%r9
140204288:	49 c1 f9 04          	sar    $0x4,%r9
14020428c:	48 8b d3             	mov    %rbx,%rdx
14020428f:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140204293:	e8 d0 72 00 00       	call   0x14020b568
140204298:	83 cf ff             	or     $0xffffffff,%edi
14020429b:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
14020429f:	48 83 7d f0 00       	cmpq   $0x0,-0x10(%rbp)
1402042a4:	0f 85 85 00 00 00    	jne    0x14020432f
1402042aa:	48 85 c9             	test   %rcx,%rcx
1402042ad:	74 3b                	je     0x1402042ea
1402042af:	8b c7                	mov    %edi,%eax
1402042b1:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
1402042b6:	03 c7                	add    %edi,%eax
1402042b8:	75 30                	jne    0x1402042ea
1402042ba:	48 8b 5d f8          	mov    -0x8(%rbp),%rbx
1402042be:	48 8b 03             	mov    (%rbx),%rax
1402042c1:	48 8b cb             	mov    %rbx,%rcx
1402042c4:	48 8b 00             	mov    (%rax),%rax
1402042c7:	ff 15 6b 89 90 00    	call   *0x90896b(%rip)        # 0x140b0cc38
1402042cd:	8b c7                	mov    %edi,%eax
1402042cf:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1402042d4:	03 c7                	add    %edi,%eax
1402042d6:	75 12                	jne    0x1402042ea
1402042d8:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1402042dc:	48 8b 01             	mov    (%rcx),%rax
1402042df:	48 8b 40 08          	mov    0x8(%rax),%rax
1402042e3:	ff 15 4f 89 90 00    	call   *0x90894f(%rip)        # 0x140b0cc38
1402042e9:	90                   	nop
1402042ea:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
1402042ee:	48 85 db             	test   %rbx,%rbx
1402042f1:	74 35                	je     0x140204328
1402042f3:	8b c7                	mov    %edi,%eax
1402042f5:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1402042fa:	03 c7                	add    %edi,%eax
1402042fc:	75 2a                	jne    0x140204328
1402042fe:	48 8b 03             	mov    (%rbx),%rax
140204301:	48 8b cb             	mov    %rbx,%rcx
140204304:	48 8b 00             	mov    (%rax),%rax
140204307:	ff 15 2b 89 90 00    	call   *0x90892b(%rip)        # 0x140b0cc38
14020430d:	8b c7                	mov    %edi,%eax
14020430f:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140204314:	03 c7                	add    %edi,%eax
140204316:	75 10                	jne    0x140204328
140204318:	48 8b 03             	mov    (%rbx),%rax
14020431b:	48 8b cb             	mov    %rbx,%rcx
14020431e:	48 8b 40 08          	mov    0x8(%rax),%rax
140204322:	ff 15 10 89 90 00    	call   *0x908910(%rip)        # 0x140b0cc38
140204328:	32 c0                	xor    %al,%al
14020432a:	e9 80 00 00 00       	jmp    0x1402043af
14020432f:	48 85 c9             	test   %rcx,%rcx
140204332:	74 3b                	je     0x14020436f
140204334:	8b c7                	mov    %edi,%eax
140204336:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
14020433b:	03 c7                	add    %edi,%eax
14020433d:	75 30                	jne    0x14020436f
14020433f:	48 8b 5d f8          	mov    -0x8(%rbp),%rbx
140204343:	48 8b 03             	mov    (%rbx),%rax
140204346:	48 8b cb             	mov    %rbx,%rcx
140204349:	48 8b 00             	mov    (%rax),%rax
14020434c:	ff 15 e6 88 90 00    	call   *0x9088e6(%rip)        # 0x140b0cc38
140204352:	8b c7                	mov    %edi,%eax
140204354:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140204359:	03 c7                	add    %edi,%eax
14020435b:	75 12                	jne    0x14020436f
14020435d:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140204361:	48 8b 01             	mov    (%rcx),%rax
140204364:	48 8b 40 08          	mov    0x8(%rax),%rax
140204368:	ff 15 ca 88 90 00    	call   *0x9088ca(%rip)        # 0x140b0cc38
14020436e:	90                   	nop
14020436f:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140204373:	48 85 db             	test   %rbx,%rbx
140204376:	74 35                	je     0x1402043ad
140204378:	8b c7                	mov    %edi,%eax
14020437a:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
14020437f:	03 c7                	add    %edi,%eax
140204381:	75 2a                	jne    0x1402043ad
140204383:	48 8b 03             	mov    (%rbx),%rax
140204386:	48 8b cb             	mov    %rbx,%rcx
140204389:	48 8b 00             	mov    (%rax),%rax
14020438c:	ff 15 a6 88 90 00    	call   *0x9088a6(%rip)        # 0x140b0cc38
140204392:	8b d7                	mov    %edi,%edx
140204394:	f0 0f c1 53 0c       	lock xadd %edx,0xc(%rbx)
140204399:	03 d7                	add    %edi,%edx
14020439b:	75 10                	jne    0x1402043ad
14020439d:	48 8b 13             	mov    (%rbx),%rdx
1402043a0:	48 8b 42 08          	mov    0x8(%rdx),%rax
1402043a4:	48 8b cb             	mov    %rbx,%rcx
1402043a7:	ff 15 8b 88 90 00    	call   *0x90888b(%rip)        # 0x140b0cc38
1402043ad:	b0 01                	mov    $0x1,%al
1402043af:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1402043b4:	48 83 c4 30          	add    $0x30,%rsp
1402043b8:	5f                   	pop    %rdi
1402043b9:	5e                   	pop    %rsi
1402043ba:	5d                   	pop    %rbp
1402043bb:	c3                   	ret
1402043bc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402043c1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1402043c6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1402043cb:	57                   	push   %rdi
1402043cc:	41 56                	push   %r14
1402043ce:	41 57                	push   %r15
1402043d0:	48 83 ec 30          	sub    $0x30,%rsp
1402043d4:	48 8d b9 40 01 00 00 	lea    0x140(%rcx),%rdi
1402043db:	48 8b f1             	mov    %rcx,%rsi
1402043de:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
1402043e2:	48 8b ca             	mov    %rdx,%rcx
1402043e5:	48 2b 1f             	sub    (%rdi),%rbx
1402043e8:	49 8b e9             	mov    %r9,%rbp
1402043eb:	48 c1 fb 04          	sar    $0x4,%rbx
1402043ef:	4d 8b f8             	mov    %r8,%r15
1402043f2:	4c 8b f2             	mov    %rdx,%r14
1402043f5:	e8 4e 27 00 00       	call   0x140206b48
1402043fa:	0f 28 d0             	movaps %xmm0,%xmm2
1402043fd:	0f 57 c9             	xorps  %xmm1,%xmm1
140204400:	48 85 db             	test   %rbx,%rbx
140204403:	78 07                	js     0x14020440c
140204405:	f3 48 0f 2a cb       	cvtsi2ss %rbx,%xmm1
14020440a:	eb 18                	jmp    0x140204424
14020440c:	48 8b c3             	mov    %rbx,%rax
14020440f:	48 8b cb             	mov    %rbx,%rcx
140204412:	48 d1 e9             	shr    $1,%rcx
140204415:	83 e0 01             	and    $0x1,%eax
140204418:	48 0b c8             	or     %rax,%rcx
14020441b:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140204420:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140204424:	f3 0f 59 4e 24       	mulss  0x24(%rsi),%xmm1
140204429:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
14020442d:	0f 57 c0             	xorps  %xmm0,%xmm0
140204430:	f3 0f 58 d1          	addss  %xmm1,%xmm2
140204434:	48 85 c9             	test   %rcx,%rcx
140204437:	78 07                	js     0x140204440
140204439:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14020443e:	eb 15                	jmp    0x140204455
140204440:	48 8b c1             	mov    %rcx,%rax
140204443:	83 e1 01             	and    $0x1,%ecx
140204446:	48 d1 e8             	shr    $1,%rax
140204449:	48 0b c1             	or     %rcx,%rax
14020444c:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140204451:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140204455:	f3 0f 5e d0          	divss  %xmm0,%xmm2
140204459:	f3 0f 11 56 24       	movss  %xmm2,0x24(%rsi)
14020445e:	48 83 7d 00 00       	cmpq   $0x0,0x0(%rbp)
140204463:	0f 85 c1 00 00 00    	jne    0x14020452a
140204469:	4c 8b 4f 08          	mov    0x8(%rdi),%r9
14020446d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140204472:	4c 2b 0f             	sub    (%rdi),%r9
140204475:	4d 8b c7             	mov    %r15,%r8
140204478:	49 c1 f9 04          	sar    $0x4,%r9
14020447c:	48 8b d6             	mov    %rsi,%rdx
14020447f:	e8 e4 70 00 00       	call   0x14020b568
140204484:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140204489:	48 85 c9             	test   %rcx,%rcx
14020448c:	74 09                	je     0x140204497
14020448e:	f0 ff 41 08          	lock incl 0x8(%rcx)
140204492:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140204497:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14020449b:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
1402044a0:	48 89 06             	mov    %rax,(%rsi)
1402044a3:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1402044a7:	83 ce ff             	or     $0xffffffff,%esi
1402044aa:	48 85 db             	test   %rbx,%rbx
1402044ad:	74 3a                	je     0x1402044e9
1402044af:	8b c6                	mov    %esi,%eax
1402044b1:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1402044b6:	03 c6                	add    %esi,%eax
1402044b8:	75 2a                	jne    0x1402044e4
1402044ba:	48 8b 03             	mov    (%rbx),%rax
1402044bd:	48 8b cb             	mov    %rbx,%rcx
1402044c0:	48 8b 00             	mov    (%rax),%rax
1402044c3:	ff 15 6f 87 90 00    	call   *0x90876f(%rip)        # 0x140b0cc38
1402044c9:	8b c6                	mov    %esi,%eax
1402044cb:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1402044d0:	03 c6                	add    %esi,%eax
1402044d2:	75 10                	jne    0x1402044e4
1402044d4:	48 8b 03             	mov    (%rbx),%rax
1402044d7:	48 8b cb             	mov    %rbx,%rcx
1402044da:	48 8b 40 08          	mov    0x8(%rax),%rax
1402044de:	ff 15 54 87 90 00    	call   *0x908754(%rip)        # 0x140b0cc38
1402044e4:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
1402044e9:	48 85 c9             	test   %rcx,%rcx
1402044ec:	74 3c                	je     0x14020452a
1402044ee:	8b c6                	mov    %esi,%eax
1402044f0:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
1402044f5:	03 c6                	add    %esi,%eax
1402044f7:	75 31                	jne    0x14020452a
1402044f9:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
1402044fe:	48 8b cb             	mov    %rbx,%rcx
140204501:	48 8b 03             	mov    (%rbx),%rax
140204504:	48 8b 00             	mov    (%rax),%rax
140204507:	ff 15 2b 87 90 00    	call   *0x90872b(%rip)        # 0x140b0cc38
14020450d:	8b c6                	mov    %esi,%eax
14020450f:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140204514:	03 c6                	add    %esi,%eax
140204516:	75 12                	jne    0x14020452a
140204518:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
14020451d:	48 8b 01             	mov    (%rcx),%rax
140204520:	48 8b 40 08          	mov    0x8(%rax),%rax
140204524:	ff 15 0e 87 90 00    	call   *0x90870e(%rip)        # 0x140b0cc38
14020452a:	48 8b 57 08          	mov    0x8(%rdi),%rdx
14020452e:	48 3b 57 10          	cmp    0x10(%rdi),%rdx
140204532:	74 2b                	je     0x14020455f
140204534:	48 83 22 00          	andq   $0x0,(%rdx)
140204538:	48 83 62 08 00       	andq   $0x0,0x8(%rdx)
14020453d:	49 8b 46 08          	mov    0x8(%r14),%rax
140204541:	48 85 c0             	test   %rax,%rax
140204544:	74 04                	je     0x14020454a
140204546:	f0 ff 40 08          	lock incl 0x8(%rax)
14020454a:	49 8b 06             	mov    (%r14),%rax
14020454d:	48 89 02             	mov    %rax,(%rdx)
140204550:	49 8b 46 08          	mov    0x8(%r14),%rax
140204554:	48 89 42 08          	mov    %rax,0x8(%rdx)
140204558:	48 83 47 08 10       	addq   $0x10,0x8(%rdi)
14020455d:	eb 0b                	jmp    0x14020456a
14020455f:	4d 8b c6             	mov    %r14,%r8
140204562:	48 8b cf             	mov    %rdi,%rcx
140204565:	e8 ba bf e1 ff       	call   0x140020524
14020456a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14020456f:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140204574:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140204579:	48 83 c4 30          	add    $0x30,%rsp
14020457d:	41 5f                	pop    %r15
14020457f:	41 5e                	pop    %r14
140204581:	5f                   	pop    %rdi
140204582:	c3                   	ret
140204583:	90                   	nop
140204584:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140204589:	55                   	push   %rbp
14020458a:	53                   	push   %rbx
14020458b:	56                   	push   %rsi
14020458c:	57                   	push   %rdi
14020458d:	41 54                	push   %r12
14020458f:	41 55                	push   %r13
140204591:	41 56                	push   %r14
140204593:	41 57                	push   %r15
140204595:	48 8d 6c 24 f8       	lea    -0x8(%rsp),%rbp
14020459a:	48 81 ec 08 01 00 00 	sub    $0x108,%rsp
1402045a1:	48 8b 05 98 aa ab 00 	mov    0xabaa98(%rip),%rax        # 0x140cbf040
1402045a8:	48 33 c4             	xor    %rsp,%rax
1402045ab:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1402045af:	49 8b d9             	mov    %r9,%rbx
1402045b2:	4d 8b f0             	mov    %r8,%r14
1402045b5:	48 8b f2             	mov    %rdx,%rsi
1402045b8:	48 8b f9             	mov    %rcx,%rdi
1402045bb:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
1402045c0:	45 33 e4             	xor    %r12d,%r12d
1402045c3:	4d 8b 08             	mov    (%r8),%r9
1402045c6:	49 8d 51 10          	lea    0x10(%r9),%rdx
1402045ca:	48 8b 06             	mov    (%rsi),%rax
1402045cd:	48 8b 48 10          	mov    0x10(%rax),%rcx
1402045d1:	4c 39 22             	cmp    %r12,(%rdx)
1402045d4:	41 0f 95 c0          	setne  %r8b
1402045d8:	48 85 c9             	test   %rcx,%rcx
1402045db:	0f 95 c0             	setne  %al
1402045de:	41 3a c0             	cmp    %r8b,%al
1402045e1:	0f 85 a7 05 00 00    	jne    0x140204b8e
1402045e7:	48 85 c9             	test   %rcx,%rcx
1402045ea:	0f 84 27 01 00 00    	je     0x140204717
1402045f0:	4c 39 22             	cmp    %r12,(%rdx)
1402045f3:	0f 84 1e 01 00 00    	je     0x140204717
1402045f9:	48 8b 01             	mov    (%rcx),%rax
1402045fc:	48 8b 40 10          	mov    0x10(%rax),%rax
140204600:	ff 15 32 86 90 00    	call   *0x908632(%rip)        # 0x140b0cc38
140204606:	84 c0                	test   %al,%al
140204608:	0f 84 80 05 00 00    	je     0x140204b8e
14020460e:	48 8b 16             	mov    (%rsi),%rdx
140204611:	f3 0f 10 42 24       	movss  0x24(%rdx),%xmm0
140204616:	f3 0f 11 44 24 40    	movss  %xmm0,0x40(%rsp)
14020461c:	4c 8d 42 28          	lea    0x28(%rdx),%r8
140204620:	48 83 c2 10          	add    $0x10,%rdx
140204624:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
140204629:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14020462e:	e8 05 c1 ff ff       	call   0x140200738
140204633:	90                   	nop
140204634:	48 8b 06             	mov    (%rsi),%rax
140204637:	48 8b 98 40 01 00 00 	mov    0x140(%rax),%rbx
14020463e:	eb 4e                	jmp    0x14020468e
140204640:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140204645:	48 81 c1 40 01 00 00 	add    $0x140,%rcx
14020464c:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140204650:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
140204654:	74 29                	je     0x14020467f
140204656:	4c 89 22             	mov    %r12,(%rdx)
140204659:	4c 89 62 08          	mov    %r12,0x8(%rdx)
14020465d:	48 8b 43 08          	mov    0x8(%rbx),%rax
140204661:	48 85 c0             	test   %rax,%rax
140204664:	74 04                	je     0x14020466a
140204666:	f0 ff 40 08          	lock incl 0x8(%rax)
14020466a:	48 8b 03             	mov    (%rbx),%rax
14020466d:	48 89 02             	mov    %rax,(%rdx)
140204670:	48 8b 43 08          	mov    0x8(%rbx),%rax
140204674:	48 89 42 08          	mov    %rax,0x8(%rdx)