1801114a4:	8b c2                	mov    %edx,%eax
1801114a6:	85 d2                	test   %edx,%edx
1801114a8:	78 0c                	js     0x1801114b6
1801114aa:	99                   	cltd
1801114ab:	83 e2 3f             	and    $0x3f,%edx
1801114ae:	8d 1c 02             	lea    (%rdx,%rax,1),%ebx
1801114b1:	c1 fb 06             	sar    $0x6,%ebx
1801114b4:	eb 0b                	jmp    0x1801114c1
1801114b6:	f7 d8                	neg    %eax
1801114b8:	48 63 d8             	movslq %eax,%rbx
1801114bb:	48 c1 eb 06          	shr    $0x6,%rbx
1801114bf:	f7 db                	neg    %ebx
1801114c1:	8b c3                	mov    %ebx,%eax
1801114c3:	c1 e0 06             	shl    $0x6,%eax
1801114c6:	44 2b d0             	sub    %eax,%r10d
1801114c9:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1801114ce:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1801114d3:	41 8b d2             	mov    %r10d,%edx
1801114d6:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1801114db:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1801114e0:	e8 83 00 00 00       	call   0x180111568
1801114e5:	85 c0                	test   %eax,%eax
1801114e7:	74 6a                	je     0x180111553
1801114e9:	b9 01 00 00 00       	mov    $0x1,%ecx
1801114ee:	85 db                	test   %ebx,%ebx
1801114f0:	79 2e                	jns    0x180111520
1801114f2:	f7 db                	neg    %ebx
1801114f4:	33 d2                	xor    %edx,%edx
1801114f6:	4c 63 c3             	movslq %ebx,%r8
1801114f9:	48 85 ff             	test   %rdi,%rdi
1801114fc:	74 57                	je     0x180111555
1801114fe:	4a 8d 04 02          	lea    (%rdx,%r8,1),%rax
180111502:	48 3b c7             	cmp    %rdi,%rax
180111505:	73 06                	jae    0x18011150d
180111507:	4a 8b 04 c6          	mov    (%rsi,%r8,8),%rax
18011150b:	eb 02                	jmp    0x18011150f
18011150d:	33 c0                	xor    %eax,%eax
18011150f:	48 89 06             	mov    %rax,(%rsi)
180111512:	48 03 d1             	add    %rcx,%rdx
180111515:	48 83 c6 08          	add    $0x8,%rsi
180111519:	48 3b d7             	cmp    %rdi,%rdx
18011151c:	75 e0                	jne    0x1801114fe
18011151e:	eb 35                	jmp    0x180111555
180111520:	7e 33                	jle    0x180111555
180111522:	4c 63 cb             	movslq %ebx,%r9
180111525:	48 85 ff             	test   %rdi,%rdi
180111528:	74 2b                	je     0x180111555
18011152a:	49 8b d1             	mov    %r9,%rdx
18011152d:	48 8d 04 fe          	lea    (%rsi,%rdi,8),%rax
180111531:	48 f7 da             	neg    %rdx
180111534:	48 2b f9             	sub    %rcx,%rdi
180111537:	48 8d 40 f8          	lea    -0x8(%rax),%rax
18011153b:	49 3b f9             	cmp    %r9,%rdi
18011153e:	72 06                	jb     0x180111546
180111540:	4c 8b 04 d0          	mov    (%rax,%rdx,8),%r8
180111544:	eb 03                	jmp    0x180111549
180111546:	45 33 c0             	xor    %r8d,%r8d
180111549:	4c 89 00             	mov    %r8,(%rax)
18011154c:	48 85 ff             	test   %rdi,%rdi
18011154f:	75 e3                	jne    0x180111534
180111551:	eb 02                	jmp    0x180111555
180111553:	33 c9                	xor    %ecx,%ecx
180111555:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18011155a:	8b c1                	mov    %ecx,%eax
18011155c:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
180111561:	48 83 c4 40          	add    $0x40,%rsp
180111565:	5f                   	pop    %rdi
180111566:	c3                   	ret
180111567:	cc                   	int3
180111568:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011156d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180111572:	57                   	push   %rdi
180111573:	48 83 ec 20          	sub    $0x20,%rsp
180111577:	8b c2                	mov    %edx,%eax
180111579:	4d 8b d8             	mov    %r8,%r11
18011157c:	44 8b c2             	mov    %edx,%r8d
18011157f:	bf 01 00 00 00       	mov    $0x1,%edi
180111584:	99                   	cltd
180111585:	33 db                	xor    %ebx,%ebx
180111587:	33 c2                	xor    %edx,%eax
180111589:	4c 8b d1             	mov    %rcx,%r10
18011158c:	2b c2                	sub    %edx,%eax
18011158e:	8d 57 3f             	lea    0x3f(%rdi),%edx
180111591:	3b c2                	cmp    %edx,%eax
180111593:	7e 1c                	jle    0x1801115b1
180111595:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
18011159a:	33 ff                	xor    %edi,%edi
18011159c:	48 85 c0             	test   %rax,%rax
18011159f:	0f 84 fb 00 00 00    	je     0x1801116a0
1801115a5:	c7 40 10 06 00 00 00 	movl   $0x6,0x10(%rax)
1801115ac:	e9 ef 00 00 00       	jmp    0x1801116a0
1801115b1:	4d 85 c9             	test   %r9,%r9
1801115b4:	0f 84 de 00 00 00    	je     0x180111698
1801115ba:	45 85 c0             	test   %r8d,%r8d
1801115bd:	7e 5a                	jle    0x180111619
1801115bf:	44 3b c2             	cmp    %edx,%r8d
1801115c2:	75 2b                	jne    0x1801115ef
1801115c4:	4a 8b 5c c9 f8       	mov    -0x8(%rcx,%r9,8),%rbx
1801115c9:	4c 2b cf             	sub    %rdi,%r9
1801115cc:	74 18                	je     0x1801115e6
1801115ce:	4b 8d 0c cb          	lea    (%r11,%r9,8),%rcx
1801115d2:	4d 2b d3             	sub    %r11,%r10
1801115d5:	49 8b 44 0a f8       	mov    -0x8(%r10,%rcx,1),%rax
1801115da:	48 89 01             	mov    %rax,(%rcx)
1801115dd:	48 8d 49 f8          	lea    -0x8(%rcx),%rcx
1801115e1:	4c 2b cf             	sub    %rdi,%r9
1801115e4:	75 ef                	jne    0x1801115d5
1801115e6:	49 83 23 00          	andq   $0x0,(%r11)
1801115ea:	e9 a9 00 00 00       	jmp    0x180111698
1801115ef:	41 2b d0             	sub    %r8d,%edx
1801115f2:	4d 2b d3             	sub    %r11,%r10
1801115f5:	4b 8b 04 13          	mov    (%r11,%r10,1),%rax
1801115f9:	41 8b c8             	mov    %r8d,%ecx
1801115fc:	48 d3 e0             	shl    %cl,%rax
1801115ff:	8b ca                	mov    %edx,%ecx
180111601:	48 0b c3             	or     %rbx,%rax
180111604:	4b 8b 1c 13          	mov    (%r11,%r10,1),%rbx
180111608:	48 d3 eb             	shr    %cl,%rbx
18011160b:	49 89 03             	mov    %rax,(%r11)
18011160e:	4d 8d 5b 08          	lea    0x8(%r11),%r11
180111612:	4c 2b cf             	sub    %rdi,%r9
180111615:	75 de                	jne    0x1801115f5
180111617:	eb 7f                	jmp    0x180111698
180111619:	79 6b                	jns    0x180111686
18011161b:	41 83 f8 c0          	cmp    $0xffffffc0,%r8d
18011161f:	75 2f                	jne    0x180111650
180111621:	48 8b 19             	mov    (%rcx),%rbx
180111624:	4c 3b cf             	cmp    %rdi,%r9
180111627:	74 1f                	je     0x180111648
180111629:	48 83 c1 08          	add    $0x8,%rcx
18011162d:	4d 8d 41 ff          	lea    -0x1(%r9),%r8
180111631:	49 8b d3             	mov    %r11,%rdx
180111634:	49 2b d2             	sub    %r10,%rdx
180111637:	48 8b 01             	mov    (%rcx),%rax
18011163a:	48 89 44 0a f8       	mov    %rax,-0x8(%rdx,%rcx,1)
18011163f:	48 8d 49 08          	lea    0x8(%rcx),%rcx
180111643:	4c 2b c7             	sub    %rdi,%r8
180111646:	75 ef                	jne    0x180111637
180111648:	4b 83 64 cb f8 00    	andq   $0x0,-0x8(%r11,%r9,8)
18011164e:	eb 48                	jmp    0x180111698
180111650:	41 8b f0             	mov    %r8d,%esi
180111653:	41 8d 50 40          	lea    0x40(%r8),%edx
180111657:	f7 de                	neg    %esi
180111659:	4f 8d 04 cb          	lea    (%r11,%r9,8),%r8
18011165d:	4d 2b d3             	sub    %r11,%r10
180111660:	4d 8d 40 f8          	lea    -0x8(%r8),%r8
180111664:	8b ce                	mov    %esi,%ecx
180111666:	4b 8b 04 10          	mov    (%r8,%r10,1),%rax
18011166a:	48 d3 e8             	shr    %cl,%rax
18011166d:	8b ca                	mov    %edx,%ecx
18011166f:	48 0b c3             	or     %rbx,%rax
180111672:	4b 8b 1c 10          	mov    (%r8,%r10,1),%rbx
180111676:	48 d3 e3             	shl    %cl,%rbx
180111679:	49 89 00             	mov    %rax,(%r8)
18011167c:	4c 2b cf             	sub    %rdi,%r9
18011167f:	75 df                	jne    0x180111660
180111681:	48 d3 eb             	shr    %cl,%rbx
180111684:	eb 12                	jmp    0x180111698
180111686:	4d 8b c1             	mov    %r9,%r8
180111689:	49 8b d2             	mov    %r10,%rdx
18011168c:	49 c1 e0 03          	shl    $0x3,%r8
180111690:	49 8b cb             	mov    %r11,%rcx
180111693:	e8 28 43 02 00       	call   0x1801359c0
180111698:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
18011169d:	48 89 19             	mov    %rbx,(%rcx)
1801116a0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1801116a5:	8b c7                	mov    %edi,%eax
1801116a7:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1801116ac:	48 83 c4 20          	add    $0x20,%rsp
1801116b0:	5f                   	pop    %rdi
1801116b1:	c3                   	ret
1801116b2:	cc                   	int3
1801116b3:	cc                   	int3
1801116b4:	40 53                	rex push %rbx
1801116b6:	55                   	push   %rbp
1801116b7:	56                   	push   %rsi
1801116b8:	57                   	push   %rdi
1801116b9:	41 54                	push   %r12
1801116bb:	41 56                	push   %r14
1801116bd:	41 57                	push   %r15
1801116bf:	48 83 ec 30          	sub    $0x30,%rsp
1801116c3:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
1801116ca:	00
1801116cb:	4d 8b d9             	mov    %r9,%r11
1801116ce:	4c 8b ca             	mov    %rdx,%r9
1801116d1:	49 8b c0             	mov    %r8,%rax
1801116d4:	49 c1 e1 06          	shl    $0x6,%r9
1801116d8:	41 b8 00 01 00 00    	mov    $0x100,%r8d
1801116de:	48 8b f1             	mov    %rcx,%rsi
1801116e1:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
1801116e8:	00
1801116e9:	bf 01 00 00 00       	mov    $0x1,%edi
1801116ee:	4d 3b c8             	cmp    %r8,%r9
1801116f1:	75 1f                	jne    0x180111712
1801116f3:	4d 8b cb             	mov    %r11,%r9
1801116f6:	49 c1 e1 06          	shl    $0x6,%r9
1801116fa:	4d 3b c8             	cmp    %r8,%r9
1801116fd:	75 13                	jne    0x180111712
1801116ff:	4c 8b c0             	mov    %rax,%r8
180111702:	48 8b d6             	mov    %rsi,%rdx
180111705:	49 8b ca             	mov    %r10,%rcx
180111708:	e8 93 17 02 00       	call   0x180132ea0
18011170d:	e9 c4 00 00 00       	jmp    0x1801117d6
180111712:	49 3b d3             	cmp    %r11,%rdx
180111715:	4d 8b c3             	mov    %r11,%r8
180111718:	48 8b da             	mov    %rdx,%rbx
18011171b:	4c 8b f0             	mov    %rax,%r14
18011171e:	4c 8b fe             	mov    %rsi,%r15
180111721:	4c 0f 46 c2          	cmovbe %rdx,%r8
180111725:	49 0f 46 db          	cmovbe %r11,%rbx
180111729:	4c 0f 46 f6          	cmovbe %rsi,%r14
18011172d:	4c 0f 46 f8          	cmovbe %rax,%r15
180111731:	49 3b f2             	cmp    %r10,%rsi
180111734:	0f 84 8e 00 00 00    	je     0x1801117c8
18011173a:	49 3b c2             	cmp    %r10,%rax
18011173d:	0f 84 85 00 00 00    	je     0x1801117c8
180111743:	4d 85 c0             	test   %r8,%r8
180111746:	75 13                	jne    0x18011175b
180111748:	4c 8b c3             	mov    %rbx,%r8
18011174b:	33 d2                	xor    %edx,%edx
18011174d:	49 c1 e0 03          	shl    $0x3,%r8
180111751:	49 8b ca             	mov    %r10,%rcx
180111754:	e8 27 45 02 00       	call   0x180135c80
180111759:	eb 7b                	jmp    0x1801117d6
18011175b:	4d 8b 26             	mov    (%r14),%r12
18011175e:	45 33 c9             	xor    %r9d,%r9d
180111761:	48 85 db             	test   %rbx,%rbx
180111764:	74 2d                	je     0x180111793
180111766:	4d 8b df             	mov    %r15,%r11
180111769:	49 8b f2             	mov    %r10,%rsi
18011176c:	4d 2b da             	sub    %r10,%r11
18011176f:	48 8b eb             	mov    %rbx,%rbp
180111772:	49 8b 04 33          	mov    (%r11,%rsi,1),%rax
180111776:	49 f7 e4             	mul    %r12
180111779:	4a 8d 0c 08          	lea    (%rax,%r9,1),%rcx
18011177d:	49 3b c9             	cmp    %r9,%rcx
180111780:	48 89 0e             	mov    %rcx,(%rsi)
180111783:	4c 8b ca             	mov    %rdx,%r9
180111786:	48 8d 76 08          	lea    0x8(%rsi),%rsi
18011178a:	49 83 d1 00          	adc    $0x0,%r9
18011178e:	48 2b ef             	sub    %rdi,%rbp
180111791:	75 df                	jne    0x180111772
180111793:	4d 89 0c da          	mov    %r9,(%r10,%rbx,8)
180111797:	4c 3b c7             	cmp    %rdi,%r8
18011179a:	74 3a                	je     0x1801117d6
18011179c:	49 8d 72 08          	lea    0x8(%r10),%rsi
1801117a0:	4d 2b f2             	sub    %r10,%r14
1801117a3:	49 8d 68 ff          	lea    -0x1(%r8),%rbp
1801117a7:	49 8b 14 36          	mov    (%r14,%rsi,1),%rdx
1801117ab:	4c 8b cb             	mov    %rbx,%r9
1801117ae:	4c 8b c6             	mov    %rsi,%r8
1801117b1:	49 8b cf             	mov    %r15,%rcx
1801117b4:	e8 13 fc ff ff       	call   0x1801113cc
1801117b9:	48 89 04 de          	mov    %rax,(%rsi,%rbx,8)
1801117bd:	48 83 c6 08          	add    $0x8,%rsi
1801117c1:	48 2b ef             	sub    %rdi,%rbp
1801117c4:	75 e1                	jne    0x1801117a7
1801117c6:	eb 0e                	jmp    0x1801117d6
1801117c8:	33 ff                	xor    %edi,%edi
1801117ca:	48 85 c9             	test   %rcx,%rcx
1801117cd:	74 07                	je     0x1801117d6
1801117cf:	c7 41 10 0e 00 00 00 	movl   $0xe,0x10(%rcx)
1801117d6:	8b c7                	mov    %edi,%eax
1801117d8:	48 83 c4 30          	add    $0x30,%rsp
1801117dc:	41 5f                	pop    %r15
1801117de:	41 5e                	pop    %r14
1801117e0:	41 5c                	pop    %r12
1801117e2:	5f                   	pop    %rdi
1801117e3:	5e                   	pop    %rsi
1801117e4:	5d                   	pop    %rbp
1801117e5:	5b                   	pop    %rbx
1801117e6:	c3                   	ret
1801117e7:	cc                   	int3
1801117e8:	48 8b c4             	mov    %rsp,%rax
1801117eb:	48 89 58 08          	mov    %rbx,0x8(%rax)
1801117ef:	48 89 68 10          	mov    %rbp,0x10(%rax)
1801117f3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1801117f7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1801117fb:	4d 8d 51 3f          	lea    0x3f(%r9),%r10
1801117ff:	48 8b fa             	mov    %rdx,%rdi
180111802:	49 8d 69 07          	lea    0x7(%r9),%rbp
180111806:	49 c1 ea 06          	shr    $0x6,%r10
18011180a:	48 c1 ed 03          	shr    $0x3,%rbp
18011180e:	48 8b f1             	mov    %rcx,%rsi
180111811:	b8 01 00 00 00       	mov    $0x1,%eax
180111816:	48 85 c9             	test   %rcx,%rcx
180111819:	0f 84 bb 00 00 00    	je     0x1801118da
18011181f:	48 85 d2             	test   %rdx,%rdx
180111822:	0f 84 b2 00 00 00    	je     0x1801118da
180111828:	41 83 f8 0b          	cmp    $0xb,%r8d
18011182c:	74 69                	je     0x180111897
18011182e:	41 83 f8 0d          	cmp    $0xd,%r8d
180111832:	74 1c                	je     0x180111850
180111834:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
180111839:	33 c0                	xor    %eax,%eax
18011183b:	48 85 c9             	test   %rcx,%rcx
18011183e:	0f 84 a9 00 00 00    	je     0x1801118ed
180111844:	c7 41 10 06 00 00 00 	movl   $0x6,0x10(%rcx)
18011184b:	e9 9d 00 00 00       	jmp    0x1801118ed
180111850:	4d 85 d2             	test   %r10,%r10
180111853:	0f 84 94 00 00 00    	je     0x1801118ed
180111859:	48 2b f7             	sub    %rdi,%rsi
18011185c:	b9 08 00 00 00       	mov    $0x8,%ecx
180111861:	4c 8b 1c 16          	mov    (%rsi,%rdx,1),%r11
180111865:	4c 8b c7             	mov    %rdi,%r8
180111868:	4c 2b c2             	sub    %rdx,%r8
18011186b:	4c 03 c5             	add    %rbp,%r8
18011186e:	4c 3b c1             	cmp    %rcx,%r8
180111871:	4c 0f 47 c1          	cmova  %rcx,%r8
180111875:	45 33 c9             	xor    %r9d,%r9d
180111878:	4d 85 c0             	test   %r8,%r8
18011187b:	74 10                	je     0x18011188d
18011187d:	46 88 1c 0a          	mov    %r11b,(%rdx,%r9,1)
180111881:	4c 03 c8             	add    %rax,%r9
180111884:	49 c1 eb 08          	shr    $0x8,%r11
180111888:	4d 3b c8             	cmp    %r8,%r9
18011188b:	75 f0                	jne    0x18011187d
18011188d:	48 03 d1             	add    %rcx,%rdx
180111890:	4c 2b d0             	sub    %rax,%r10
180111893:	75 cc                	jne    0x180111861
180111895:	eb 56                	jmp    0x1801118ed
180111897:	4d 85 d2             	test   %r10,%r10
18011189a:	74 51                	je     0x1801118ed
18011189c:	33 d2                	xor    %edx,%edx
18011189e:	8d 4a 08             	lea    0x8(%rdx),%ecx
1801118a1:	48 8b 1c 32          	mov    (%rdx,%rsi,1),%rbx
1801118a5:	4c 8b cd             	mov    %rbp,%r9
1801118a8:	4c 2b ca             	sub    %rdx,%r9
1801118ab:	4c 3b c9             	cmp    %rcx,%r9
1801118ae:	4d 8b c1             	mov    %r9,%r8
1801118b1:	4c 0f 47 c1          	cmova  %rcx,%r8
1801118b5:	4d 85 c0             	test   %r8,%r8
1801118b8:	74 16                	je     0x1801118d0
1801118ba:	4c 8d 5f ff          	lea    -0x1(%rdi),%r11
1801118be:	4d 03 d9             	add    %r9,%r11
1801118c1:	41 88 1b             	mov    %bl,(%r11)
1801118c4:	4c 2b d8             	sub    %rax,%r11
1801118c7:	48 c1 eb 08          	shr    $0x8,%rbx
1801118cb:	4c 2b c0             	sub    %rax,%r8
1801118ce:	75 f1                	jne    0x1801118c1
1801118d0:	48 03 d1             	add    %rcx,%rdx
1801118d3:	4c 2b d0             	sub    %rax,%r10
1801118d6:	75 c9                	jne    0x1801118a1
1801118d8:	eb 13                	jmp    0x1801118ed
1801118da:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
1801118df:	33 c0                	xor    %eax,%eax
1801118e1:	48 85 c9             	test   %rcx,%rcx
1801118e4:	74 07                	je     0x1801118ed
1801118e6:	c7 41 10 0c 00 00 00 	movl   $0xc,0x10(%rcx)
1801118ed:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx