140096ff6:	4c 33 c2             	xor    %rdx,%r8
140096ff9:	49 ff c1             	inc    %r9
140096ffc:	4d 0f af c2          	imul   %r10,%r8
140097000:	49 83 f9 04          	cmp    $0x4,%r9
140097004:	72 e0                	jb     0x140096fe6
140097006:	4c 8b 5f 30          	mov    0x30(%rdi),%r11
14009700a:	48 8b 5f 18          	mov    0x18(%rdi),%rbx
14009700e:	4d 23 d8             	and    %r8,%r11
140097011:	4d 03 db             	add    %r11,%r11
140097014:	4a 39 34 db          	cmp    %rsi,(%rbx,%r11,8)
140097018:	75 0b                	jne    0x140097025
14009701a:	4a 89 04 db          	mov    %rax,(%rbx,%r11,8)
14009701e:	4a 89 44 db 08       	mov    %rax,0x8(%rbx,%r11,8)
140097023:	eb 6e                	jmp    0x140097093
140097025:	4e 8b 54 db 08       	mov    0x8(%rbx,%r11,8),%r10
14009702a:	8b 50 10             	mov    0x10(%rax),%edx
14009702d:	41 3b 52 10          	cmp    0x10(%r10),%edx
140097031:	75 35                	jne    0x140097068
140097033:	4d 8b 12             	mov    (%r10),%r10
140097036:	4c 3b d0             	cmp    %rax,%r10
140097039:	74 e3                	je     0x14009701e
14009703b:	4c 8b 48 08          	mov    0x8(%rax),%r9
14009703f:	49 89 09             	mov    %rcx,(%r9)
140097042:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140097046:	4d 89 10             	mov    %r10,(%r8)
140097049:	49 8b 52 08          	mov    0x8(%r10),%rdx
14009704d:	48 89 02             	mov    %rax,(%rdx)
140097050:	4d 89 42 08          	mov    %r8,0x8(%r10)
140097054:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140097058:	48 89 50 08          	mov    %rdx,0x8(%rax)
14009705c:	eb c0                	jmp    0x14009701e
14009705e:	4d 8b 52 08          	mov    0x8(%r10),%r10
140097062:	41 3b 52 10          	cmp    0x10(%r10),%edx
140097066:	74 4d                	je     0x1400970b5
140097068:	4e 39 14 db          	cmp    %r10,(%rbx,%r11,8)
14009706c:	75 f0                	jne    0x14009705e
14009706e:	4c 8b 48 08          	mov    0x8(%rax),%r9
140097072:	49 89 09             	mov    %rcx,(%r9)
140097075:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140097079:	4d 89 10             	mov    %r10,(%r8)
14009707c:	49 8b 52 08          	mov    0x8(%r10),%rdx
140097080:	48 89 02             	mov    %rax,(%rdx)
140097083:	4d 89 42 08          	mov    %r8,0x8(%r10)
140097087:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14009708b:	48 89 50 08          	mov    %rdx,0x8(%rax)
14009708f:	4a 89 04 db          	mov    %rax,(%rbx,%r11,8)
140097093:	48 8b c1             	mov    %rcx,%rax
140097096:	48 3b ce             	cmp    %rsi,%rcx
140097099:	0f 85 37 ff ff ff    	jne    0x140096fd6
14009709f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400970a4:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400970a9:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400970ae:	48 83 c4 20          	add    $0x20,%rsp
1400970b2:	41 5e                	pop    %r14
1400970b4:	c3                   	ret
1400970b5:	4d 8b 12             	mov    (%r10),%r10
1400970b8:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400970bc:	49 89 09             	mov    %rcx,(%r9)
1400970bf:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1400970c3:	4d 89 10             	mov    %r10,(%r8)
1400970c6:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400970ca:	48 89 02             	mov    %rax,(%rdx)
1400970cd:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400970d1:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400970d5:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400970d9:	eb b8                	jmp    0x140097093
1400970db:	cc                   	int3
1400970dc:	40 53                	rex push %rbx
1400970de:	48 83 ec 20          	sub    $0x20,%rsp
1400970e2:	48 8b 59 38          	mov    0x38(%rcx),%rbx
1400970e6:	0f 57 c0             	xorps  %xmm0,%xmm0
1400970e9:	48 85 d2             	test   %rdx,%rdx
1400970ec:	78 07                	js     0x1400970f5
1400970ee:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
1400970f3:	eb 15                	jmp    0x14009710a
1400970f5:	48 8b c2             	mov    %rdx,%rax
1400970f8:	83 e2 01             	and    $0x1,%edx
1400970fb:	48 d1 e8             	shr    $1,%rax
1400970fe:	48 0b c2             	or     %rdx,%rax
140097101:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140097106:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14009710a:	f3 0f 5e 01          	divss  (%rcx),%xmm0
14009710e:	e8 7b f9 16 00       	call   0x140206a8e
140097113:	f3 0f 10 0d a5 8f 22 	movss  0x228fa5(%rip),%xmm1        # 0x1402c00c0
14009711a:	00
14009711b:	33 c9                	xor    %ecx,%ecx
14009711d:	0f 2f c1             	comiss %xmm1,%xmm0
140097120:	72 16                	jb     0x140097138
140097122:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140097126:	0f 2f c1             	comiss %xmm1,%xmm0
140097129:	73 0d                	jae    0x140097138
14009712b:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140097132:	00 00 80
140097135:	48 8b c8             	mov    %rax,%rcx
140097138:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14009713d:	48 03 c1             	add    %rcx,%rax
140097140:	b9 08 00 00 00       	mov    $0x8,%ecx
140097145:	48 3b c1             	cmp    %rcx,%rax
140097148:	48 0f 47 c8          	cmova  %rax,%rcx
14009714c:	48 3b d9             	cmp    %rcx,%rbx
14009714f:	73 15                	jae    0x140097166
140097151:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
140097158:	73 09                	jae    0x140097163
14009715a:	48 c1 e3 03          	shl    $0x3,%rbx
14009715e:	48 3b d9             	cmp    %rcx,%rbx
140097161:	73 03                	jae    0x140097166
140097163:	48 8b d9             	mov    %rcx,%rbx
140097166:	0f ae e8             	lfence
140097169:	48 8b c3             	mov    %rbx,%rax
14009716c:	48 83 c4 20          	add    $0x20,%rsp
140097170:	5b                   	pop    %rbx
140097171:	c3                   	ret
140097172:	90                   	nop
140097173:	90                   	nop
140097174:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140097179:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14009717e:	57                   	push   %rdi
14009717f:	48 83 ec 20          	sub    $0x20,%rsp
140097183:	33 f6                	xor    %esi,%esi
140097185:	48 8b d9             	mov    %rcx,%rbx
140097188:	48 39 71 10          	cmp    %rsi,0x10(%rcx)
14009718c:	74 7d                	je     0x14009720b
14009718e:	48 8b 41 38          	mov    0x38(%rcx),%rax
140097192:	48 c1 e8 03          	shr    $0x3,%rax
140097196:	48 3b 41 10          	cmp    0x10(%rcx),%rax
14009719a:	76 11                	jbe    0x1400971ad
14009719c:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400971a0:	4c 8b c2             	mov    %rdx,%r8
1400971a3:	48 8b 12             	mov    (%rdx),%rdx
1400971a6:	e8 71 00 00 00       	call   0x14009721c
1400971ab:	eb 5e                	jmp    0x14009720b
1400971ad:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400971b1:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400971b5:	48 89 30             	mov    %rsi,(%rax)
1400971b8:	48 8b 09             	mov    (%rcx),%rcx
1400971bb:	48 85 c9             	test   %rcx,%rcx
1400971be:	74 11                	je     0x1400971d1
1400971c0:	48 8b 39             	mov    (%rcx),%rdi
1400971c3:	ff 15 77 b9 17 00    	call   *0x17b977(%rip)        # 0x140212b40
1400971c9:	48 8b cf             	mov    %rdi,%rcx
1400971cc:	48 85 ff             	test   %rdi,%rdi
1400971cf:	75 ef                	jne    0x1400971c0
1400971d1:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400971d5:	48 89 00             	mov    %rax,(%rax)
1400971d8:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400971dc:	48 89 40 08          	mov    %rax,0x8(%rax)
1400971e0:	48 89 73 10          	mov    %rsi,0x10(%rbx)
1400971e4:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
1400971e8:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1400971ec:	48 2b cf             	sub    %rdi,%rcx
1400971ef:	48 83 c1 07          	add    $0x7,%rcx
1400971f3:	48 c1 e9 03          	shr    $0x3,%rcx
1400971f7:	48 3b 7b 20          	cmp    0x20(%rbx),%rdi
1400971fb:	48 0f 47 ce          	cmova  %rsi,%rcx
1400971ff:	48 85 c9             	test   %rcx,%rcx
140097202:	74 07                	je     0x14009720b
140097204:	48 8b 43 08          	mov    0x8(%rbx),%rax
140097208:	f3 48 ab             	rep stos %rax,%es:(%rdi)
14009720b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140097210:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140097215:	48 83 c4 20          	add    $0x20,%rsp
140097219:	5f                   	pop    %rdi
14009721a:	c3                   	ret
14009721b:	90                   	nop
14009721c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140097221:	55                   	push   %rbp
140097222:	56                   	push   %rsi
140097223:	57                   	push   %rdi
140097224:	41 54                	push   %r12
140097226:	41 55                	push   %r13
140097228:	41 56                	push   %r14
14009722a:	41 57                	push   %r15
14009722c:	48 83 ec 20          	sub    $0x20,%rsp
140097230:	49 8b f0             	mov    %r8,%rsi
140097233:	4c 8b ea             	mov    %rdx,%r13
140097236:	4c 8b e1             	mov    %rcx,%r12
140097239:	49 3b d0             	cmp    %r8,%rdx
14009723c:	0f 84 8f 00 00 00    	je     0x1400972d1
140097242:	48 8b 41 08          	mov    0x8(%rcx),%rax
140097246:	48 8b fa             	mov    %rdx,%rdi
140097249:	48 8b 69 18          	mov    0x18(%rcx),%rbp
14009724d:	49 be 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r14
140097254:	9c f2 cb
140097257:	4c 8b 7a 08          	mov    0x8(%rdx),%r15
14009725b:	33 c9                	xor    %ecx,%ecx
14009725d:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140097262:	48 ba b3 01 00 00 00 	movabs $0x100000001b3,%rdx
140097269:	01 00 00
14009726c:	42 0f b6 44 29 10    	movzbl 0x10(%rcx,%r13,1),%eax
140097272:	48 ff c1             	inc    %rcx
140097275:	4c 33 f0             	xor    %rax,%r14
140097278:	4c 0f af f2          	imul   %rdx,%r14
14009727c:	48 83 f9 04          	cmp    $0x4,%rcx
140097280:	72 ea                	jb     0x14009726c
140097282:	4d 23 74 24 30       	and    0x30(%r12),%r14
140097287:	4d 03 f6             	add    %r14,%r14
14009728a:	4a 8b 44 f5 00       	mov    0x0(%rbp,%r14,8),%rax
14009728f:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140097294:	4a 8b 44 f5 08       	mov    0x8(%rbp,%r14,8),%rax
140097299:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
14009729e:	48 8b cf             	mov    %rdi,%rcx
1400972a1:	48 8b df             	mov    %rdi,%rbx
1400972a4:	48 8b 3f             	mov    (%rdi),%rdi
1400972a7:	ff 15 93 b8 17 00    	call   *0x17b893(%rip)        # 0x140212b40
1400972ad:	49 ff 4c 24 10       	decq   0x10(%r12)
1400972b2:	48 3b 5c 24 78       	cmp    0x78(%rsp),%rbx
1400972b7:	74 30                	je     0x1400972e9
1400972b9:	48 3b fe             	cmp    %rsi,%rdi
1400972bc:	75 e0                	jne    0x14009729e
1400972be:	4c 39 6c 24 70       	cmp    %r13,0x70(%rsp)
1400972c3:	75 05                	jne    0x1400972ca
1400972c5:	4a 89 7c f5 00       	mov    %rdi,0x0(%rbp,%r14,8)
1400972ca:	49 89 3f             	mov    %rdi,(%r15)
1400972cd:	4c 89 7f 08          	mov    %r15,0x8(%rdi)
1400972d1:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400972d6:	48 8b c6             	mov    %rsi,%rax
1400972d9:	48 83 c4 20          	add    $0x20,%rsp
1400972dd:	41 5f                	pop    %r15
1400972df:	41 5e                	pop    %r14
1400972e1:	41 5d                	pop    %r13
1400972e3:	41 5c                	pop    %r12
1400972e5:	5f                   	pop    %rdi
1400972e6:	5e                   	pop    %rsi
1400972e7:	5d                   	pop    %rbp
1400972e8:	c3                   	ret
1400972e9:	4c 39 6c 24 70       	cmp    %r13,0x70(%rsp)
1400972ee:	75 0f                	jne    0x1400972ff
1400972f0:	4c 8b 6c 24 68       	mov    0x68(%rsp),%r13
1400972f5:	4e 89 6c f5 00       	mov    %r13,0x0(%rbp,%r14,8)
1400972fa:	49 8b c5             	mov    %r13,%rax
1400972fd:	eb 03                	jmp    0x140097302
1400972ff:	49 8b c7             	mov    %r15,%rax
140097302:	4a 89 44 f5 08       	mov    %rax,0x8(%rbp,%r14,8)
140097307:	eb 71                	jmp    0x14009737a
140097309:	33 c9                	xor    %ecx,%ecx
14009730b:	49 be 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r14
140097312:	9c f2 cb
140097315:	49 bd b3 01 00 00 00 	movabs $0x100000001b3,%r13
14009731c:	01 00 00
14009731f:	0f b6 44 0f 10       	movzbl 0x10(%rdi,%rcx,1),%eax
140097324:	48 ff c1             	inc    %rcx
140097327:	4c 33 f0             	xor    %rax,%r14
14009732a:	4d 0f af f5          	imul   %r13,%r14
14009732e:	48 83 f9 04          	cmp    $0x4,%rcx
140097332:	72 eb                	jb     0x14009731f
140097334:	4d 23 74 24 30       	and    0x30(%r12),%r14
140097339:	4c 8b 6c 24 68       	mov    0x68(%rsp),%r13
14009733e:	4d 03 f6             	add    %r14,%r14
140097341:	4a 8b 44 f5 08       	mov    0x8(%rbp,%r14,8),%rax
140097346:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
14009734b:	48 8b cf             	mov    %rdi,%rcx
14009734e:	48 8b df             	mov    %rdi,%rbx
140097351:	48 8b 3f             	mov    (%rdi),%rdi
140097354:	ff 15 e6 b7 17 00    	call   *0x17b7e6(%rip)        # 0x140212b40
14009735a:	49 ff 4c 24 10       	decq   0x10(%r12)
14009735f:	48 3b 5c 24 70       	cmp    0x70(%rsp),%rbx
140097364:	74 0a                	je     0x140097370
140097366:	48 3b fe             	cmp    %rsi,%rdi
140097369:	75 e0                	jne    0x14009734b
14009736b:	e9 55 ff ff ff       	jmp    0x1400972c5
140097370:	4e 89 6c f5 00       	mov    %r13,0x0(%rbp,%r14,8)
140097375:	4e 89 6c f5 08       	mov    %r13,0x8(%rbp,%r14,8)
14009737a:	48 3b fe             	cmp    %rsi,%rdi
14009737d:	75 8a                	jne    0x140097309
14009737f:	e9 46 ff ff ff       	jmp    0x1400972ca
140097384:	cc                   	int3
140097385:	90                   	nop
140097386:	90                   	nop
140097387:	90                   	nop
140097388:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14009738d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140097392:	55                   	push   %rbp
140097393:	56                   	push   %rsi
140097394:	57                   	push   %rdi
140097395:	41 54                	push   %r12
140097397:	41 55                	push   %r13
140097399:	41 56                	push   %r14
14009739b:	41 57                	push   %r15
14009739d:	48 8b ec             	mov    %rsp,%rbp
1400973a0:	48 83 ec 40          	sub    $0x40,%rsp
1400973a4:	48 8b 42 08          	mov    0x8(%rdx),%rax
1400973a8:	45 33 ed             	xor    %r13d,%r13d
1400973ab:	48 2b 02             	sub    (%rdx),%rax
1400973ae:	4c 8b f9             	mov    %rcx,%r15
1400973b1:	48 c1 f8 03          	sar    $0x3,%rax
1400973b5:	48 8b da             	mov    %rdx,%rbx
1400973b8:	48 89 45 48          	mov    %rax,0x48(%rbp)
1400973bc:	41 8d 4d 30          	lea    0x30(%r13),%ecx
1400973c0:	4c 89 6d e8          	mov    %r13,-0x18(%rbp)
1400973c4:	ff 15 86 b7 17 00    	call   *0x17b786(%rip)        # 0x140212b50
1400973ca:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
1400973ce:	48 85 c0             	test   %rax,%rax
1400973d1:	0f 84 dc 01 00 00    	je     0x1400975b3
1400973d7:	48 8d 55 48          	lea    0x48(%rbp),%rdx
1400973db:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1400973df:	e8 74 0a 00 00       	call   0x140097e58
1400973e4:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
1400973e8:	48 85 c9             	test   %rcx,%rcx
1400973eb:	74 06                	je     0x1400973f3
1400973ed:	ff 15 4d b7 17 00    	call   *0x17b74d(%rip)        # 0x140212b40
1400973f3:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
1400973f7:	48 85 ff             	test   %rdi,%rdi
1400973fa:	74 07                	je     0x140097403
1400973fc:	f0 ff 07             	lock incl (%rdi)
1400973ff:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
140097403:	48 8b 33             	mov    (%rbx),%rsi
140097406:	4d 8b f5             	mov    %r13,%r14
140097409:	4c 8b 63 08          	mov    0x8(%rbx),%r12
14009740d:	49 3b f4             	cmp    %r12,%rsi
140097410:	0f 84 db 00 00 00    	je     0x1400974f1
140097416:	49 8b de             	mov    %r14,%rbx
140097419:	49 ff c6             	inc    %r14
14009741c:	48 85 ff             	test   %rdi,%rdi
14009741f:	74 07                	je     0x140097428
140097421:	f0 ff 07             	lock incl (%rdi)
140097424:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
140097428:	4c 39 2e             	cmp    %r13,(%rsi)
14009742b:	0f 84 68 01 00 00    	je     0x140097599
140097431:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
140097435:	4c 89 6d f0          	mov    %r13,-0x10(%rbp)
140097439:	41 b8 18 00 00 00    	mov    $0x18,%r8d
14009743f:	4c 89 6d f8          	mov    %r13,-0x8(%rbp)
140097443:	48 8d 15 96 3f 1a 00 	lea    0x1a3f96(%rip),%rdx        # 0x14023b3e0
14009744a:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
14009744e:	e8 b1 64 fd ff       	call   0x14006d904
140097453:	48 83 7d f8 18       	cmpq   $0x18,-0x8(%rbp)
140097458:	0f 82 6d 01 00 00    	jb     0x1400975cb
14009745e:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
140097462:	48 89 78 08          	mov    %rdi,0x8(%rax)
140097466:	48 89 58 10          	mov    %rbx,0x10(%rax)
14009746a:	4c 8b 3e             	mov    (%rsi),%r15
14009746d:	4d 85 ff             	test   %r15,%r15
140097470:	0f 84 48 01 00 00    	je     0x1400975be
140097476:	49 8b 07             	mov    (%r15),%rax
140097479:	48 8b 5d 50          	mov    0x50(%rbp),%rbx
14009747d:	48 89 5d 48          	mov    %rbx,0x48(%rbp)
140097481:	4c 8b 68 38          	mov    0x38(%rax),%r13
140097485:	48 85 db             	test   %rbx,%rbx
140097488:	74 10                	je     0x14009749a
14009748a:	48 8b 13             	mov    (%rbx),%rdx
14009748d:	48 8b cb             	mov    %rbx,%rcx
140097490:	48 8b 42 08          	mov    0x8(%rdx),%rax
140097494:	ff 15 96 b9 17 00    	call   *0x17b996(%rip)        # 0x140212e30
14009749a:	48 8d 55 48          	lea    0x48(%rbp),%rdx
14009749e:	49 8b cf             	mov    %r15,%rcx
1400974a1:	49 8b c5             	mov    %r13,%rax
1400974a4:	ff 15 86 b9 17 00    	call   *0x17b986(%rip)        # 0x140212e30
1400974aa:	48 8b 4d 48          	mov    0x48(%rbp),%rcx
1400974ae:	45 33 ed             	xor    %r13d,%r13d
1400974b1:	48 85 c9             	test   %rcx,%rcx