1400233f5:	66 0f 7e d9          	movd   %xmm3,%ecx
1400233f9:	8b d1                	mov    %ecx,%edx
1400233fb:	c1 ea 1f             	shr    $0x1f,%edx
1400233fe:	84 d2                	test   %dl,%dl
140023400:	74 23                	je     0x140023425
140023402:	49 3b f0             	cmp    %r8,%rsi
140023405:	75 10                	jne    0x140023417
140023407:	4c 89 03             	mov    %r8,(%rbx)
14002340a:	48 c7 43 08 84 00 00 	movq   $0x84,0x8(%rbx)
140023411:	00
140023412:	e9 b3 00 00 00       	jmp    0x1400234ca
140023417:	c6 06 2d             	movb   $0x2d,(%rsi)
14002341a:	48 ff c6             	inc    %rsi
14002341d:	0f ba f1 1f          	btr    $0x1f,%ecx
140023421:	66 0f 6e d9          	movd   %ecx,%xmm3
140023425:	41 b9 00 00 80 7f    	mov    $0x7f800000,%r9d
14002342b:	8b c1                	mov    %ecx,%eax
14002342d:	41 23 c1             	and    %r9d,%eax
140023430:	41 3b c1             	cmp    %r9d,%eax
140023433:	75 76                	jne    0x1400234ab
140023435:	81 e1 ff ff 7f 00    	and    $0x7fffff,%ecx
14002343b:	75 09                	jne    0x140023446
14002343d:	48 8d 15 00 c7 22 00 	lea    0x22c700(%rip),%rdx        # 0x14024fb44
140023444:	eb 26                	jmp    0x14002346c
140023446:	b8 00 00 40 00       	mov    $0x400000,%eax
14002344b:	84 d2                	test   %dl,%dl
14002344d:	74 12                	je     0x140023461
14002344f:	3b c8                	cmp    %eax,%ecx
140023451:	75 0e                	jne    0x140023461
140023453:	48 8d 15 fe c6 22 00 	lea    0x22c6fe(%rip),%rdx        # 0x14024fb58
14002345a:	bf 08 00 00 00       	mov    $0x8,%edi
14002345f:	eb 1e                	jmp    0x14002347f
140023461:	85 c8                	test   %ecx,%eax
140023463:	74 0e                	je     0x140023473
140023465:	48 8d 15 a4 ca 22 00 	lea    0x22caa4(%rip),%rdx        # 0x14024ff10
14002346c:	bf 03 00 00 00       	mov    $0x3,%edi
140023471:	eb 0c                	jmp    0x14002347f
140023473:	48 8d 15 ce c6 22 00 	lea    0x22c6ce(%rip),%rdx        # 0x14024fb48
14002347a:	bf 09 00 00 00       	mov    $0x9,%edi
14002347f:	49 8b c0             	mov    %r8,%rax
140023482:	48 2b c6             	sub    %rsi,%rax
140023485:	48 3b c7             	cmp    %rdi,%rax
140023488:	0f 8c 79 ff ff ff    	jl     0x140023407
14002348e:	4c 8b c7             	mov    %rdi,%r8
140023491:	48 8b ce             	mov    %rsi,%rcx
140023494:	e8 57 25 1e 00       	call   0x1402059f0
140023499:	83 63 08 00          	andl   $0x0,0x8(%rbx)
14002349d:	48 8d 04 37          	lea    (%rdi,%rsi,1),%rax
1400234a1:	48 89 03             	mov    %rax,(%rbx)
1400234a4:	33 c0                	xor    %eax,%eax
1400234a6:	89 43 0c             	mov    %eax,0xc(%rbx)
1400234a9:	eb 1f                	jmp    0x1400234ca
1400234ab:	8b 44 24 60          	mov    0x60(%rsp),%eax
1400234af:	48 8b d6             	mov    %rsi,%rdx
1400234b2:	48 8b cb             	mov    %rbx,%rcx
1400234b5:	83 f8 04             	cmp    $0x4,%eax
1400234b8:	75 07                	jne    0x1400234c1
1400234ba:	e8 0d fe ff ff       	call   0x1400232cc
1400234bf:	eb 09                	jmp    0x1400234ca
1400234c1:	89 44 24 20          	mov    %eax,0x20(%rsp)
1400234c5:	e8 d2 0c 00 00       	call   0x14002419c
1400234ca:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400234cf:	48 8b c3             	mov    %rbx,%rax
1400234d2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400234d7:	48 83 c4 30          	add    $0x30,%rsp
1400234db:	5f                   	pop    %rdi
1400234dc:	c3                   	ret
1400234dd:	90                   	nop
1400234de:	90                   	nop
1400234df:	90                   	nop
1400234e0:	40 53                	rex push %rbx
1400234e2:	55                   	push   %rbp
1400234e3:	56                   	push   %rsi
1400234e4:	57                   	push   %rdi
1400234e5:	41 54                	push   %r12
1400234e7:	41 55                	push   %r13
1400234e9:	41 56                	push   %r14
1400234eb:	41 57                	push   %r15
1400234ed:	48 83 ec 28          	sub    $0x28,%rsp
1400234f1:	45 33 d2             	xor    %r10d,%r10d
1400234f4:	44 8b c1             	mov    %ecx,%r8d
1400234f7:	41 bb 69 ff ff ff    	mov    $0xffffff69,%r11d
1400234fd:	85 d2                	test   %edx,%edx
1400234ff:	74 07                	je     0x140023508
140023501:	44 8d 9a 68 ff ff ff 	lea    -0x98(%rdx),%r11d
140023508:	41 8b c0             	mov    %r8d,%eax
14002350b:	44 89 9c 24 80 00 00 	mov    %r11d,0x80(%rsp)
140023512:	00
140023513:	0f ba e8 17          	bts    $0x17,%eax
140023517:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14002351d:	85 d2                	test   %edx,%edx
14002351f:	0f 45 c8             	cmovne %eax,%ecx
140023522:	44 8a e1             	mov    %cl,%r12b
140023525:	41 f6 d4             	not    %r12b
140023528:	45 22 e1             	and    %r9b,%r12b
14002352b:	44 88 64 24 70       	mov    %r12b,0x70(%rsp)
140023530:	44 8d 2c 8d 00 00 00 	lea    0x0(,%rcx,4),%r13d
140023537:	00
140023538:	41 8d 45 02          	lea    0x2(%r13),%eax
14002353c:	89 04 24             	mov    %eax,(%rsp)
14002353f:	45 85 c0             	test   %r8d,%r8d
140023542:	75 08                	jne    0x14002354c
140023544:	41 8b ca             	mov    %r10d,%ecx
140023547:	41 3b d1             	cmp    %r9d,%edx
14002354a:	77 03                	ja     0x14002354f
14002354c:	41 8b c9             	mov    %r9d,%ecx
14002354f:	8b f0                	mov    %eax,%esi
140023551:	41 8b ed             	mov    %r13d,%ebp
140023554:	2b e9                	sub    %ecx,%ebp
140023556:	89 8c 24 88 00 00 00 	mov    %ecx,0x88(%rsp)
14002355d:	41 2b e9             	sub    %r9d,%ebp
140023560:	41 8b dd             	mov    %r13d,%ebx
140023563:	8b c5                	mov    %ebp,%eax
140023565:	45 8a f2             	mov    %r10b,%r14b
140023568:	48 89 44 24 10       	mov    %rax,0x10(%rsp)
14002356d:	45 8a fa             	mov    %r10b,%r15b
140023570:	48 89 74 24 08       	mov    %rsi,0x8(%rsp)
140023575:	41 8a fa             	mov    %r10b,%dil
140023578:	48 8d 0d 81 ca fd ff 	lea    -0x2357f(%rip),%rcx        # 0x140000000
14002357f:	45 85 db             	test   %r11d,%r11d
140023582:	0f 88 a5 01 00 00    	js     0x14002372d
140023588:	45 69 cb 41 34 01 00 	imul   $0x13441,%r11d,%r9d
14002358f:	41 c1 e9 12          	shr    $0x12,%r9d
140023593:	41 69 c1 4f 93 12 00 	imul   $0x12934f,%r9d,%eax
14002359a:	44 89 4c 24 78       	mov    %r9d,0x78(%rsp)
14002359f:	4a 8b 8c c9 70 fb 24 	mov    0x24fb70(%rcx,%r9,8),%rcx
1400235a6:	00
1400235a7:	8b d1                	mov    %ecx,%edx
1400235a9:	4c 8b c1             	mov    %rcx,%r8
1400235ac:	c1 e8 13             	shr    $0x13,%eax
1400235af:	41 8d 49 1b          	lea    0x1b(%r9),%ecx
1400235b3:	41 2b c3             	sub    %r11d,%eax
1400235b6:	49 c1 e8 20          	shr    $0x20,%r8
1400235ba:	03 c8                	add    %eax,%ecx
1400235bc:	44 8b db             	mov    %ebx,%r11d
1400235bf:	4c 0f af da          	imul   %rdx,%r11
1400235c3:	48 0f af f2          	imul   %rdx,%rsi
1400235c7:	49 c1 eb 20          	shr    $0x20,%r11
1400235cb:	49 8b c0             	mov    %r8,%rax
1400235ce:	41 b9 cd cc cc cc    	mov    $0xcccccccd,%r9d
1400235d4:	48 0f af c3          	imul   %rbx,%rax
1400235d8:	48 c1 ee 20          	shr    $0x20,%rsi
1400235dc:	4c 03 d8             	add    %rax,%r11
1400235df:	8b dd                	mov    %ebp,%ebx
1400235e1:	48 0f af da          	imul   %rdx,%rbx
1400235e5:	49 8b c0             	mov    %r8,%rax
1400235e8:	49 d3 eb             	shr    %cl,%r11
1400235eb:	48 0f af 44 24 08    	imul   0x8(%rsp),%rax
1400235f1:	48 c1 eb 20          	shr    $0x20,%rbx
1400235f5:	48 03 f0             	add    %rax,%rsi
1400235f8:	8b c5                	mov    %ebp,%eax
1400235fa:	49 0f af c0          	imul   %r8,%rax
1400235fe:	44 8b 44 24 78       	mov    0x78(%rsp),%r8d
140023603:	48 03 d8             	add    %rax,%rbx
140023606:	48 d3 ee             	shr    %cl,%rsi
140023609:	48 d3 eb             	shr    %cl,%rbx
14002360c:	45 85 c0             	test   %r8d,%r8d
14002360f:	74 71                	je     0x140023682
140023611:	8d 4e ff             	lea    -0x1(%rsi),%ecx
140023614:	41 8b c1             	mov    %r9d,%eax
140023617:	f7 e1                	mul    %ecx
140023619:	41 8b c1             	mov    %r9d,%eax
14002361c:	8b ca                	mov    %edx,%ecx
14002361e:	f7 e3                	mul    %ebx
140023620:	c1 e9 03             	shr    $0x3,%ecx
140023623:	c1 ea 03             	shr    $0x3,%edx
140023626:	3b ca                	cmp    %edx,%ecx
140023628:	77 58                	ja     0x140023682
14002362a:	41 8d 50 ff          	lea    -0x1(%r8),%edx
14002362e:	41 8b c5             	mov    %r13d,%eax
140023631:	48 8d 3d c8 c9 fd ff 	lea    -0x23638(%rip),%rdi        # 0x140000000
140023638:	48 8b 8c d7 70 fb 24 	mov    0x24fb70(%rdi,%rdx,8),%rcx
14002363f:	00
140023640:	8b f9                	mov    %ecx,%edi
140023642:	48 0f af f8          	imul   %rax,%rdi
140023646:	48 c1 e9 20          	shr    $0x20,%rcx
14002364a:	48 0f af c8          	imul   %rax,%rcx
14002364e:	48 c1 ef 20          	shr    $0x20,%rdi
140023652:	41 8b c1             	mov    %r9d,%eax
140023655:	48 03 f9             	add    %rcx,%rdi
140023658:	69 ca 4f 93 12 00    	imul   $0x12934f,%edx,%ecx
14002365e:	c1 e9 13             	shr    $0x13,%ecx
140023661:	2b 8c 24 80 00 00 00 	sub    0x80(%rsp),%ecx
140023668:	83 c1 1a             	add    $0x1a,%ecx
14002366b:	41 03 c8             	add    %r8d,%ecx
14002366e:	48 d3 ef             	shr    %cl,%rdi
140023671:	f7 e7                	mul    %edi
140023673:	c1 ea 03             	shr    $0x3,%edx
140023676:	8a c2                	mov    %dl,%al
140023678:	c0 e0 02             	shl    $0x2,%al
14002367b:	02 d0                	add    %al,%dl
14002367d:	02 d2                	add    %dl,%dl
14002367f:	40 2a fa             	sub    %dl,%dil
140023682:	41 83 f8 09          	cmp    $0x9,%r8d
140023686:	0f 87 f7 01 00 00    	ja     0x140023883
14002368c:	41 8b c1             	mov    %r9d,%eax
14002368f:	41 f7 e5             	mul    %r13d
140023692:	c1 ea 02             	shr    $0x2,%edx
140023695:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140023698:	44 3b e8             	cmp    %eax,%r13d
14002369b:	75 25                	jne    0x1400236c2
14002369d:	41 8b ea             	mov    %r10d,%ebp
1400236a0:	8b ca                	mov    %edx,%ecx
1400236a2:	41 8b c1             	mov    %r9d,%eax
1400236a5:	f7 e2                	mul    %edx
1400236a7:	ff c5                	inc    %ebp
1400236a9:	c1 ea 02             	shr    $0x2,%edx
1400236ac:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1400236af:	3b c8                	cmp    %eax,%ecx
1400236b1:	74 ed                	je     0x1400236a0
1400236b3:	41 3b e8             	cmp    %r8d,%ebp
1400236b6:	41 8b ea             	mov    %r10d,%ebp
1400236b9:	41 0f 93 c7          	setae  %r15b
1400236bd:	e9 c9 01 00 00       	jmp    0x14002388b
1400236c2:	41 8b c1             	mov    %r9d,%eax
1400236c5:	45 84 e4             	test   %r12b,%r12b
1400236c8:	74 2f                	je     0x1400236f9
1400236ca:	f7 e5                	mul    %ebp
1400236cc:	45 8b f2             	mov    %r10d,%r14d
1400236cf:	c1 ea 02             	shr    $0x2,%edx
1400236d2:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1400236d5:	3b e8                	cmp    %eax,%ebp
1400236d7:	75 14                	jne    0x1400236ed
1400236d9:	8b ca                	mov    %edx,%ecx
1400236db:	41 8b c1             	mov    %r9d,%eax
1400236de:	f7 e2                	mul    %edx
1400236e0:	41 ff c6             	inc    %r14d
1400236e3:	c1 ea 02             	shr    $0x2,%edx
1400236e6:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1400236e9:	3b c8                	cmp    %eax,%ecx
1400236eb:	74 ec                	je     0x1400236d9
1400236ed:	45 3b f0             	cmp    %r8d,%r14d
1400236f0:	41 0f 93 c6          	setae  %r14b
1400236f4:	e9 8a 01 00 00       	jmp    0x140023883
1400236f9:	f7 24 24             	mull   (%rsp)
1400236fc:	41 8b ea             	mov    %r10d,%ebp
1400236ff:	c1 ea 02             	shr    $0x2,%edx
140023702:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140023705:	39 04 24             	cmp    %eax,(%rsp)
140023708:	75 13                	jne    0x14002371d
14002370a:	8b ca                	mov    %edx,%ecx
14002370c:	41 8b c1             	mov    %r9d,%eax
14002370f:	f7 e2                	mul    %edx
140023711:	ff c5                	inc    %ebp
140023713:	c1 ea 02             	shr    $0x2,%edx
140023716:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140023719:	3b c8                	cmp    %eax,%ecx
14002371b:	74 ed                	je     0x14002370a
14002371d:	41 3b e8             	cmp    %r8d,%ebp
140023720:	41 8b c2             	mov    %r10d,%eax
140023723:	0f 93 c0             	setae  %al
140023726:	2b f0                	sub    %eax,%esi
140023728:	e9 56 01 00 00       	jmp    0x140023883
14002372d:	41 69 eb 05 d1 f4 ff 	imul   $0xfff4d105,%r11d,%ebp
140023734:	c1 ed 14             	shr    $0x14,%ebp
140023737:	41 8d 04 2b          	lea    (%r11,%rbp,1),%eax
14002373b:	4c 8b db             	mov    %rbx,%r11
14002373e:	89 44 24 78          	mov    %eax,0x78(%rsp)
140023742:	f7 d8                	neg    %eax
140023744:	69 d0 4f 93 12 00    	imul   $0x12934f,%eax,%edx
14002374a:	89 84 24 80 00 00 00 	mov    %eax,0x80(%rsp)
140023751:	48 8b 8c c1 70 fc 24 	mov    0x24fc70(%rcx,%rax,8),%rcx
140023758:	00
140023759:	44 8b c1             	mov    %ecx,%r8d
14002375c:	4c 8b c9             	mov    %rcx,%r9
14002375f:	8b c2                	mov    %edx,%eax
140023761:	49 c1 e9 20          	shr    $0x20,%r9
140023765:	c1 e8 13             	shr    $0x13,%eax
140023768:	8b cd                	mov    %ebp,%ecx
14002376a:	2b c8                	sub    %eax,%ecx
14002376c:	89 14 24             	mov    %edx,(%rsp)
14002376f:	4d 0f af d8          	imul   %r8,%r11
140023773:	83 c1 1c             	add    $0x1c,%ecx
140023776:	49 8b c1             	mov    %r9,%rax
140023779:	48 0f af c3          	imul   %rbx,%rax
14002377d:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140023782:	48 8b d6             	mov    %rsi,%rdx
140023785:	49 0f af d0          	imul   %r8,%rdx
140023789:	49 c1 eb 20          	shr    $0x20,%r11
14002378d:	4c 03 d8             	add    %rax,%r11
140023790:	48 c1 ea 20          	shr    $0x20,%rdx
140023794:	49 8b c1             	mov    %r9,%rax
140023797:	49 d3 eb             	shr    %cl,%r11
14002379a:	48 0f af c6          	imul   %rsi,%rax
14002379e:	48 03 d0             	add    %rax,%rdx
1400237a1:	48 8b c3             	mov    %rbx,%rax
1400237a4:	49 0f af d9          	imul   %r9,%rbx
1400237a8:	49 0f af c0          	imul   %r8,%rax
1400237ac:	48 d3 ea             	shr    %cl,%rdx
1400237af:	41 b9 cd cc cc cc    	mov    $0xcccccccd,%r9d
1400237b5:	48 89 54 24 08       	mov    %rdx,0x8(%rsp)
1400237ba:	8b f2                	mov    %edx,%esi
1400237bc:	48 c1 e8 20          	shr    $0x20,%rax
1400237c0:	48 03 d8             	add    %rax,%rbx
1400237c3:	48 d3 eb             	shr    %cl,%rbx
1400237c6:	85 ed                	test   %ebp,%ebp
1400237c8:	74 7c                	je     0x140023846
1400237ca:	8d 4a ff             	lea    -0x1(%rdx),%ecx
1400237cd:	41 8b c1             	mov    %r9d,%eax
1400237d0:	f7 e1                	mul    %ecx
1400237d2:	41 8b c1             	mov    %r9d,%eax
1400237d5:	8b ca                	mov    %edx,%ecx
1400237d7:	f7 e3                	mul    %ebx
1400237d9:	c1 e9 03             	shr    $0x3,%ecx
1400237dc:	c1 ea 03             	shr    $0x3,%edx
1400237df:	3b ca                	cmp    %edx,%ecx
1400237e1:	77 5e                	ja     0x140023841
1400237e3:	8b 84 24 80 00 00 00 	mov    0x80(%rsp),%eax
1400237ea:	48 8d 3d 0f c8 fd ff 	lea    -0x237f1(%rip),%rdi        # 0x140000000
1400237f1:	ff c0                	inc    %eax
1400237f3:	41 8b cd             	mov    %r13d,%ecx
1400237f6:	48 8b 84 c7 70 fc 24 	mov    0x24fc70(%rdi,%rax,8),%rax
1400237fd:	00
1400237fe:	44 8b c0             	mov    %eax,%r8d
140023801:	48 c1 e8 20          	shr    $0x20,%rax
140023805:	48 0f af c1          	imul   %rcx,%rax
140023809:	4c 0f af c1          	imul   %rcx,%r8
14002380d:	8b cd                	mov    %ebp,%ecx
14002380f:	49 c1 e8 20          	shr    $0x20,%r8
140023813:	4c 03 c0             	add    %rax,%r8
140023816:	8b 04 24             	mov    (%rsp),%eax
140023819:	05 4f 93 12 00       	add    $0x12934f,%eax
14002381e:	c1 e8 13             	shr    $0x13,%eax
140023821:	2b c8                	sub    %eax,%ecx
140023823:	41 8b c1             	mov    %r9d,%eax
140023826:	83 c1 1b             	add    $0x1b,%ecx
140023829:	49 d3 e8             	shr    %cl,%r8
14002382c:	41 f7 e0             	mul    %r8d
14002382f:	c1 ea 03             	shr    $0x3,%edx
140023832:	8a c2                	mov    %dl,%al
140023834:	c0 e0 02             	shl    $0x2,%al
140023837:	02 d0                	add    %al,%dl
140023839:	02 d2                	add    %dl,%dl
14002383b:	44 2a c2             	sub    %dl,%r8b
14002383e:	41 8a f8             	mov    %r8b,%dil
140023841:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
140023846:	83 fd 01             	cmp    $0x1,%ebp
140023849:	77 20                	ja     0x14002386b
14002384b:	45 84 e4             	test   %r12b,%r12b
14002384e:	8d 46 ff             	lea    -0x1(%rsi),%eax
140023851:	41 b7 01             	mov    $0x1,%r15b
140023854:	0f 44 d0             	cmove  %eax,%edx
140023857:	41 8a c4             	mov    %r12b,%al
14002385a:	f6 d8                	neg    %al
14002385c:	8b f2                	mov    %edx,%esi
14002385e:	45 1a f6             	sbb    %r14b,%r14b
140023861:	44 22 b4 24 88 00 00 	and    0x88(%rsp),%r14b
140023868:	00
140023869:	eb 18                	jmp    0x140023883
14002386b:	83 fd 1f             	cmp    $0x1f,%ebp