14002362f:	4c 8d 04 85 08 00 00 	lea    0x8(,%rax,4),%r8
140023636:	00
140023637:	e8 7c 11 00 00       	call   0x1400247b8
14002363c:	48 89 d9             	mov    %rbx,%rcx
14002363f:	48 89 eb             	mov    %rbp,%rbx
140023642:	e8 d9 fe ff ff       	call   0x140023520
140023647:	48 63 c7             	movslq %edi,%rax
14002364a:	83 c7 01             	add    $0x1,%edi
14002364d:	48 89 dd             	mov    %rbx,%rbp
140023650:	89 74 83 18          	mov    %esi,0x18(%rbx,%rax,4)
140023654:	89 7b 14             	mov    %edi,0x14(%rbx)
140023657:	eb a2                	jmp    0x1400235fb
140023659:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140023660:	53                   	push   %rbx
140023661:	48 83 ec 30          	sub    $0x30,%rsp
140023665:	89 cb                	mov    %ecx,%ebx
140023667:	31 c9                	xor    %ecx,%ecx
140023669:	e8 92 fc ff ff       	call   0x140023300
14002366e:	48 8b 05 73 8e 02 00 	mov    0x28e73(%rip),%rax        # 0x14004c4e8
140023675:	48 85 c0             	test   %rax,%rax
140023678:	74 2e                	je     0x1400236a8
14002367a:	48 8b 10             	mov    (%rax),%rdx
14002367d:	83 3d ac 8e 02 00 02 	cmpl   $0x2,0x28eac(%rip)        # 0x14004c530
140023684:	48 89 15 5d 8e 02 00 	mov    %rdx,0x28e5d(%rip)        # 0x14004c4e8
14002368b:	74 63                	je     0x1400236f0
14002368d:	48 8b 15 9c 34 02 00 	mov    0x2349c(%rip),%rdx        # 0x140046b30
140023694:	89 58 18             	mov    %ebx,0x18(%rax)
140023697:	48 89 50 10          	mov    %rdx,0x10(%rax)
14002369b:	48 83 c4 30          	add    $0x30,%rsp
14002369f:	5b                   	pop    %rbx
1400236a0:	c3                   	ret
1400236a1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400236a8:	48 8b 05 b1 1b 00 00 	mov    0x1bb1(%rip),%rax        # 0x140025260
1400236af:	48 8d 0d 2a 85 02 00 	lea    0x2852a(%rip),%rcx        # 0x14004bbe0
1400236b6:	48 89 c2             	mov    %rax,%rdx
1400236b9:	48 29 ca             	sub    %rcx,%rdx
1400236bc:	48 c1 fa 03          	sar    $0x3,%rdx
1400236c0:	48 83 c2 05          	add    $0x5,%rdx
1400236c4:	48 81 fa 20 01 00 00 	cmp    $0x120,%rdx
1400236cb:	76 43                	jbe    0x140023710
1400236cd:	b9 28 00 00 00       	mov    $0x28,%ecx
1400236d2:	e8 c1 10 00 00       	call   0x140024798
1400236d7:	48 85 c0             	test   %rax,%rax
1400236da:	74 bf                	je     0x14002369b
1400236dc:	48 8b 15 45 34 02 00 	mov    0x23445(%rip),%rdx        # 0x140046b28
1400236e3:	83 3d 46 8e 02 00 02 	cmpl   $0x2,0x28e46(%rip)        # 0x14004c530
1400236ea:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400236ee:	75 9d                	jne    0x14002368d
1400236f0:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400236f5:	48 8d 0d 44 8e 02 00 	lea    0x28e44(%rip),%rcx        # 0x14004c540
1400236fc:	ff 15 9e a2 02 00    	call   *0x2a29e(%rip)        # 0x14004d9a0
140023702:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140023707:	eb 84                	jmp    0x14002368d
140023709:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140023710:	48 8d 50 28          	lea    0x28(%rax),%rdx
140023714:	48 89 15 45 1b 00 00 	mov    %rdx,0x1b45(%rip)        # 0x140025260
14002371b:	eb bf                	jmp    0x1400236dc
14002371d:	0f 1f 00             	nopl   (%rax)
140023720:	41 57                	push   %r15
140023722:	41 56                	push   %r14
140023724:	41 55                	push   %r13
140023726:	41 54                	push   %r12
140023728:	55                   	push   %rbp
140023729:	57                   	push   %rdi
14002372a:	56                   	push   %rsi
14002372b:	53                   	push   %rbx
14002372c:	48 83 ec 28          	sub    $0x28,%rsp
140023730:	4c 63 61 14          	movslq 0x14(%rcx),%r12
140023734:	48 63 6a 14          	movslq 0x14(%rdx),%rbp
140023738:	49 89 cd             	mov    %rcx,%r13
14002373b:	49 89 d7             	mov    %rdx,%r15
14002373e:	41 39 ec             	cmp    %ebp,%r12d
140023741:	7c 0e                	jl     0x140023751
140023743:	89 e8                	mov    %ebp,%eax
140023745:	49 89 cf             	mov    %rcx,%r15
140023748:	49 63 ec             	movslq %r12d,%rbp
14002374b:	49 89 d5             	mov    %rdx,%r13
14002374e:	4c 63 e0             	movslq %eax,%r12
140023751:	41 8b 4f 08          	mov    0x8(%r15),%ecx
140023755:	42 8d 5c 25 00       	lea    0x0(%rbp,%r12,1),%ebx
14002375a:	41 39 5f 0c          	cmp    %ebx,0xc(%r15)
14002375e:	7d 03                	jge    0x140023763
140023760:	83 c1 01             	add    $0x1,%ecx
140023763:	e8 c8 fc ff ff       	call   0x140023430
140023768:	48 89 c7             	mov    %rax,%rdi
14002376b:	48 85 c0             	test   %rax,%rax
14002376e:	0f 84 df 00 00 00    	je     0x140023853
140023774:	4c 8d 58 18          	lea    0x18(%rax),%r11
140023778:	48 63 c3             	movslq %ebx,%rax
14002377b:	49 8d 34 83          	lea    (%r11,%rax,4),%rsi
14002377f:	49 39 f3             	cmp    %rsi,%r11
140023782:	73 23                	jae    0x1400237a7
140023784:	48 89 f0             	mov    %rsi,%rax
140023787:	4c 89 d9             	mov    %r11,%rcx
14002378a:	31 d2                	xor    %edx,%edx
14002378c:	48 29 f8             	sub    %rdi,%rax
14002378f:	48 83 e8 19          	sub    $0x19,%rax
140023793:	48 c1 e8 02          	shr    $0x2,%rax
140023797:	4c 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%r8
14002379e:	00
14002379f:	e8 24 10 00 00       	call   0x1400247c8
1400237a4:	49 89 c3             	mov    %rax,%r11
1400237a7:	4d 8d 4d 18          	lea    0x18(%r13),%r9
1400237ab:	4d 8d 77 18          	lea    0x18(%r15),%r14
1400237af:	4f 8d 24 a1          	lea    (%r9,%r12,4),%r12
1400237b3:	49 8d 2c ae          	lea    (%r14,%rbp,4),%rbp
1400237b7:	4d 39 e1             	cmp    %r12,%r9
1400237ba:	73 78                	jae    0x140023834
1400237bc:	48 89 e8             	mov    %rbp,%rax
1400237bf:	4c 29 f8             	sub    %r15,%rax
1400237c2:	49 83 c7 19          	add    $0x19,%r15
1400237c6:	4c 8d 68 e7          	lea    -0x19(%rax),%r13
1400237ca:	31 c0                	xor    %eax,%eax
1400237cc:	49 83 e5 fc          	and    $0xfffffffffffffffc,%r13
1400237d0:	4c 39 fd             	cmp    %r15,%rbp
1400237d3:	4c 0f 42 e8          	cmovb  %rax,%r13
1400237d7:	eb 10                	jmp    0x1400237e9
1400237d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400237e0:	49 83 c3 04          	add    $0x4,%r11
1400237e4:	4d 39 e1             	cmp    %r12,%r9
1400237e7:	73 4b                	jae    0x140023834
1400237e9:	45 8b 11             	mov    (%r9),%r10d
1400237ec:	49 83 c1 04          	add    $0x4,%r9
1400237f0:	45 85 d2             	test   %r10d,%r10d
1400237f3:	74 eb                	je     0x1400237e0
1400237f5:	4c 89 d9             	mov    %r11,%rcx
1400237f8:	4c 89 f2             	mov    %r14,%rdx
1400237fb:	45 31 c0             	xor    %r8d,%r8d
1400237fe:	66 90                	xchg   %ax,%ax
140023800:	8b 02                	mov    (%rdx),%eax
140023802:	44 8b 39             	mov    (%rcx),%r15d
140023805:	48 83 c2 04          	add    $0x4,%rdx
140023809:	48 83 c1 04          	add    $0x4,%rcx
14002380d:	49 0f af c2          	imul   %r10,%rax
140023811:	4c 01 f8             	add    %r15,%rax
140023814:	4c 01 c0             	add    %r8,%rax
140023817:	49 89 c0             	mov    %rax,%r8
14002381a:	89 41 fc             	mov    %eax,-0x4(%rcx)
14002381d:	49 c1 e8 20          	shr    $0x20,%r8
140023821:	48 39 ea             	cmp    %rbp,%rdx
140023824:	72 da                	jb     0x140023800
140023826:	47 89 44 2b 04       	mov    %r8d,0x4(%r11,%r13,1)
14002382b:	49 83 c3 04          	add    $0x4,%r11
14002382f:	4d 39 e1             	cmp    %r12,%r9
140023832:	72 b5                	jb     0x1400237e9
140023834:	85 db                	test   %ebx,%ebx
140023836:	7f 0d                	jg     0x140023845
140023838:	eb 16                	jmp    0x140023850
14002383a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140023840:	83 eb 01             	sub    $0x1,%ebx
140023843:	74 0b                	je     0x140023850
140023845:	8b 46 fc             	mov    -0x4(%rsi),%eax
140023848:	48 83 ee 04          	sub    $0x4,%rsi
14002384c:	85 c0                	test   %eax,%eax
14002384e:	74 f0                	je     0x140023840
140023850:	89 5f 14             	mov    %ebx,0x14(%rdi)
140023853:	48 89 f8             	mov    %rdi,%rax
140023856:	48 83 c4 28          	add    $0x28,%rsp
14002385a:	5b                   	pop    %rbx
14002385b:	5e                   	pop    %rsi
14002385c:	5f                   	pop    %rdi
14002385d:	5d                   	pop    %rbp
14002385e:	41 5c                	pop    %r12
140023860:	41 5d                	pop    %r13
140023862:	41 5e                	pop    %r14
140023864:	41 5f                	pop    %r15
140023866:	c3                   	ret
140023867:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14002386e:	00 00
140023870:	55                   	push   %rbp
140023871:	57                   	push   %rdi
140023872:	56                   	push   %rsi
140023873:	53                   	push   %rbx
140023874:	48 83 ec 28          	sub    $0x28,%rsp
140023878:	89 d0                	mov    %edx,%eax
14002387a:	48 89 cd             	mov    %rcx,%rbp
14002387d:	89 d3                	mov    %edx,%ebx
14002387f:	83 e0 03             	and    $0x3,%eax
140023882:	0f 85 a8 00 00 00    	jne    0x140023930
140023888:	c1 fb 02             	sar    $0x2,%ebx
14002388b:	48 89 ee             	mov    %rbp,%rsi
14002388e:	0f 84 ce 00 00 00    	je     0x140023962
140023894:	48 8b 3d 25 83 02 00 	mov    0x28325(%rip),%rdi        # 0x14004bbc0
14002389b:	48 85 ff             	test   %rdi,%rdi
14002389e:	75 2d                	jne    0x1400238cd
1400238a0:	e9 ed 00 00 00       	jmp    0x140023992
1400238a5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400238ac:	00 00 00 00
1400238b0:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400238b7:	00 00 00 00
1400238bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400238c0:	48 8b 37             	mov    (%rdi),%rsi
1400238c3:	d1 fb                	sar    $1,%ebx
1400238c5:	48 85 f6             	test   %rsi,%rsi
1400238c8:	74 32                	je     0x1400238fc
1400238ca:	48 89 f7             	mov    %rsi,%rdi
1400238cd:	f6 c3 01             	test   $0x1,%bl
1400238d0:	74 ee                	je     0x1400238c0
1400238d2:	48 89 fa             	mov    %rdi,%rdx
1400238d5:	48 89 e9             	mov    %rbp,%rcx
1400238d8:	e8 43 fe ff ff       	call   0x140023720
1400238dd:	48 89 c6             	mov    %rax,%rsi
1400238e0:	48 85 c0             	test   %rax,%rax
1400238e3:	74 7b                	je     0x140023960
1400238e5:	48 89 e9             	mov    %rbp,%rcx
1400238e8:	e8 33 fc ff ff       	call   0x140023520
1400238ed:	d1 fb                	sar    $1,%ebx
1400238ef:	74 71                	je     0x140023962
1400238f1:	48 89 f5             	mov    %rsi,%rbp
1400238f4:	48 8b 37             	mov    (%rdi),%rsi
1400238f7:	48 85 f6             	test   %rsi,%rsi
1400238fa:	75 ce                	jne    0x1400238ca
1400238fc:	b9 01 00 00 00       	mov    $0x1,%ecx
140023901:	e8 fa f9 ff ff       	call   0x140023300
140023906:	48 8b 37             	mov    (%rdi),%rsi
140023909:	48 85 f6             	test   %rsi,%rsi
14002390c:	74 62                	je     0x140023970
14002390e:	83 3d 1b 8c 02 00 02 	cmpl   $0x2,0x28c1b(%rip)        # 0x14004c530
140023915:	75 b3                	jne    0x1400238ca
140023917:	48 8d 0d 4a 8c 02 00 	lea    0x28c4a(%rip),%rcx        # 0x14004c568
14002391e:	ff 15 7c a0 02 00    	call   *0x2a07c(%rip)        # 0x14004d9a0
140023924:	eb a4                	jmp    0x1400238ca
140023926:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14002392d:	00 00 00
140023930:	83 e8 01             	sub    $0x1,%eax
140023933:	48 8d 15 a6 30 02 00 	lea    0x230a6(%rip),%rdx        # 0x1400469e0
14002393a:	45 31 c0             	xor    %r8d,%r8d
14002393d:	48 98                	cltq
14002393f:	8b 14 82             	mov    (%rdx,%rax,4),%edx
140023942:	e8 49 fc ff ff       	call   0x140023590
140023947:	48 89 c5             	mov    %rax,%rbp
14002394a:	48 85 c0             	test   %rax,%rax
14002394d:	0f 85 35 ff ff ff    	jne    0x140023888
140023953:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14002395a:	00 00 00 00
14002395e:	66 90                	xchg   %ax,%ax
140023960:	31 f6                	xor    %esi,%esi
140023962:	48 89 f0             	mov    %rsi,%rax
140023965:	48 83 c4 28          	add    $0x28,%rsp
140023969:	5b                   	pop    %rbx
14002396a:	5e                   	pop    %rsi
14002396b:	5f                   	pop    %rdi
14002396c:	5d                   	pop    %rbp
14002396d:	c3                   	ret
14002396e:	66 90                	xchg   %ax,%ax
140023970:	48 89 fa             	mov    %rdi,%rdx
140023973:	48 89 f9             	mov    %rdi,%rcx
140023976:	e8 a5 fd ff ff       	call   0x140023720
14002397b:	48 89 07             	mov    %rax,(%rdi)
14002397e:	48 89 c6             	mov    %rax,%rsi
140023981:	48 85 c0             	test   %rax,%rax
140023984:	74 da                	je     0x140023960
140023986:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
14002398d:	e9 7c ff ff ff       	jmp    0x14002390e
140023992:	b9 01 00 00 00       	mov    $0x1,%ecx
140023997:	e8 64 f9 ff ff       	call   0x140023300
14002399c:	48 8b 3d 1d 82 02 00 	mov    0x2821d(%rip),%rdi        # 0x14004bbc0
1400239a3:	48 85 ff             	test   %rdi,%rdi
1400239a6:	74 1f                	je     0x1400239c7
1400239a8:	83 3d 81 8b 02 00 02 	cmpl   $0x2,0x28b81(%rip)        # 0x14004c530
1400239af:	0f 85 18 ff ff ff    	jne    0x1400238cd
1400239b5:	48 8d 0d ac 8b 02 00 	lea    0x28bac(%rip),%rcx        # 0x14004c568
1400239bc:	ff 15 de 9f 02 00    	call   *0x29fde(%rip)        # 0x14004d9a0
1400239c2:	e9 06 ff ff ff       	jmp    0x1400238cd
1400239c7:	b9 01 00 00 00       	mov    $0x1,%ecx
1400239cc:	e8 5f fa ff ff       	call   0x140023430
1400239d1:	48 89 c7             	mov    %rax,%rdi
1400239d4:	48 85 c0             	test   %rax,%rax
1400239d7:	74 1e                	je     0x1400239f7
1400239d9:	48 b8 01 00 00 00 71 	movabs $0x27100000001,%rax
1400239e0:	02 00 00
1400239e3:	48 89 3d d6 81 02 00 	mov    %rdi,0x281d6(%rip)        # 0x14004bbc0
1400239ea:	48 89 47 14          	mov    %rax,0x14(%rdi)
1400239ee:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
1400239f5:	eb b1                	jmp    0x1400239a8
1400239f7:	48 c7 05 be 81 02 00 	movq   $0x0,0x281be(%rip)        # 0x14004bbc0
1400239fe:	00 00 00 00
140023a02:	31 f6                	xor    %esi,%esi
140023a04:	e9 59 ff ff ff       	jmp    0x140023962
140023a09:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140023a10:	41 56                	push   %r14
140023a12:	41 55                	push   %r13
140023a14:	41 54                	push   %r12
140023a16:	55                   	push   %rbp
140023a17:	57                   	push   %rdi
140023a18:	56                   	push   %rsi
140023a19:	53                   	push   %rbx
140023a1a:	48 83 ec 20          	sub    $0x20,%rsp
140023a1e:	48 89 cd             	mov    %rcx,%rbp
140023a21:	89 d6                	mov    %edx,%esi
140023a23:	8b 49 08             	mov    0x8(%rcx),%ecx
140023a26:	89 d3                	mov    %edx,%ebx
140023a28:	44 8b 65 14          	mov    0x14(%rbp),%r12d
140023a2c:	c1 fe 05             	sar    $0x5,%esi
140023a2f:	8b 45 0c             	mov    0xc(%rbp),%eax
140023a32:	41 01 f4             	add    %esi,%r12d
140023a35:	45 8d 6c 24 01       	lea    0x1(%r12),%r13d
140023a3a:	41 39 c5             	cmp    %eax,%r13d
140023a3d:	7e 0b                	jle    0x140023a4a
140023a3f:	90                   	nop
140023a40:	01 c0                	add    %eax,%eax
140023a42:	83 c1 01             	add    $0x1,%ecx
140023a45:	41 39 c5             	cmp    %eax,%r13d
140023a48:	7f f6                	jg     0x140023a40
140023a4a:	e8 e1 f9 ff ff       	call   0x140023430
140023a4f:	49 89 c6             	mov    %rax,%r14
140023a52:	48 85 c0             	test   %rax,%rax
140023a55:	0f 84 ba 00 00 00    	je     0x140023b15
140023a5b:	48 8d 78 18          	lea    0x18(%rax),%rdi
140023a5f:	85 f6                	test   %esi,%esi
140023a61:	7e 14                	jle    0x140023a77
140023a63:	48 c1 e6 02          	shl    $0x2,%rsi
140023a67:	48 89 f9             	mov    %rdi,%rcx
140023a6a:	31 d2                	xor    %edx,%edx
140023a6c:	49 89 f0             	mov    %rsi,%r8
140023a6f:	48 01 f7             	add    %rsi,%rdi
140023a72:	e8 51 0d 00 00       	call   0x1400247c8
140023a77:	48 63 45 14          	movslq 0x14(%rbp),%rax
140023a7b:	48 8d 75 18          	lea    0x18(%rbp),%rsi
140023a7f:	4c 8d 0c 86          	lea    (%rsi,%rax,4),%r9
140023a83:	83 e3 1f             	and    $0x1f,%ebx
140023a86:	0f 84 a4 00 00 00    	je     0x140023b30
140023a8c:	41 ba 20 00 00 00    	mov    $0x20,%r10d
140023a92:	49 89 f8             	mov    %rdi,%r8
140023a95:	31 d2                	xor    %edx,%edx
140023a97:	41 29 da             	sub    %ebx,%r10d
140023a9a:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140023aa1:	00 00 00 00
140023aa5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140023aac:	00 00 00 00
140023ab0:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140023ab7:	00 00 00 00
140023abb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140023ac0:	8b 06                	mov    (%rsi),%eax
140023ac2:	89 d9                	mov    %ebx,%ecx
140023ac4:	49 83 c0 04          	add    $0x4,%r8
140023ac8:	48 83 c6 04          	add    $0x4,%rsi
140023acc:	d3 e0                	shl    %cl,%eax
140023ace:	44 89 d1             	mov    %r10d,%ecx
140023ad1:	09 d0                	or     %edx,%eax
140023ad3:	41 89 40 fc          	mov    %eax,-0x4(%r8)
140023ad7:	8b 56 fc             	mov    -0x4(%rsi),%edx
140023ada:	d3 ea                	shr    %cl,%edx
140023adc:	4c 39 ce             	cmp    %r9,%rsi
140023adf:	72 df                	jb     0x140023ac0
140023ae1:	4c 89 c8             	mov    %r9,%rax
140023ae4:	48 8d 4d 19          	lea    0x19(%rbp),%rcx
140023ae8:	48 29 e8             	sub    %rbp,%rax
140023aeb:	48 83 e8 19          	sub    $0x19,%rax
140023aef:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax