140db6162:	44 8b d0             	mov    %eax,%r10d
140db6165:	4c 3b d6             	cmp    %rsi,%r10
140db6168:	76 0c                	jbe    0x140db6176
140db616a:	33 d2                	xor    %edx,%edx
140db616c:	41 8b c2             	mov    %r10d,%eax
140db616f:	48 f7 f6             	div    %rsi
140db6172:	4c 8d 14 16          	lea    (%rsi,%rdx,1),%r10
140db6176:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140db617c:	4d 3b ca             	cmp    %r10,%r9
140db617f:	77 3d                	ja     0x140db61be
140db6181:	33 f6                	xor    %esi,%esi
140db6183:	0f 1f 40 00          	nopl   0x0(%rax)
140db6187:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140db618e:	00 00
140db6190:	4c 8b 47 18          	mov    0x18(%rdi),%r8
140db6194:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140db6198:	49 2b c8             	sub    %r8,%rcx
140db619b:	48 c1 f9 02          	sar    $0x2,%rcx
140db619f:	4b 8d 04 19          	lea    (%r9,%r11,1),%rax
140db61a3:	33 d2                	xor    %edx,%edx
140db61a5:	48 f7 f1             	div    %rcx
140db61a8:	8b 47 0c             	mov    0xc(%rdi),%eax
140db61ab:	41 2b 04 90          	sub    (%r8,%rdx,4),%eax
140db61af:	89 47 0c             	mov    %eax,0xc(%rdi)
140db61b2:	41 89 34 90          	mov    %esi,(%r8,%rdx,4)
140db61b6:	49 ff c1             	inc    %r9
140db61b9:	4d 3b ca             	cmp    %r10,%r9
140db61bc:	76 d2                	jbe    0x140db6190
140db61be:	8b 47 0c             	mov    0xc(%rdi),%eax
140db61c1:	3b 07                	cmp    (%rdi),%eax
140db61c3:	73 03                	jae    0x140db61c8
140db61c5:	89 47 0c             	mov    %eax,0xc(%rdi)
140db61c8:	40 0f 93 c6          	setae  %sil
140db61cc:	4d 85 d2             	test   %r10,%r10
140db61cf:	74 04                	je     0x140db61d5
140db61d1:	48 89 5f 38          	mov    %rbx,0x38(%rdi)
140db61d5:	48 85 ed             	test   %rbp,%rbp
140db61d8:	74 0a                	je     0x140db61e4
140db61da:	48 8b cd             	mov    %rbp,%rcx
140db61dd:	ff 15 2d d5 1c 00    	call   *0x1cd52d(%rip)        # 0x140f83710
140db61e3:	90                   	nop
140db61e4:	40 0f b6 c6          	movzbl %sil,%eax
140db61e8:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140db61ed:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140db61f2:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140db61f7:	48 83 c4 20          	add    $0x20,%rsp
140db61fb:	5f                   	pop    %rdi
140db61fc:	c3                   	ret
140db61fd:	cc                   	int3
140db61fe:	cc                   	int3
140db61ff:	cc                   	int3
140db6200:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140db6205:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140db620a:	56                   	push   %rsi
140db620b:	57                   	push   %rdi
140db620c:	41 54                	push   %r12
140db620e:	41 56                	push   %r14
140db6210:	41 57                	push   %r15
140db6212:	48 83 ec 30          	sub    $0x30,%rsp
140db6216:	48 8b 05 e3 2c 60 00 	mov    0x602ce3(%rip),%rax        # 0x1413b8f00
140db621d:	48 33 c4             	xor    %rsp,%rax
140db6220:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140db6225:	49 8b d9             	mov    %r9,%rbx
140db6228:	45 8b f8             	mov    %r8d,%r15d
140db622b:	48 8b f2             	mov    %rdx,%rsi
140db622e:	48 8b f9             	mov    %rcx,%rdi
140db6231:	4c 8d 71 40          	lea    0x40(%rcx),%r14
140db6235:	49 8b ce             	mov    %r14,%rcx
140db6238:	ff 15 e2 d4 1c 00    	call   *0x1cd4e2(%rip)        # 0x140f83720
140db623e:	8b 47 0c             	mov    0xc(%rdi),%eax
140db6241:	89 47 10             	mov    %eax,0x10(%rdi)
140db6244:	3b 07                	cmp    (%rdi),%eax
140db6246:	41 0f 93 c4          	setae  %r12b
140db624a:	48 8b 47 38          	mov    0x38(%rdi),%rax
140db624e:	48 2b 47 30          	sub    0x30(%rdi),%rax
140db6252:	48 99                	cqto
140db6254:	49 ba 00 58 47 f8 0d 	movabs $0xdf8475800,%r10
140db625b:	00 00 00
140db625e:	49 f7 fa             	idiv   %r10
140db6261:	33 d2                	xor    %edx,%edx
140db6263:	f7 77 04             	divl   0x4(%rdi)
140db6266:	8b c8                	mov    %eax,%ecx
140db6268:	48 8b 6f 20          	mov    0x20(%rdi),%rbp
140db626c:	48 2b 6f 18          	sub    0x18(%rdi),%rbp
140db6270:	48 c1 fd 02          	sar    $0x2,%rbp
140db6274:	33 d2                	xor    %edx,%edx
140db6276:	48 f7 f5             	div    %rbp
140db6279:	4c 8b da             	mov    %rdx,%r11
140db627c:	48 8b c3             	mov    %rbx,%rax
140db627f:	48 2b 47 30          	sub    0x30(%rdi),%rax
140db6283:	48 99                	cqto
140db6285:	49 f7 fa             	idiv   %r10
140db6288:	33 d2                	xor    %edx,%edx
140db628a:	f7 77 04             	divl   0x4(%rdi)
140db628d:	2b c1                	sub    %ecx,%eax
140db628f:	44 8b d0             	mov    %eax,%r10d
140db6292:	4c 3b d5             	cmp    %rbp,%r10
140db6295:	76 0c                	jbe    0x140db62a3
140db6297:	33 d2                	xor    %edx,%edx
140db6299:	41 8b c2             	mov    %r10d,%eax
140db629c:	48 f7 f5             	div    %rbp
140db629f:	4c 8d 14 2a          	lea    (%rdx,%rbp,1),%r10
140db62a3:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140db62a9:	4d 3b ca             	cmp    %r10,%r9
140db62ac:	77 30                	ja     0x140db62de
140db62ae:	33 ed                	xor    %ebp,%ebp
140db62b0:	4c 8b 47 18          	mov    0x18(%rdi),%r8
140db62b4:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140db62b8:	49 2b c8             	sub    %r8,%rcx
140db62bb:	48 c1 f9 02          	sar    $0x2,%rcx
140db62bf:	4b 8d 04 19          	lea    (%r9,%r11,1),%rax
140db62c3:	33 d2                	xor    %edx,%edx
140db62c5:	48 f7 f1             	div    %rcx
140db62c8:	8b 47 0c             	mov    0xc(%rdi),%eax
140db62cb:	41 2b 04 90          	sub    (%r8,%rdx,4),%eax
140db62cf:	89 47 0c             	mov    %eax,0xc(%rdi)
140db62d2:	41 89 2c 90          	mov    %ebp,(%r8,%rdx,4)
140db62d6:	49 ff c1             	inc    %r9
140db62d9:	4d 3b ca             	cmp    %r10,%r9
140db62dc:	76 d2                	jbe    0x140db62b0
140db62de:	8b 47 0c             	mov    0xc(%rdi),%eax
140db62e1:	3b 07                	cmp    (%rdi),%eax
140db62e3:	73 22                	jae    0x140db6307
140db62e5:	41 03 c7             	add    %r15d,%eax
140db62e8:	89 47 0c             	mov    %eax,0xc(%rdi)
140db62eb:	4c 8b 47 18          	mov    0x18(%rdi),%r8
140db62ef:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140db62f3:	49 2b c8             	sub    %r8,%rcx
140db62f6:	48 c1 f9 02          	sar    $0x2,%rcx
140db62fa:	4b 8d 04 1a          	lea    (%r10,%r11,1),%rax
140db62fe:	33 d2                	xor    %edx,%edx
140db6300:	48 f7 f1             	div    %rcx
140db6303:	45 01 3c 90          	add    %r15d,(%r8,%rdx,4)
140db6307:	8b 07                	mov    (%rdi),%eax
140db6309:	39 47 0c             	cmp    %eax,0xc(%rdi)
140db630c:	0f 93 c0             	setae  %al
140db630f:	88 06                	mov    %al,(%rsi)
140db6311:	41 32 c4             	xor    %r12b,%al
140db6314:	88 46 01             	mov    %al,0x1(%rsi)
140db6317:	8b 47 0c             	mov    0xc(%rdi),%eax
140db631a:	89 46 04             	mov    %eax,0x4(%rsi)
140db631d:	4d 85 d2             	test   %r10,%r10
140db6320:	74 04                	je     0x140db6326
140db6322:	48 89 5f 38          	mov    %rbx,0x38(%rdi)
140db6326:	4d 85 f6             	test   %r14,%r14
140db6329:	74 0a                	je     0x140db6335
140db632b:	49 8b ce             	mov    %r14,%rcx
140db632e:	ff 15 dc d3 1c 00    	call   *0x1cd3dc(%rip)        # 0x140f83710
140db6334:	90                   	nop
140db6335:	48 8b c6             	mov    %rsi,%rax
140db6338:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140db633d:	48 33 cc             	xor    %rsp,%rcx
140db6340:	e8 bb 51 06 00       	call   0x140e1b500
140db6345:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140db634a:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140db634f:	48 83 c4 30          	add    $0x30,%rsp
140db6353:	41 5f                	pop    %r15
140db6355:	41 5e                	pop    %r14
140db6357:	41 5c                	pop    %r12
140db6359:	5f                   	pop    %rdi
140db635a:	5e                   	pop    %rsi
140db635b:	c3                   	ret
140db635c:	cc                   	int3
140db635d:	cc                   	int3
140db635e:	cc                   	int3
140db635f:	cc                   	int3
140db6360:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140db6365:	55                   	push   %rbp
140db6366:	56                   	push   %rsi
140db6367:	57                   	push   %rdi
140db6368:	41 54                	push   %r12
140db636a:	41 55                	push   %r13
140db636c:	41 56                	push   %r14
140db636e:	41 57                	push   %r15
140db6370:	48 83 ec 30          	sub    $0x30,%rsp
140db6374:	49 8b e8             	mov    %r8,%rbp
140db6377:	4c 8b fa             	mov    %rdx,%r15
140db637a:	4c 8b f1             	mov    %rcx,%r14
140db637d:	0f ae e8             	lfence
140db6380:	41 0f b6 30          	movzbl (%r8),%esi
140db6384:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140db638b:	9c f2 cb
140db638e:	48 33 f0             	xor    %rax,%rsi
140db6391:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140db6398:	01 00 00
140db639b:	48 0f af f1          	imul   %rcx,%rsi
140db639f:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140db63a4:	48 33 f0             	xor    %rax,%rsi
140db63a7:	48 0f af f1          	imul   %rcx,%rsi
140db63ab:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140db63b0:	48 33 f0             	xor    %rax,%rsi
140db63b3:	48 0f af f1          	imul   %rcx,%rsi
140db63b7:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140db63bc:	48 33 f0             	xor    %rax,%rsi
140db63bf:	48 0f af f1          	imul   %rcx,%rsi
140db63c3:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140db63c8:	48 33 f0             	xor    %rax,%rsi
140db63cb:	48 0f af f1          	imul   %rcx,%rsi
140db63cf:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140db63d4:	48 33 f0             	xor    %rax,%rsi
140db63d7:	48 0f af f1          	imul   %rcx,%rsi
140db63db:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140db63e0:	48 33 f0             	xor    %rax,%rsi
140db63e3:	48 0f af f1          	imul   %rcx,%rsi
140db63e7:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140db63ec:	48 33 f0             	xor    %rax,%rsi
140db63ef:	48 0f af f1          	imul   %rcx,%rsi
140db63f3:	48 8b ce             	mov    %rsi,%rcx
140db63f6:	49 23 4e 30          	and    0x30(%r14),%rcx
140db63fa:	48 03 c9             	add    %rcx,%rcx
140db63fd:	49 8b 46 18          	mov    0x18(%r14),%rax
140db6401:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140db6406:	49 8d 56 08          	lea    0x8(%r14),%rdx
140db640a:	4c 8b 2a             	mov    (%rdx),%r13
140db640d:	49 3b dd             	cmp    %r13,%rbx
140db6410:	75 08                	jne    0x140db641a
140db6412:	49 8b dd             	mov    %r13,%rbx
140db6415:	4d 8b e5             	mov    %r13,%r12
140db6418:	eb 45                	jmp    0x140db645f
140db641a:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140db641e:	49 8b 00             	mov    (%r8),%rax
140db6421:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140db6425:	74 0f                	je     0x140db6436
140db6427:	48 3b d9             	cmp    %rcx,%rbx
140db642a:	74 2d                	je     0x140db6459
140db642c:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140db6430:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140db6434:	75 f1                	jne    0x140db6427
140db6436:	49 89 1f             	mov    %rbx,(%r15)
140db6439:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
140db643e:	49 8b c7             	mov    %r15,%rax
140db6441:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140db6448:	00
140db6449:	48 83 c4 30          	add    $0x30,%rsp
140db644d:	41 5f                	pop    %r15
140db644f:	41 5e                	pop    %r14
140db6451:	41 5d                	pop    %r13
140db6453:	41 5c                	pop    %r12
140db6455:	5f                   	pop    %rdi
140db6456:	5e                   	pop    %rsi
140db6457:	5d                   	pop    %rbp
140db6458:	c3                   	ret
140db6459:	4c 8b eb             	mov    %rbx,%r13
140db645c:	4c 8b e3             	mov    %rbx,%r12
140db645f:	48 b8 92 24 49 92 24 	movabs $0x492492492492492,%rax
140db6466:	49 92 04
140db6469:	49 39 46 10          	cmp    %rax,0x10(%r14)
140db646d:	0f 84 d4 01 00 00    	je     0x140db6647
140db6473:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140db6478:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140db647f:	00 00
140db6481:	0f ae e8             	lfence
140db6484:	b9 38 00 00 00       	mov    $0x38,%ecx
140db6489:	e8 7a 4c 06 00       	call   0x140e1b108
140db648e:	48 8b f8             	mov    %rax,%rdi
140db6491:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140db6496:	0f 10 45 00          	movups 0x0(%rbp),%xmm0
140db649a:	0f 11 40 10          	movups %xmm0,0x10(%rax)
140db649e:	0f 10 4d 10          	movups 0x10(%rbp),%xmm1
140db64a2:	0f 11 48 20          	movups %xmm1,0x20(%rax)
140db64a6:	f2 0f 10 45 20       	movsd  0x20(%rbp),%xmm0
140db64ab:	f2 0f 11 40 30       	movsd  %xmm0,0x30(%rax)
140db64b0:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140db64b4:	48 83 c1 01          	add    $0x1,%rcx
140db64b8:	0f 57 c0             	xorps  %xmm0,%xmm0
140db64bb:	78 07                	js     0x140db64c4
140db64bd:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140db64c2:	eb 15                	jmp    0x140db64d9
140db64c4:	48 8b c1             	mov    %rcx,%rax
140db64c7:	48 d1 e8             	shr    $1,%rax
140db64ca:	83 e1 01             	and    $0x1,%ecx
140db64cd:	48 0b c1             	or     %rcx,%rax
140db64d0:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140db64d5:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140db64d9:	49 8b 6e 38          	mov    0x38(%r14),%rbp
140db64dd:	f3 41 0f 10 1e       	movss  (%r14),%xmm3
140db64e2:	0f 57 d2             	xorps  %xmm2,%xmm2
140db64e5:	48 85 ed             	test   %rbp,%rbp
140db64e8:	78 07                	js     0x140db64f1
140db64ea:	f3 48 0f 2a d5       	cvtsi2ss %rbp,%xmm2
140db64ef:	eb 18                	jmp    0x140db6509
140db64f1:	48 8b cd             	mov    %rbp,%rcx
140db64f4:	48 d1 e9             	shr    $1,%rcx
140db64f7:	48 8b c5             	mov    %rbp,%rax
140db64fa:	83 e0 01             	and    $0x1,%eax
140db64fd:	48 0b c8             	or     %rax,%rcx
140db6500:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140db6505:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140db6509:	0f 28 c8             	movaps %xmm0,%xmm1
140db650c:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140db6510:	0f 2f cb             	comiss %xmm3,%xmm1
140db6513:	0f 86 c9 00 00 00    	jbe    0x140db65e2
140db6519:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140db651d:	e8 fe ab 07 00       	call   0x140e31120
140db6522:	33 c9                	xor    %ecx,%ecx
140db6524:	f3 0f 10 0d 38 81 1f 	movss  0x1f8138(%rip),%xmm1        # 0x140fae664
140db652b:	00
140db652c:	0f 2f c1             	comiss %xmm1,%xmm0
140db652f:	72 16                	jb     0x140db6547
140db6531:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140db6535:	0f 2f c1             	comiss %xmm1,%xmm0
140db6538:	73 0d                	jae    0x140db6547
140db653a:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140db6541:	00 00 80
140db6544:	48 8b c8             	mov    %rax,%rcx
140db6547:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140db654c:	48 03 c1             	add    %rcx,%rax
140db654f:	b9 08 00 00 00       	mov    $0x8,%ecx
140db6554:	48 3b c1             	cmp    %rcx,%rax
140db6557:	48 0f 47 c8          	cmova  %rax,%rcx
140db655b:	48 3b e9             	cmp    %rcx,%rbp
140db655e:	73 19                	jae    0x140db6579
140db6560:	48 81 fd 00 02 00 00 	cmp    $0x200,%rbp
140db6567:	73 0d                	jae    0x140db6576
140db6569:	48 8d 2c ed 00 00 00 	lea    0x0(,%rbp,8),%rbp
140db6570:	00
140db6571:	48 3b e9             	cmp    %rcx,%rbp
140db6574:	73 03                	jae    0x140db6579
140db6576:	48 8b e9             	mov    %rcx,%rbp
140db6579:	48 8b d5             	mov    %rbp,%rdx
140db657c:	49 8b ce             	mov    %r14,%rcx
140db657f:	e8 bc 6f 49 ff       	call   0x14024d540
140db6584:	48 8b ce             	mov    %rsi,%rcx
140db6587:	49 23 4e 30          	and    0x30(%r14),%rcx
140db658b:	48 03 c9             	add    %rcx,%rcx
140db658e:	49 8b 56 18          	mov    0x18(%r14),%rdx
140db6592:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140db6597:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140db659b:	48 3b c3             	cmp    %rbx,%rax
140db659e:	75 0b                	jne    0x140db65ab
140db65a0:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140db65a7:	00 00
140db65a9:	eb 2a                	jmp    0x140db65d5
140db65ab:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140db65af:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140db65b3:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140db65b7:	74 19                	je     0x140db65d2
140db65b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140db65c0:	48 8b d8             	mov    %rax,%rbx
140db65c3:	48 3b c2             	cmp    %rdx,%rax
140db65c6:	74 4b                	je     0x140db6613
140db65c8:	48 8b 40 08          	mov    0x8(%rax),%rax
140db65cc:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140db65d0:	75 ee                	jne    0x140db65c0
140db65d2:	48 8b 18             	mov    (%rax),%rbx
140db65d5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140db65da:	4c 8b e3             	mov    %rbx,%r12
140db65dd:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140db65e2:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140db65e6:	49 ff 46 10          	incq   0x10(%r14)