1800404e7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800404eb:	41 55                	push   %r13
1800404ed:	41 56                	push   %r14
1800404ef:	41 57                	push   %r15
1800404f1:	48 83 ec 20          	sub    $0x20,%rsp
1800404f5:	48 8b f1             	mov    %rcx,%rsi
1800404f8:	4c 8d 2d 01 fb fb ff 	lea    -0x404ff(%rip),%r13        # 0x180000000
1800404ff:	0f b6 49 18          	movzbl 0x18(%rcx),%ecx
180040503:	4c 8b c6             	mov    %rsi,%r8
180040506:	48 03 c9             	add    %rcx,%rcx
180040509:	41 8b 94 cd 80 d5 14 	mov    0x14d580(%r13,%rcx,8),%edx
180040510:	00
180040511:	49 8b 8c cd 88 d5 14 	mov    0x14d588(%r13,%rcx,8),%rcx
180040518:	00
180040519:	e8 b2 fb 00 00       	call   0x1800500d0
18004051e:	45 33 f6             	xor    %r14d,%r14d
180040521:	0f b7 e8             	movzwl %ax,%ebp
180040524:	48 8d 9e 94 00 00 00 	lea    0x94(%rsi),%rbx
18004052b:	45 8d 7e 03          	lea    0x3(%r14),%r15d
18004052f:	40 8a 7e 18          	mov    0x18(%rsi),%dil
180040533:	40 80 ff 09          	cmp    $0x9,%dil
180040537:	73 13                	jae    0x18004054c
180040539:	8b 0b                	mov    (%rbx),%ecx
18004053b:	83 f9 ff             	cmp    $0xffffffff,%ecx
18004053e:	74 0c                	je     0x18004054c
180040540:	8b 43 f8             	mov    -0x8(%rbx),%eax
180040543:	0f af c1             	imul   %ecx,%eax
180040546:	89 03                	mov    %eax,(%rbx)
180040548:	40 8a 7e 18          	mov    0x18(%rsi),%dil
18004054c:	4b 8d 04 76          	lea    (%r14,%r14,2),%rax
180040550:	40 0f b6 cf          	movzbl %dil,%ecx
180040554:	48 03 c9             	add    %rcx,%rcx
180040557:	4c 8d 86 84 00 00 00 	lea    0x84(%rsi),%r8
18004055e:	4d 8d 04 c0          	lea    (%r8,%rax,8),%r8
180040562:	41 8b 94 cd 70 e9 14 	mov    0x14e970(%r13,%rcx,8),%edx
180040569:	00
18004056a:	49 8b 8c cd 78 e9 14 	mov    0x14e978(%r13,%rcx,8),%rcx
180040571:	00
180040572:	e8 59 fb 00 00       	call   0x1800500d0
180040577:	0f b7 c0             	movzwl %ax,%eax
18004057a:	03 e8                	add    %eax,%ebp
18004057c:	40 80 ff 09          	cmp    $0x9,%dil
180040580:	73 0e                	jae    0x180040590
180040582:	8b 03                	mov    (%rbx),%eax
180040584:	83 f8 ff             	cmp    $0xffffffff,%eax
180040587:	74 07                	je     0x180040590
180040589:	33 d2                	xor    %edx,%edx
18004058b:	f7 73 f8             	divl   -0x8(%rbx)
18004058e:	89 03                	mov    %eax,(%rbx)
180040590:	49 ff c6             	inc    %r14
180040593:	48 83 c3 18          	add    $0x18,%rbx
180040597:	49 83 ef 01          	sub    $0x1,%r15
18004059b:	75 92                	jne    0x18004052f
18004059d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800405a2:	8b c5                	mov    %ebp,%eax
1800405a4:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800405a9:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800405ae:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1800405b3:	48 83 c4 20          	add    $0x20,%rsp
1800405b7:	41 5f                	pop    %r15
1800405b9:	41 5e                	pop    %r14
1800405bb:	41 5d                	pop    %r13
1800405bd:	c3                   	ret
1800405be:	cc                   	int3
1800405bf:	cc                   	int3
1800405c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800405c5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800405ca:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1800405cf:	41 56                	push   %r14
1800405d1:	48 83 ec 20          	sub    $0x20,%rsp
1800405d5:	8b 51 48             	mov    0x48(%rcx),%edx
1800405d8:	48 8b d9             	mov    %rcx,%rbx
1800405db:	8d 82 00 fe ff ff    	lea    -0x200(%rdx),%eax
1800405e1:	3d 00 0e 00 00       	cmp    $0xe00,%eax
1800405e6:	0f 87 b2 00 00 00    	ja     0x18004069e
1800405ec:	8d 42 ff             	lea    -0x1(%rdx),%eax
1800405ef:	85 c2                	test   %eax,%edx
1800405f1:	0f 85 a7 00 00 00    	jne    0x18004069e
1800405f7:	8b 49 4c             	mov    0x4c(%rcx),%ecx
1800405fa:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
180040600:	0f 82 98 00 00 00    	jb     0x18004069e
180040606:	8d 41 ff             	lea    -0x1(%rcx),%eax
180040609:	85 c1                	test   %eax,%ecx
18004060b:	0f 85 8d 00 00 00    	jne    0x18004069e
180040611:	3b ca                	cmp    %edx,%ecx
180040613:	0f 82 85 00 00 00    	jb     0x18004069e
180040619:	48 8b 53 58          	mov    0x58(%rbx),%rdx
18004061d:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180040621:	41 b0 01             	mov    $0x1,%r8b
180040624:	e8 37 fd 00 00       	call   0x180050360
180040629:	8b c8                	mov    %eax,%ecx
18004062b:	85 c0                	test   %eax,%eax
18004062d:	78 74                	js     0x1800406a3
18004062f:	4c 8d b3 84 00 00 00 	lea    0x84(%rbx),%r14
180040636:	33 ff                	xor    %edi,%edi
180040638:	49 8b f6             	mov    %r14,%rsi
18004063b:	8b 06                	mov    (%rsi),%eax
18004063d:	ff c8                	dec    %eax
18004063f:	3b c7                	cmp    %edi,%eax
180040641:	75 25                	jne    0x180040668
180040643:	48 63 c7             	movslq %edi,%rax
180040646:	b2 01                	mov    $0x1,%dl
180040648:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18004064c:	49 8d 0c ce          	lea    (%r14,%rcx,8),%rcx
180040650:	e8 53 fb 00 00       	call   0x1800501a8
180040655:	8b c8                	mov    %eax,%ecx
180040657:	85 c0                	test   %eax,%eax
180040659:	78 12                	js     0x18004066d
18004065b:	ff c7                	inc    %edi
18004065d:	48 83 c6 18          	add    $0x18,%rsi
180040661:	83 ff 03             	cmp    $0x3,%edi
180040664:	7c d5                	jl     0x18004063b
180040666:	eb 05                	jmp    0x18004066d
180040668:	b9 03 00 e7 c0       	mov    $0xc0e70003,%ecx
18004066d:	85 c9                	test   %ecx,%ecx
18004066f:	78 32                	js     0x1800406a3
180040671:	48 8b 83 d0 00 00 00 	mov    0xd0(%rbx),%rax
180040678:	33 c9                	xor    %ecx,%ecx
18004067a:	48 ff c8             	dec    %rax
18004067d:	48 3d fe ff ff 01    	cmp    $0x1fffffe,%rax
180040683:	77 07                	ja     0x18004068c
180040685:	b9 10 00 e7 c0       	mov    $0xc0e70010,%ecx
18004068a:	eb 17                	jmp    0x1800406a3
18004068c:	48 83 bb d8 00 00 00 	cmpq   $0xffffffffffffffff,0xd8(%rbx)
180040693:	ff
180040694:	b8 bb 00 00 c0       	mov    $0xc00000bb,%eax
180040699:	0f 44 c8             	cmove  %eax,%ecx
18004069c:	eb 05                	jmp    0x1800406a3
18004069e:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
1800406a3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800406a8:	8b c1                	mov    %ecx,%eax
1800406aa:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1800406af:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1800406b4:	48 83 c4 20          	add    $0x20,%rsp
1800406b8:	41 5e                	pop    %r14
1800406ba:	c3                   	ret
1800406bb:	cc                   	int3
1800406bc:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800406c0:	48 8b 50 10          	mov    0x10(%rax),%rdx
1800406c4:	8b 41 44             	mov    0x44(%rcx),%eax
1800406c7:	89 42 18             	mov    %eax,0x18(%rdx)
1800406ca:	33 c0                	xor    %eax,%eax
1800406cc:	c3                   	ret
1800406cd:	cc                   	int3
1800406ce:	cc                   	int3
1800406cf:	cc                   	int3
1800406d0:	83 89 d0 00 00 00 ff 	orl    $0xffffffff,0xd0(%rcx)
1800406d7:	33 c0                	xor    %eax,%eax
1800406d9:	48 83 89 90 00 00 00 	orq    $0xffffffffffffffff,0x90(%rcx)
1800406e0:	ff
1800406e1:	48 89 41 08          	mov    %rax,0x8(%rcx)
1800406e5:	48 89 41 10          	mov    %rax,0x10(%rcx)
1800406e9:	66 89 41 18          	mov    %ax,0x18(%rcx)
1800406ed:	48 8d 05 dc 29 10 00 	lea    0x1029dc(%rip),%rax        # 0x1801430d0
1800406f4:	48 89 01             	mov    %rax,(%rcx)
1800406f7:	48 8b c1             	mov    %rcx,%rax
1800406fa:	c3                   	ret
1800406fb:	cc                   	int3
1800406fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180040701:	57                   	push   %rdi
180040702:	48 83 ec 20          	sub    $0x20,%rsp
180040706:	8b da                	mov    %edx,%ebx
180040708:	48 8b f9             	mov    %rcx,%rdi
18004070b:	e8 1c 00 00 00       	call   0x18004072c
180040710:	f6 c3 01             	test   $0x1,%bl
180040713:	74 08                	je     0x18004071d
180040715:	48 8b cf             	mov    %rdi,%rcx
180040718:	e8 3f 62 00 00       	call   0x18004695c
18004071d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180040722:	48 8b c7             	mov    %rdi,%rax
180040725:	48 83 c4 20          	add    $0x20,%rsp
180040729:	5f                   	pop    %rdi
18004072a:	c3                   	ret
18004072b:	cc                   	int3
18004072c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180040731:	57                   	push   %rdi
180040732:	48 83 ec 20          	sub    $0x20,%rsp
180040736:	48 8d 05 93 29 10 00 	lea    0x102993(%rip),%rax        # 0x1801430d0
18004073d:	48 8b d9             	mov    %rcx,%rbx
180040740:	48 89 01             	mov    %rax,(%rcx)
180040743:	48 8b 89 b8 00 00 00 	mov    0xb8(%rcx),%rcx
18004074a:	48 85 c9             	test   %rcx,%rcx
18004074d:	74 05                	je     0x180040754
18004074f:	e8 08 62 00 00       	call   0x18004695c
180040754:	48 8b bb a8 00 00 00 	mov    0xa8(%rbx),%rdi
18004075b:	48 85 ff             	test   %rdi,%rdi
18004075e:	74 10                	je     0x180040770
180040760:	48 8b cf             	mov    %rdi,%rcx
180040763:	e8 b4 30 00 00       	call   0x18004381c
180040768:	48 8b cf             	mov    %rdi,%rcx
18004076b:	e8 ec 61 00 00       	call   0x18004695c
180040770:	48 8b 4b 60          	mov    0x60(%rbx),%rcx
180040774:	48 85 c9             	test   %rcx,%rcx
180040777:	74 05                	je     0x18004077e
180040779:	e8 de 61 00 00       	call   0x18004695c
18004077e:	48 8b 4b 58          	mov    0x58(%rbx),%rcx
180040782:	48 85 c9             	test   %rcx,%rcx
180040785:	74 05                	je     0x18004078c
180040787:	e8 d0 61 00 00       	call   0x18004695c
18004078c:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
180040790:	48 85 c9             	test   %rcx,%rcx
180040793:	74 05                	je     0x18004079a
180040795:	e8 c2 61 00 00       	call   0x18004695c
18004079a:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
18004079e:	48 85 c9             	test   %rcx,%rcx
1800407a1:	74 05                	je     0x1800407a8
1800407a3:	e8 b4 61 00 00       	call   0x18004695c
1800407a8:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1800407ac:	48 85 c9             	test   %rcx,%rcx
1800407af:	74 05                	je     0x1800407b6
1800407b1:	e8 a6 61 00 00       	call   0x18004695c
1800407b6:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
1800407ba:	48 85 c9             	test   %rcx,%rcx
1800407bd:	74 05                	je     0x1800407c4
1800407bf:	e8 98 61 00 00       	call   0x18004695c
1800407c4:	48 8d 05 fd 27 10 00 	lea    0x1027fd(%rip),%rax        # 0x180142fc8
1800407cb:	48 89 03             	mov    %rax,(%rbx)
1800407ce:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800407d3:	48 83 c4 20          	add    $0x20,%rsp
1800407d7:	5f                   	pop    %rdi
1800407d8:	c3                   	ret
1800407d9:	cc                   	int3
1800407da:	cc                   	int3
1800407db:	cc                   	int3
1800407dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800407e1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800407e6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800407eb:	57                   	push   %rdi
1800407ec:	41 54                	push   %r12
1800407ee:	41 55                	push   %r13
1800407f0:	41 56                	push   %r14
1800407f2:	41 57                	push   %r15
1800407f4:	48 83 ec 20          	sub    $0x20,%rsp
1800407f8:	48 8b f9             	mov    %rcx,%rdi
1800407fb:	33 f6                	xor    %esi,%esi
1800407fd:	b9 f8 00 00 00       	mov    $0xf8,%ecx
180040802:	e8 0d 61 00 00       	call   0x180046914
180040807:	45 33 c9             	xor    %r9d,%r9d
18004080a:	48 8b d8             	mov    %rax,%rbx
18004080d:	48 85 c0             	test   %rax,%rax
180040810:	74 28                	je     0x18004083a
180040812:	83 8b d0 00 00 00 ff 	orl    $0xffffffff,0xd0(%rbx)
180040819:	48 83 8b 90 00 00 00 	orq    $0xffffffffffffffff,0x90(%rbx)
180040820:	ff
180040821:	4c 89 48 08          	mov    %r9,0x8(%rax)
180040825:	4c 89 48 10          	mov    %r9,0x10(%rax)
180040829:	66 44 89 48 18       	mov    %r9w,0x18(%rax)
18004082e:	48 8d 05 9b 28 10 00 	lea    0x10289b(%rip),%rax        # 0x1801430d0
180040835:	48 89 03             	mov    %rax,(%rbx)
180040838:	eb 03                	jmp    0x18004083d
18004083a:	49 8b d9             	mov    %r9,%rbx
18004083d:	48 85 db             	test   %rbx,%rbx
180040840:	0f 84 48 02 00 00    	je     0x180040a8e
180040846:	0f 10 07             	movups (%rdi),%xmm0
180040849:	ba 80 00 00 00       	mov    $0x80,%edx
18004084e:	4c 8d 43 30          	lea    0x30(%rbx),%r8
180040852:	0f 11 03             	movups %xmm0,(%rbx)
180040855:	0f 10 4f 10          	movups 0x10(%rdi),%xmm1
180040859:	48 8d 0c 1a          	lea    (%rdx,%rbx,1),%rcx
18004085d:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
180040861:	0f 11 4b 10          	movups %xmm1,0x10(%rbx)
180040865:	0f 10 47 20          	movups 0x20(%rdi),%xmm0
180040869:	0f 11 43 20          	movups %xmm0,0x20(%rbx)
18004086d:	0f 10 4f 30          	movups 0x30(%rdi),%xmm1
180040871:	0f 11 4b 30          	movups %xmm1,0x30(%rbx)
180040875:	0f 10 47 40          	movups 0x40(%rdi),%xmm0
180040879:	0f 11 43 40          	movups %xmm0,0x40(%rbx)
18004087d:	0f 10 4f 50          	movups 0x50(%rdi),%xmm1
180040881:	0f 11 4b 50          	movups %xmm1,0x50(%rbx)
180040885:	0f 10 47 60          	movups 0x60(%rdi),%xmm0
180040889:	0f 11 43 60          	movups %xmm0,0x60(%rbx)
18004088d:	0f 10 47 70          	movups 0x70(%rdi),%xmm0
180040891:	0f 11 41 f0          	movups %xmm0,-0x10(%rcx)
180040895:	0f 10 08             	movups (%rax),%xmm1
180040898:	0f 11 09             	movups %xmm1,(%rcx)
18004089b:	0f 10 40 10          	movups 0x10(%rax),%xmm0
18004089f:	0f 11 41 10          	movups %xmm0,0x10(%rcx)
1800408a3:	0f 10 48 20          	movups 0x20(%rax),%xmm1
1800408a7:	0f 11 49 20          	movups %xmm1,0x20(%rcx)
1800408ab:	0f 10 40 30          	movups 0x30(%rax),%xmm0
1800408af:	0f 11 41 30          	movups %xmm0,0x30(%rcx)
1800408b3:	0f 10 48 40          	movups 0x40(%rax),%xmm1
1800408b7:	0f 11 49 40          	movups %xmm1,0x40(%rcx)
1800408bb:	0f 10 40 50          	movups 0x50(%rax),%xmm0
1800408bf:	0f 11 41 50          	movups %xmm0,0x50(%rcx)
1800408c3:	0f 10 48 60          	movups 0x60(%rax),%xmm1
1800408c7:	0f 11 49 60          	movups %xmm1,0x60(%rcx)
1800408cb:	48 8b 40 70          	mov    0x70(%rax),%rax
1800408cf:	48 89 41 70          	mov    %rax,0x70(%rcx)
1800408d3:	4d 89 08             	mov    %r9,(%r8)
1800408d6:	4c 89 4b 38          	mov    %r9,0x38(%rbx)
1800408da:	4c 89 4b 48          	mov    %r9,0x48(%rbx)
1800408de:	4c 89 4b 50          	mov    %r9,0x50(%rbx)
1800408e2:	4c 89 4b 58          	mov    %r9,0x58(%rbx)
1800408e6:	4c 89 4b 60          	mov    %r9,0x60(%rbx)
1800408ea:	4c 89 8b a8 00 00 00 	mov    %r9,0xa8(%rbx)
1800408f1:	4c 89 8b b8 00 00 00 	mov    %r9,0xb8(%rbx)
1800408f8:	48 8b 4f 30          	mov    0x30(%rdi),%rcx
1800408fc:	48 85 c9             	test   %rcx,%rcx
1800408ff:	74 12                	je     0x180040913
180040901:	ba 00 01 00 00       	mov    $0x100,%edx
180040906:	e8 cd f3 ff ff       	call   0x18003fcd8
18004090b:	85 c0                	test   %eax,%eax
18004090d:	0f 88 63 01 00 00    	js     0x180040a76
180040913:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
180040917:	48 85 c9             	test   %rcx,%rcx
18004091a:	74 16                	je     0x180040932
18004091c:	4c 8d 43 38          	lea    0x38(%rbx),%r8
180040920:	ba 00 04 00 00       	mov    $0x400,%edx
180040925:	e8 ae f3 ff ff       	call   0x18003fcd8
18004092a:	85 c0                	test   %eax,%eax
18004092c:	0f 88 44 01 00 00    	js     0x180040a76
180040932:	48 8b 4f 48          	mov    0x48(%rdi),%rcx
180040936:	41 be 00 01 00 00    	mov    $0x100,%r14d
18004093c:	48 85 c9             	test   %rcx,%rcx
18004093f:	74 14                	je     0x180040955
180040941:	4c 8d 43 48          	lea    0x48(%rbx),%r8
180040945:	41 8b d6             	mov    %r14d,%edx
180040948:	e8 8b f3 ff ff       	call   0x18003fcd8
18004094d:	85 c0                	test   %eax,%eax
18004094f:	0f 88 21 01 00 00    	js     0x180040a76
180040955:	48 8b 4f 50          	mov    0x50(%rdi),%rcx
180040959:	48 85 c9             	test   %rcx,%rcx
18004095c:	74 14                	je     0x180040972
18004095e:	4c 8d 43 50          	lea    0x50(%rbx),%r8
180040962:	41 8b d6             	mov    %r14d,%edx
180040965:	e8 6e f3 ff ff       	call   0x18003fcd8
18004096a:	85 c0                	test   %eax,%eax
18004096c:	0f 88 04 01 00 00    	js     0x180040a76
180040972:	48 8b 4f 58          	mov    0x58(%rdi),%rcx
180040976:	48 85 c9             	test   %rcx,%rcx
180040979:	74 14                	je     0x18004098f
18004097b:	4c 8d 43 58          	lea    0x58(%rbx),%r8
18004097f:	41 8b d6             	mov    %r14d,%edx
180040982:	e8 51 f3 ff ff       	call   0x18003fcd8
180040987:	85 c0                	test   %eax,%eax
180040989:	0f 88 e7 00 00 00    	js     0x180040a76
18004098f:	48 8b 4f 60          	mov    0x60(%rdi),%rcx
180040993:	48 85 c9             	test   %rcx,%rcx
180040996:	74 14                	je     0x1800409ac
180040998:	4c 8d 43 60          	lea    0x60(%rbx),%r8
18004099c:	41 8b d6             	mov    %r14d,%edx
18004099f:	e8 34 f3 ff ff       	call   0x18003fcd8
1800409a4:	85 c0                	test   %eax,%eax
1800409a6:	0f 88 ca 00 00 00    	js     0x180040a76
1800409ac:	48 39 b7 a8 00 00 00 	cmp    %rsi,0xa8(%rdi)
1800409b3:	74 74                	je     0x180040a29
1800409b5:	bd 40 00 00 00       	mov    $0x40,%ebp
1800409ba:	8b cd                	mov    %ebp,%ecx
1800409bc:	e8 53 5f 00 00       	call   0x180046914