14029952e:	0f b7 ca             	movzwl %dx,%ecx
140299531:	8b c1                	mov    %ecx,%eax
140299533:	c1 e1 05             	shl    $0x5,%ecx
140299536:	c1 e8 0b             	shr    $0xb,%eax
140299539:	0b c1                	or     %ecx,%eax
14029953b:	41 83 eb 01          	sub    $0x1,%r11d
14029953f:	0f 85 5b ff ff ff    	jne    0x1402994a0
140299545:	83 ef 01             	sub    $0x1,%edi
140299548:	74 36                	je     0x140299580
14029954a:	8b c8                	mov    %eax,%ecx
14029954c:	83 ff 02             	cmp    $0x2,%edi
14029954f:	41 0f 94 c3          	sete   %r11b
140299553:	83 e1 3f             	and    $0x3f,%ecx
140299556:	41 83 c3 05          	add    $0x5,%r11d
14029955a:	44 03 0c 8b          	add    (%rbx,%rcx,4),%r9d
14029955e:	41 8b c9             	mov    %r9d,%ecx
140299561:	83 e1 3f             	and    $0x3f,%ecx
140299564:	44 03 04 8b          	add    (%rbx,%rcx,4),%r8d
140299568:	41 8b c8             	mov    %r8d,%ecx
14029956b:	83 e1 3f             	and    $0x3f,%ecx
14029956e:	44 03 14 8b          	add    (%rbx,%rcx,4),%r10d
140299572:	41 8b ca             	mov    %r10d,%ecx
140299575:	83 e1 3f             	and    $0x3f,%ecx
140299578:	03 04 8b             	add    (%rbx,%rcx,4),%eax
14029957b:	e9 20 ff ff ff       	jmp    0x1402994a0
140299580:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140299585:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14029958a:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14029958f:	41 0f b7 c9          	movzwl %r9w,%ecx
140299593:	41 c1 e0 10          	shl    $0x10,%r8d
140299597:	44 0b c1             	or     %ecx,%r8d
14029959a:	c1 e0 10             	shl    $0x10,%eax
14029959d:	41 0f b7 ca          	movzwl %r10w,%ecx
1402995a1:	0b c1                	or     %ecx,%eax
1402995a3:	45 89 06             	mov    %r8d,(%r14)
1402995a6:	41 89 46 04          	mov    %eax,0x4(%r14)
1402995aa:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
1402995af:	c3                   	ret
1402995b0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1402995b5:	55                   	push   %rbp
1402995b6:	56                   	push   %rsi
1402995b7:	41 54                	push   %r12
1402995b9:	41 55                	push   %r13
1402995bb:	41 56                	push   %r14
1402995bd:	b8 20 00 00 00       	mov    $0x20,%eax
1402995c2:	e8 19 10 06 00       	call   0x1402fa5e0
1402995c7:	48 2b e0             	sub    %rax,%rsp
1402995ca:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
1402995cf:	4d 8b e9             	mov    %r9,%r13
1402995d2:	41 8b e8             	mov    %r8d,%ebp
1402995d5:	48 8b f2             	mov    %rdx,%rsi
1402995d8:	4c 8b f1             	mov    %rcx,%r14
1402995db:	41 8b 1c 24          	mov    (%r12),%ebx
1402995df:	45 85 c0             	test   %r8d,%r8d
1402995e2:	0f 84 d7 01 00 00    	je     0x1402997bf
1402995e8:	83 bc 24 80 00 00 00 	cmpl   $0x0,0x80(%rsp)
1402995ef:	00
1402995f0:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
1402995f5:	4c 89 7c 24 58       	mov    %r15,0x58(%rsp)
1402995fa:	4c 8b 7c 24 70       	mov    0x70(%rsp),%r15
1402995ff:	0f 84 db 00 00 00    	je     0x1402996e0
140299605:	4c 2b f2             	sub    %rdx,%r14
140299608:	85 db                	test   %ebx,%ebx
14029960a:	0f 85 a5 00 00 00    	jne    0x1402996b5
140299610:	41 0f b6 4f 01       	movzbl 0x1(%r15),%ecx
140299615:	41 0f b6 07          	movzbl (%r15),%eax
140299619:	41 0f b6 57 04       	movzbl 0x4(%r15),%edx
14029961e:	c1 e1 08             	shl    $0x8,%ecx
140299621:	0b c8                	or     %eax,%ecx
140299623:	41 0f b6 47 02       	movzbl 0x2(%r15),%eax
140299628:	c1 e0 10             	shl    $0x10,%eax
14029962b:	0b c8                	or     %eax,%ecx
14029962d:	41 0f b6 47 03       	movzbl 0x3(%r15),%eax
140299632:	c1 e0 18             	shl    $0x18,%eax
140299635:	0b c8                	or     %eax,%ecx
140299637:	41 0f b6 47 05       	movzbl 0x5(%r15),%eax
14029963c:	89 4c 24 70          	mov    %ecx,0x70(%rsp)
140299640:	41 0f b6 4f 07       	movzbl 0x7(%r15),%ecx
140299645:	c1 e1 08             	shl    $0x8,%ecx
140299648:	c1 e0 08             	shl    $0x8,%eax
14029964b:	0b d0                	or     %eax,%edx
14029964d:	41 0f b6 47 06       	movzbl 0x6(%r15),%eax
140299652:	0b c8                	or     %eax,%ecx
140299654:	c1 e1 10             	shl    $0x10,%ecx
140299657:	0b ca                	or     %edx,%ecx
140299659:	49 8b d5             	mov    %r13,%rdx
14029965c:	89 4c 24 74          	mov    %ecx,0x74(%rsp)
140299660:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140299665:	e8 f6 fd ff ff       	call   0x140299460
14029966a:	8b 4c 24 70          	mov    0x70(%rsp),%ecx
14029966e:	0f b6 44 24 70       	movzbl 0x70(%rsp),%eax
140299673:	41 88 07             	mov    %al,(%r15)
140299676:	8b c1                	mov    %ecx,%eax
140299678:	c1 e8 08             	shr    $0x8,%eax
14029967b:	41 88 47 01          	mov    %al,0x1(%r15)
14029967f:	8b c1                	mov    %ecx,%eax
140299681:	c1 e8 10             	shr    $0x10,%eax
140299684:	41 88 47 02          	mov    %al,0x2(%r15)
140299688:	0f b6 44 24 74       	movzbl 0x74(%rsp),%eax
14029968d:	41 88 47 04          	mov    %al,0x4(%r15)
140299691:	c1 e9 18             	shr    $0x18,%ecx
140299694:	41 88 4f 03          	mov    %cl,0x3(%r15)
140299698:	8b 4c 24 74          	mov    0x74(%rsp),%ecx
14029969c:	8b c1                	mov    %ecx,%eax
14029969e:	c1 e8 08             	shr    $0x8,%eax
1402996a1:	41 88 47 05          	mov    %al,0x5(%r15)
1402996a5:	8b c1                	mov    %ecx,%eax
1402996a7:	c1 e8 10             	shr    $0x10,%eax
1402996aa:	c1 e9 18             	shr    $0x18,%ecx
1402996ad:	41 88 4f 07          	mov    %cl,0x7(%r15)
1402996b1:	41 88 47 06          	mov    %al,0x6(%r15)
1402996b5:	41 0f b6 04 36       	movzbl (%r14,%rsi,1),%eax
1402996ba:	48 63 cb             	movslq %ebx,%rcx
1402996bd:	42 32 04 39          	xor    (%rcx,%r15,1),%al
1402996c1:	88 06                	mov    %al,(%rsi)
1402996c3:	48 ff c6             	inc    %rsi
1402996c6:	ff c3                	inc    %ebx
1402996c8:	42 88 04 39          	mov    %al,(%rcx,%r15,1)
1402996cc:	83 e3 07             	and    $0x7,%ebx
1402996cf:	83 ed 01             	sub    $0x1,%ebp
1402996d2:	0f 85 30 ff ff ff    	jne    0x140299608
1402996d8:	e9 d8 00 00 00       	jmp    0x1402997b5
1402996dd:	0f 1f 00             	nopl   (%rax)
1402996e0:	85 db                	test   %ebx,%ebx
1402996e2:	0f 85 a5 00 00 00    	jne    0x14029978d
1402996e8:	41 0f b6 4f 01       	movzbl 0x1(%r15),%ecx
1402996ed:	41 0f b6 07          	movzbl (%r15),%eax
1402996f1:	41 0f b6 57 04       	movzbl 0x4(%r15),%edx
1402996f6:	c1 e1 08             	shl    $0x8,%ecx
1402996f9:	0b c8                	or     %eax,%ecx
1402996fb:	41 0f b6 47 02       	movzbl 0x2(%r15),%eax
140299700:	c1 e0 10             	shl    $0x10,%eax
140299703:	0b c8                	or     %eax,%ecx
140299705:	41 0f b6 47 03       	movzbl 0x3(%r15),%eax
14029970a:	c1 e0 18             	shl    $0x18,%eax
14029970d:	0b c8                	or     %eax,%ecx
14029970f:	41 0f b6 47 05       	movzbl 0x5(%r15),%eax
140299714:	89 4c 24 70          	mov    %ecx,0x70(%rsp)
140299718:	41 0f b6 4f 07       	movzbl 0x7(%r15),%ecx
14029971d:	c1 e1 08             	shl    $0x8,%ecx
140299720:	c1 e0 08             	shl    $0x8,%eax
140299723:	0b d0                	or     %eax,%edx
140299725:	41 0f b6 47 06       	movzbl 0x6(%r15),%eax
14029972a:	0b c8                	or     %eax,%ecx
14029972c:	c1 e1 10             	shl    $0x10,%ecx
14029972f:	0b ca                	or     %edx,%ecx
140299731:	49 8b d5             	mov    %r13,%rdx
140299734:	89 4c 24 74          	mov    %ecx,0x74(%rsp)
140299738:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
14029973d:	e8 1e fd ff ff       	call   0x140299460
140299742:	8b 4c 24 70          	mov    0x70(%rsp),%ecx
140299746:	0f b6 44 24 70       	movzbl 0x70(%rsp),%eax
14029974b:	41 88 07             	mov    %al,(%r15)
14029974e:	8b c1                	mov    %ecx,%eax
140299750:	c1 e8 08             	shr    $0x8,%eax
140299753:	41 88 47 01          	mov    %al,0x1(%r15)
140299757:	8b c1                	mov    %ecx,%eax
140299759:	c1 e8 10             	shr    $0x10,%eax
14029975c:	41 88 47 02          	mov    %al,0x2(%r15)
140299760:	0f b6 44 24 74       	movzbl 0x74(%rsp),%eax
140299765:	41 88 47 04          	mov    %al,0x4(%r15)
140299769:	c1 e9 18             	shr    $0x18,%ecx
14029976c:	41 88 4f 03          	mov    %cl,0x3(%r15)
140299770:	8b 4c 24 74          	mov    0x74(%rsp),%ecx
140299774:	8b c1                	mov    %ecx,%eax
140299776:	c1 e8 08             	shr    $0x8,%eax
140299779:	41 88 47 05          	mov    %al,0x5(%r15)
14029977d:	8b c1                	mov    %ecx,%eax
14029977f:	c1 e8 10             	shr    $0x10,%eax
140299782:	c1 e9 18             	shr    $0x18,%ecx
140299785:	41 88 4f 07          	mov    %cl,0x7(%r15)
140299789:	41 88 47 06          	mov    %al,0x6(%r15)
14029978d:	41 0f b6 16          	movzbl (%r14),%edx
140299791:	49 ff c6             	inc    %r14
140299794:	48 63 c3             	movslq %ebx,%rax
140299797:	42 0f b6 0c 38       	movzbl (%rax,%r15,1),%ecx
14029979c:	42 88 14 38          	mov    %dl,(%rax,%r15,1)
1402997a0:	32 d1                	xor    %cl,%dl
1402997a2:	88 16                	mov    %dl,(%rsi)
1402997a4:	48 ff c6             	inc    %rsi
1402997a7:	ff c3                	inc    %ebx
1402997a9:	83 e3 07             	and    $0x7,%ebx
1402997ac:	83 ed 01             	sub    $0x1,%ebp
1402997af:	0f 85 2b ff ff ff    	jne    0x1402996e0
1402997b5:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
1402997ba:	4c 8b 7c 24 58       	mov    0x58(%rsp),%r15
1402997bf:	41 89 1c 24          	mov    %ebx,(%r12)
1402997c3:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1402997c8:	48 83 c4 20          	add    $0x20,%rsp
1402997cc:	41 5e                	pop    %r14
1402997ce:	41 5d                	pop    %r13
1402997d0:	41 5c                	pop    %r12
1402997d2:	5e                   	pop    %rsi
1402997d3:	5d                   	pop    %rbp
1402997d4:	c3                   	ret
1402997d5:	cc                   	int3
1402997d6:	cc                   	int3
1402997d7:	cc                   	int3
1402997d8:	cc                   	int3
1402997d9:	cc                   	int3
1402997da:	cc                   	int3
1402997db:	cc                   	int3
1402997dc:	cc                   	int3
1402997dd:	cc                   	int3
1402997de:	cc                   	int3
1402997df:	cc                   	int3
1402997e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402997e5:	55                   	push   %rbp
1402997e6:	56                   	push   %rsi
1402997e7:	57                   	push   %rdi
1402997e8:	41 54                	push   %r12
1402997ea:	41 55                	push   %r13
1402997ec:	41 56                	push   %r14
1402997ee:	41 57                	push   %r15
1402997f0:	48 8b ec             	mov    %rsp,%rbp
1402997f3:	b8 50 00 00 00       	mov    $0x50,%eax
1402997f8:	e8 e3 0d 06 00       	call   0x1402fa5e0
1402997fd:	48 2b e0             	sub    %rax,%rsp
140299800:	48 8b 05 79 e9 16 00 	mov    0x16e979(%rip),%rax        # 0x140408180
140299807:	48 33 c4             	xor    %rsp,%rax
14029980a:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14029980e:	4c 8b 7d 60          	mov    0x60(%rbp),%r15
140299812:	48 8b f9             	mov    %rcx,%rdi
140299815:	4c 8b 6d 68          	mov    0x68(%rbp),%r13
140299819:	4c 8b e2             	mov    %rdx,%r12
14029981c:	45 33 f6             	xor    %r14d,%r14d
14029981f:	4c 89 4d d8          	mov    %r9,-0x28(%rbp)
140299823:	41 8b f0             	mov    %r8d,%esi
140299826:	4c 89 6d e0          	mov    %r13,-0x20(%rbp)
14029982a:	41 0f b6 47 01       	movzbl 0x1(%r15),%eax
14029982f:	45 0f b6 17          	movzbl (%r15),%r10d
140299833:	41 0f b6 57 04       	movzbl 0x4(%r15),%edx
140299838:	41 0f b6 4f 07       	movzbl 0x7(%r15),%ecx
14029983d:	41 8b 5d 00          	mov    0x0(%r13),%ebx
140299841:	c1 e0 08             	shl    $0x8,%eax
140299844:	44 0b d0             	or     %eax,%r10d
140299847:	c1 e1 08             	shl    $0x8,%ecx
14029984a:	41 0f b6 47 02       	movzbl 0x2(%r15),%eax
14029984f:	c1 e0 10             	shl    $0x10,%eax
140299852:	44 0b d0             	or     %eax,%r10d
140299855:	41 0f b6 47 03       	movzbl 0x3(%r15),%eax
14029985a:	c1 e0 18             	shl    $0x18,%eax
14029985d:	44 0b d0             	or     %eax,%r10d
140299860:	41 0f b6 47 05       	movzbl 0x5(%r15),%eax
140299865:	c1 e0 08             	shl    $0x8,%eax
140299868:	0b d0                	or     %eax,%edx
14029986a:	44 89 55 d0          	mov    %r10d,-0x30(%rbp)
14029986e:	41 0f b6 47 06       	movzbl 0x6(%r15),%eax
140299873:	0b c8                	or     %eax,%ecx
140299875:	44 88 55 e8          	mov    %r10b,-0x18(%rbp)
140299879:	c1 e1 10             	shl    $0x10,%ecx
14029987c:	41 8b c2             	mov    %r10d,%eax
14029987f:	c1 e8 08             	shr    $0x8,%eax
140299882:	0b d1                	or     %ecx,%edx
140299884:	88 45 e9             	mov    %al,-0x17(%rbp)
140299887:	41 8b c2             	mov    %r10d,%eax
14029988a:	c1 e8 10             	shr    $0x10,%eax
14029988d:	88 45 ea             	mov    %al,-0x16(%rbp)
140299890:	41 8b c2             	mov    %r10d,%eax
140299893:	c1 e8 18             	shr    $0x18,%eax
140299896:	88 45 eb             	mov    %al,-0x15(%rbp)
140299899:	8b c2                	mov    %edx,%eax
14029989b:	c1 e8 08             	shr    $0x8,%eax
14029989e:	88 45 ed             	mov    %al,-0x13(%rbp)
1402998a1:	8b c2                	mov    %edx,%eax
1402998a3:	c1 e8 10             	shr    $0x10,%eax
1402998a6:	88 45 ee             	mov    %al,-0x12(%rbp)
1402998a9:	8b c2                	mov    %edx,%eax
1402998ab:	c1 e8 18             	shr    $0x18,%eax
1402998ae:	89 55 d4             	mov    %edx,-0x2c(%rbp)
1402998b1:	88 55 ec             	mov    %dl,-0x14(%rbp)
1402998b4:	88 45 ef             	mov    %al,-0x11(%rbp)
1402998b7:	45 85 c0             	test   %r8d,%r8d
1402998ba:	0f 84 d0 00 00 00    	je     0x140299990
1402998c0:	4c 8b 6d d8          	mov    -0x28(%rbp),%r13
1402998c4:	4c 2b e7             	sub    %rdi,%r12
1402998c7:	44 0f b6 c2          	movzbl %dl,%r8d
1402998cb:	45 0f b6 ca          	movzbl %r10b,%r9d
1402998cf:	90                   	nop
1402998d0:	ff ce                	dec    %esi
1402998d2:	85 db                	test   %ebx,%ebx
1402998d4:	75 5b                	jne    0x140299931
1402998d6:	49 8b d5             	mov    %r13,%rdx
1402998d9:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
1402998dd:	e8 7e fb ff ff       	call   0x140299460
1402998e2:	44 8b 55 d0          	mov    -0x30(%rbp),%r10d
1402998e6:	41 8b c2             	mov    %r10d,%eax
1402998e9:	8b 55 d4             	mov    -0x2c(%rbp),%edx
1402998ec:	44 0f b6 4d d0       	movzbl -0x30(%rbp),%r9d
1402998f1:	44 0f b6 45 d4       	movzbl -0x2c(%rbp),%r8d
1402998f6:	c1 e8 08             	shr    $0x8,%eax
1402998f9:	88 45 e9             	mov    %al,-0x17(%rbp)
1402998fc:	41 8b c2             	mov    %r10d,%eax
1402998ff:	c1 e8 10             	shr    $0x10,%eax
140299902:	88 45 ea             	mov    %al,-0x16(%rbp)
140299905:	41 8b c2             	mov    %r10d,%eax
140299908:	c1 e8 18             	shr    $0x18,%eax
14029990b:	88 45 eb             	mov    %al,-0x15(%rbp)
14029990e:	8b c2                	mov    %edx,%eax
140299910:	c1 e8 08             	shr    $0x8,%eax
140299913:	88 45 ed             	mov    %al,-0x13(%rbp)
140299916:	8b c2                	mov    %edx,%eax
140299918:	c1 e8 10             	shr    $0x10,%eax
14029991b:	88 45 ee             	mov    %al,-0x12(%rbp)
14029991e:	8b c2                	mov    %edx,%eax
140299920:	c1 e8 18             	shr    $0x18,%eax
140299923:	88 45 ef             	mov    %al,-0x11(%rbp)
140299926:	41 ff c6             	inc    %r14d
140299929:	44 88 4d e8          	mov    %r9b,-0x18(%rbp)
14029992d:	44 88 45 ec          	mov    %r8b,-0x14(%rbp)
140299931:	48 63 c3             	movslq %ebx,%rax
140299934:	0f b6 4c 05 e8       	movzbl -0x18(%rbp,%rax,1),%ecx
140299939:	32 0f                	xor    (%rdi),%cl
14029993b:	41 88 0c 3c          	mov    %cl,(%r12,%rdi,1)
14029993f:	48 ff c7             	inc    %rdi
140299942:	ff c3                	inc    %ebx
140299944:	83 e3 07             	and    $0x7,%ebx
140299947:	85 f6                	test   %esi,%esi
140299949:	75 85                	jne    0x1402998d0
14029994b:	4c 8b 6d e0          	mov    -0x20(%rbp),%r13
14029994f:	45 85 f6             	test   %r14d,%r14d
140299952:	74 3c                	je     0x140299990
140299954:	41 8b c2             	mov    %r10d,%eax
140299957:	45 88 0f             	mov    %r9b,(%r15)
14029995a:	c1 e8 08             	shr    $0x8,%eax
14029995d:	41 88 47 01          	mov    %al,0x1(%r15)
140299961:	41 8b c2             	mov    %r10d,%eax
140299964:	c1 e8 10             	shr    $0x10,%eax
140299967:	41 88 47 02          	mov    %al,0x2(%r15)
14029996b:	8b c2                	mov    %edx,%eax
14029996d:	c1 e8 08             	shr    $0x8,%eax
140299970:	41 88 47 05          	mov    %al,0x5(%r15)
140299974:	8b c2                	mov    %edx,%eax
140299976:	c1 e8 10             	shr    $0x10,%eax
140299979:	41 c1 ea 18          	shr    $0x18,%r10d
14029997d:	c1 ea 18             	shr    $0x18,%edx
140299980:	41 88 57 07          	mov    %dl,0x7(%r15)
140299984:	45 88 57 03          	mov    %r10b,0x3(%r15)
140299988:	45 88 47 04          	mov    %r8b,0x4(%r15)
14029998c:	41 88 47 06          	mov    %al,0x6(%r15)
140299990:	41 89 5d 00          	mov    %ebx,0x0(%r13)
140299994:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
140299998:	48 33 cc             	xor    %rsp,%rcx
14029999b:	e8 a0 0c 06 00       	call   0x1402fa640
1402999a0:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1402999a7:	00
1402999a8:	48 83 c4 50          	add    $0x50,%rsp
1402999ac:	41 5f                	pop    %r15
1402999ae:	41 5e                	pop    %r14
1402999b0:	41 5d                	pop    %r13