140045322:	49 31 d4             	xor    %rdx,%r12
140045325:	49 89 f2             	mov    %rsi,%r10
140045328:	49 89 f5             	mov    %rsi,%r13
14004532b:	4d 21 ca             	and    %r9,%r10
14004532e:	4d 21 e5             	and    %r12,%r13
140045331:	4c 89 d3             	mov    %r10,%rbx
140045334:	4c 89 ea             	mov    %r13,%rdx
140045337:	49 c1 ea 07          	shr    $0x7,%r10
14004533b:	49 31 c0             	xor    %rax,%r8
14004533e:	49 c1 ed 07          	shr    $0x7,%r13
140045342:	49 31 cb             	xor    %rcx,%r11
140045345:	4c 29 d3             	sub    %r10,%rbx
140045348:	4c 29 ea             	sub    %r13,%rdx
14004534b:	4f 8d 14 09          	lea    (%r9,%r9,1),%r10
14004534f:	4f 8d 2c 24          	lea    (%r12,%r12,1),%r13
140045353:	49 31 c1             	xor    %rax,%r9
140045356:	49 31 cc             	xor    %rcx,%r12
140045359:	49 21 fa             	and    %rdi,%r10
14004535c:	49 21 fd             	and    %rdi,%r13
14004535f:	48 21 eb             	and    %rbp,%rbx
140045362:	48 21 ea             	and    %rbp,%rdx
140045365:	49 31 da             	xor    %rbx,%r10
140045368:	49 31 d5             	xor    %rdx,%r13
14004536b:	4c 31 d0             	xor    %r10,%rax
14004536e:	4c 31 e9             	xor    %r13,%rcx
140045371:	4d 31 d0             	xor    %r10,%r8
140045374:	4d 31 eb             	xor    %r13,%r11
140045377:	48 89 c3             	mov    %rax,%rbx
14004537a:	48 89 ca             	mov    %rcx,%rdx
14004537d:	4d 31 d1             	xor    %r10,%r9
140045380:	48 c1 eb 20          	shr    $0x20,%rbx
140045384:	4d 31 ec             	xor    %r13,%r12
140045387:	48 c1 ea 20          	shr    $0x20,%rdx
14004538b:	4d 31 c2             	xor    %r8,%r10
14004538e:	c1 c0 08             	rol    $0x8,%eax
140045391:	4d 31 dd             	xor    %r11,%r13
140045394:	c1 c1 08             	rol    $0x8,%ecx
140045397:	4d 31 ca             	xor    %r9,%r10
14004539a:	c1 c3 08             	rol    $0x8,%ebx
14004539d:	4d 31 e5             	xor    %r12,%r13
1400453a0:	c1 c2 08             	rol    $0x8,%edx
1400453a3:	44 31 d0             	xor    %r10d,%eax
1400453a6:	49 c1 ea 20          	shr    $0x20,%r10
1400453aa:	44 31 e9             	xor    %r13d,%ecx
1400453ad:	49 c1 ed 20          	shr    $0x20,%r13
1400453b1:	44 31 d3             	xor    %r10d,%ebx
1400453b4:	44 31 ea             	xor    %r13d,%edx
1400453b7:	4d 89 c2             	mov    %r8,%r10
1400453ba:	41 c1 c0 18          	rol    $0x18,%r8d
1400453be:	4d 89 dd             	mov    %r11,%r13
1400453c1:	41 c1 c3 18          	rol    $0x18,%r11d
1400453c5:	49 c1 ea 20          	shr    $0x20,%r10
1400453c9:	44 31 c0             	xor    %r8d,%eax
1400453cc:	49 c1 ed 20          	shr    $0x20,%r13
1400453d0:	44 31 d9             	xor    %r11d,%ecx
1400453d3:	41 c1 c2 18          	rol    $0x18,%r10d
1400453d7:	4d 89 c8             	mov    %r9,%r8
1400453da:	41 c1 c5 18          	rol    $0x18,%r13d
1400453de:	4d 89 e3             	mov    %r12,%r11
1400453e1:	49 c1 e8 20          	shr    $0x20,%r8
1400453e5:	44 31 d3             	xor    %r10d,%ebx
1400453e8:	49 c1 eb 20          	shr    $0x20,%r11
1400453ec:	44 31 ea             	xor    %r13d,%edx
1400453ef:	49 8b 36             	mov    (%r14),%rsi
1400453f2:	41 c1 c1 10          	rol    $0x10,%r9d
1400453f6:	49 8b 7e 40          	mov    0x40(%r14),%rdi
1400453fa:	41 c1 c4 10          	rol    $0x10,%r12d
1400453fe:	49 8b ae 80 00 00 00 	mov    0x80(%r14),%rbp
140045405:	41 c1 c0 10          	rol    $0x10,%r8d
140045409:	4d 8b 96 c0 00 00 00 	mov    0xc0(%r14),%r10
140045410:	44 31 c8             	xor    %r9d,%eax
140045413:	41 c1 c3 10          	rol    $0x10,%r11d
140045417:	44 31 e1             	xor    %r12d,%ecx
14004541a:	4d 8b ae 00 01 00 00 	mov    0x100(%r14),%r13
140045421:	44 31 c3             	xor    %r8d,%ebx
140045424:	44 31 da             	xor    %r11d,%edx
140045427:	e9 64 fd ff ff       	jmp    0x140045190
14004542c:	90                   	nop
14004542d:	90                   	nop
14004542e:	90                   	nop
14004542f:	90                   	nop
140045430:	41 33 07             	xor    (%r15),%eax
140045433:	41 33 5f 04          	xor    0x4(%r15),%ebx
140045437:	41 33 4f 08          	xor    0x8(%r15),%ecx
14004543b:	41 33 57 0c          	xor    0xc(%r15),%edx
14004543f:	f3 c3                	repz ret
140045441:	90                   	nop
140045442:	90                   	nop
140045443:	90                   	nop
140045444:	90                   	nop
140045445:	90                   	nop
140045446:	90                   	nop
140045447:	90                   	nop
140045448:	90                   	nop
140045449:	90                   	nop
14004544a:	90                   	nop
14004544b:	90                   	nop
14004544c:	90                   	nop
14004544d:	90                   	nop
14004544e:	90                   	nop
14004544f:	90                   	nop
140045450:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
140045455:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14004545a:	48 89 e0             	mov    %rsp,%rax
14004545d:	48 89 cf             	mov    %rcx,%rdi
140045460:	48 89 d6             	mov    %rdx,%rsi
140045463:	4c 89 c2             	mov    %r8,%rdx
140045466:	f3 0f 1e fa          	endbr64
14004546a:	48 89 e0             	mov    %rsp,%rax
14004546d:	53                   	push   %rbx
14004546e:	55                   	push   %rbp
14004546f:	41 54                	push   %r12
140045471:	41 55                	push   %r13
140045473:	41 56                	push   %r14
140045475:	41 57                	push   %r15
140045477:	48 8d 4a c1          	lea    -0x3f(%rdx),%rcx
14004547b:	48 83 e4 c0          	and    $0xffffffffffffffc0,%rsp
14004547f:	48 29 e1             	sub    %rsp,%rcx
140045482:	48 f7 d9             	neg    %rcx
140045485:	48 81 e1 c0 03 00 00 	and    $0x3c0,%rcx
14004548c:	48 29 cc             	sub    %rcx,%rsp
14004548f:	48 83 ec 20          	sub    $0x20,%rsp
140045493:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140045498:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
14004549d:	49 89 d7             	mov    %rdx,%r15
1400454a0:	45 8b af f0 00 00 00 	mov    0xf0(%r15),%r13d
1400454a7:	8b 07                	mov    (%rdi),%eax
1400454a9:	8b 5f 04             	mov    0x4(%rdi),%ebx
1400454ac:	8b 4f 08             	mov    0x8(%rdi),%ecx
1400454af:	8b 57 0c             	mov    0xc(%rdi),%edx
1400454b2:	41 c1 e5 04          	shl    $0x4,%r13d
1400454b6:	4b 8d 2c 2f          	lea    (%r15,%r13,1),%rbp
1400454ba:	4c 89 3c 24          	mov    %r15,(%rsp)
1400454be:	48 89 6c 24 08       	mov    %rbp,0x8(%rsp)
1400454c3:	4c 8d 35 b6 1f 00 00 	lea    0x1fb6(%rip),%r14        # 0x140047480
1400454ca:	48 8d ac 24 00 03 00 	lea    0x300(%rsp),%rbp
1400454d1:	00
1400454d2:	4c 29 f5             	sub    %r14,%rbp
1400454d5:	48 81 e5 00 03 00 00 	and    $0x300,%rbp
1400454dc:	4d 8d 34 2e          	lea    (%r14,%rbp,1),%r14
1400454e0:	48 c1 ed 03          	shr    $0x3,%rbp
1400454e4:	49 01 ee             	add    %rbp,%r14
1400454e7:	e8 74 fc ff ff       	call   0x140045160
1400454ec:	4c 8b 4c 24 10       	mov    0x10(%rsp),%r9
1400454f1:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
1400454f6:	41 89 01             	mov    %eax,(%r9)
1400454f9:	41 89 59 04          	mov    %ebx,0x4(%r9)
1400454fd:	41 89 49 08          	mov    %ecx,0x8(%r9)
140045501:	41 89 51 0c          	mov    %edx,0xc(%r9)
140045505:	4c 8b 7e d0          	mov    -0x30(%rsi),%r15
140045509:	4c 8b 76 d8          	mov    -0x28(%rsi),%r14
14004550d:	4c 8b 6e e0          	mov    -0x20(%rsi),%r13
140045511:	4c 8b 66 e8          	mov    -0x18(%rsi),%r12
140045515:	48 8b 6e f0          	mov    -0x10(%rsi),%rbp
140045519:	48 8b 5e f8          	mov    -0x8(%rsi),%rbx
14004551d:	48 8d 26             	lea    (%rsi),%rsp
140045520:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
140045525:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14004552a:	f3 c3                	repz ret
14004552c:	90                   	nop
14004552d:	90                   	nop
14004552e:	90                   	nop
14004552f:	90                   	nop
140045530:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
140045535:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14004553a:	48 89 e0             	mov    %rsp,%rax
14004553d:	48 89 cf             	mov    %rcx,%rdi
140045540:	48 89 d6             	mov    %rdx,%rsi
140045543:	4c 89 c2             	mov    %r8,%rdx
140045546:	f3 0f 1e fa          	endbr64
14004554a:	53                   	push   %rbx
14004554b:	55                   	push   %rbp
14004554c:	41 54                	push   %r12
14004554e:	41 55                	push   %r13
140045550:	41 56                	push   %r14
140045552:	41 57                	push   %r15
140045554:	48 83 ec 08          	sub    $0x8,%rsp
140045558:	e8 23 00 00 00       	call   0x140045580
14004555d:	48 8b 6c 24 28       	mov    0x28(%rsp),%rbp
140045562:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140045567:	48 83 c4 38          	add    $0x38,%rsp
14004556b:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
140045570:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140045575:	f3 c3                	repz ret
140045577:	90                   	nop
140045578:	90                   	nop
140045579:	90                   	nop
14004557a:	90                   	nop
14004557b:	90                   	nop
14004557c:	90                   	nop
14004557d:	90                   	nop
14004557e:	90                   	nop
14004557f:	90                   	nop
140045580:	89 f1                	mov    %esi,%ecx
140045582:	48 89 fe             	mov    %rdi,%rsi
140045585:	48 89 d7             	mov    %rdx,%rdi
140045588:	48 f7 c6 ff ff ff ff 	test   $0xffffffffffffffff,%rsi
14004558f:	0f 84 6b 02 00 00    	je     0x140045800
140045595:	48 f7 c7 ff ff ff ff 	test   $0xffffffffffffffff,%rdi
14004559c:	0f 84 5e 02 00 00    	je     0x140045800
1400455a2:	48 8d 2d 97 0a 00 00 	lea    0xa97(%rip),%rbp        # 0x140046040
1400455a9:	48 8d ad 80 08 00 00 	lea    0x880(%rbp),%rbp
1400455b0:	8b 45 80             	mov    -0x80(%rbp),%eax
1400455b3:	8b 5d a0             	mov    -0x60(%rbp),%ebx
1400455b6:	44 8b 45 c0          	mov    -0x40(%rbp),%r8d
1400455ba:	8b 55 e0             	mov    -0x20(%rbp),%edx
1400455bd:	8b 45 00             	mov    0x0(%rbp),%eax
1400455c0:	8b 5d 20             	mov    0x20(%rbp),%ebx
1400455c3:	44 8b 45 40          	mov    0x40(%rbp),%r8d
1400455c7:	8b 55 60             	mov    0x60(%rbp),%edx
1400455ca:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
1400455d0:	74 24                	je     0x1400455f6
1400455d2:	81 f9 c0 00 00 00    	cmp    $0xc0,%ecx
1400455d8:	0f 84 9e 00 00 00    	je     0x14004567c
1400455de:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
1400455e4:	0f 84 30 01 00 00    	je     0x14004571a
1400455ea:	48 c7 c0 fe ff ff ff 	mov    $0xfffffffffffffffe,%rax
1400455f1:	e9 11 02 00 00       	jmp    0x140045807
1400455f6:	48 8b 06             	mov    (%rsi),%rax
1400455f9:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1400455fd:	48 89 07             	mov    %rax,(%rdi)
140045600:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140045604:	48 c1 ea 20          	shr    $0x20,%rdx
140045608:	31 c9                	xor    %ecx,%ecx
14004560a:	eb 05                	jmp    0x140045611
14004560c:	8b 07                	mov    (%rdi),%eax
14004560e:	8b 57 0c             	mov    0xc(%rdi),%edx
140045611:	0f b6 f2             	movzbl %dl,%esi
140045614:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
140045619:	0f b6 f6             	movzbl %dh,%esi
14004561c:	c1 e3 18             	shl    $0x18,%ebx
14004561f:	31 d8                	xor    %ebx,%eax
140045621:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
140045626:	c1 ea 10             	shr    $0x10,%edx
140045629:	0f b6 f2             	movzbl %dl,%esi
14004562c:	31 d8                	xor    %ebx,%eax
14004562e:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
140045633:	0f b6 f6             	movzbl %dh,%esi
140045636:	c1 e3 08             	shl    $0x8,%ebx
140045639:	31 d8                	xor    %ebx,%eax
14004563b:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
140045640:	c1 e3 10             	shl    $0x10,%ebx
140045643:	31 d8                	xor    %ebx,%eax
140045645:	33 84 8d 80 03 00 00 	xor    0x380(%rbp,%rcx,4),%eax
14004564c:	89 47 10             	mov    %eax,0x10(%rdi)
14004564f:	33 47 04             	xor    0x4(%rdi),%eax
140045652:	89 47 14             	mov    %eax,0x14(%rdi)
140045655:	33 47 08             	xor    0x8(%rdi),%eax
140045658:	89 47 18             	mov    %eax,0x18(%rdi)
14004565b:	33 47 0c             	xor    0xc(%rdi),%eax
14004565e:	89 47 1c             	mov    %eax,0x1c(%rdi)
140045661:	83 c1 01             	add    $0x1,%ecx
140045664:	48 8d 7f 10          	lea    0x10(%rdi),%rdi
140045668:	83 f9 0a             	cmp    $0xa,%ecx
14004566b:	7c 9f                	jl     0x14004560c
14004566d:	c7 47 50 0a 00 00 00 	movl   $0xa,0x50(%rdi)
140045674:	48 31 c0             	xor    %rax,%rax
140045677:	e9 8b 01 00 00       	jmp    0x140045807
14004567c:	48 8b 06             	mov    (%rsi),%rax
14004567f:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140045683:	48 8b 56 10          	mov    0x10(%rsi),%rdx
140045687:	48 89 07             	mov    %rax,(%rdi)
14004568a:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
14004568e:	48 89 57 10          	mov    %rdx,0x10(%rdi)
140045692:	48 c1 ea 20          	shr    $0x20,%rdx
140045696:	31 c9                	xor    %ecx,%ecx
140045698:	eb 07                	jmp    0x1400456a1
14004569a:	90                   	nop
14004569b:	90                   	nop
14004569c:	8b 07                	mov    (%rdi),%eax
14004569e:	8b 57 14             	mov    0x14(%rdi),%edx
1400456a1:	0f b6 f2             	movzbl %dl,%esi
1400456a4:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
1400456a9:	0f b6 f6             	movzbl %dh,%esi
1400456ac:	c1 e3 18             	shl    $0x18,%ebx
1400456af:	31 d8                	xor    %ebx,%eax
1400456b1:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
1400456b6:	c1 ea 10             	shr    $0x10,%edx
1400456b9:	0f b6 f2             	movzbl %dl,%esi
1400456bc:	31 d8                	xor    %ebx,%eax
1400456be:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
1400456c3:	0f b6 f6             	movzbl %dh,%esi
1400456c6:	c1 e3 08             	shl    $0x8,%ebx
1400456c9:	31 d8                	xor    %ebx,%eax
1400456cb:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
1400456d0:	c1 e3 10             	shl    $0x10,%ebx
1400456d3:	31 d8                	xor    %ebx,%eax
1400456d5:	33 84 8d 80 03 00 00 	xor    0x380(%rbp,%rcx,4),%eax
1400456dc:	89 47 18             	mov    %eax,0x18(%rdi)
1400456df:	33 47 04             	xor    0x4(%rdi),%eax
1400456e2:	89 47 1c             	mov    %eax,0x1c(%rdi)
1400456e5:	33 47 08             	xor    0x8(%rdi),%eax
1400456e8:	89 47 20             	mov    %eax,0x20(%rdi)
1400456eb:	33 47 0c             	xor    0xc(%rdi),%eax
1400456ee:	89 47 24             	mov    %eax,0x24(%rdi)
1400456f1:	83 f9 07             	cmp    $0x7,%ecx
1400456f4:	74 15                	je     0x14004570b
1400456f6:	83 c1 01             	add    $0x1,%ecx
1400456f9:	33 47 10             	xor    0x10(%rdi),%eax
1400456fc:	89 47 28             	mov    %eax,0x28(%rdi)
1400456ff:	33 47 14             	xor    0x14(%rdi),%eax
140045702:	89 47 2c             	mov    %eax,0x2c(%rdi)
140045705:	48 8d 7f 18          	lea    0x18(%rdi),%rdi
140045709:	eb 91                	jmp    0x14004569c
14004570b:	c7 47 48 0c 00 00 00 	movl   $0xc,0x48(%rdi)
140045712:	48 31 c0             	xor    %rax,%rax
140045715:	e9 ed 00 00 00       	jmp    0x140045807
14004571a:	48 8b 06             	mov    (%rsi),%rax
14004571d:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140045721:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140045725:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140045729:	48 89 07             	mov    %rax,(%rdi)
14004572c:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
140045730:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140045734:	48 89 57 18          	mov    %rdx,0x18(%rdi)
140045738:	48 c1 ea 20          	shr    $0x20,%rdx
14004573c:	31 c9                	xor    %ecx,%ecx
14004573e:	eb 05                	jmp    0x140045745
140045740:	8b 07                	mov    (%rdi),%eax
140045742:	8b 57 1c             	mov    0x1c(%rdi),%edx
140045745:	0f b6 f2             	movzbl %dl,%esi
140045748:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
14004574d:	0f b6 f6             	movzbl %dh,%esi
140045750:	c1 e3 18             	shl    $0x18,%ebx
140045753:	31 d8                	xor    %ebx,%eax
140045755:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
14004575a:	c1 ea 10             	shr    $0x10,%edx
14004575d:	0f b6 f2             	movzbl %dl,%esi
140045760:	31 d8                	xor    %ebx,%eax
140045762:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
140045767:	0f b6 f6             	movzbl %dh,%esi
14004576a:	c1 e3 08             	shl    $0x8,%ebx
14004576d:	31 d8                	xor    %ebx,%eax
14004576f:	0f b6 5c 35 80       	movzbl -0x80(%rbp,%rsi,1),%ebx
140045774:	c1 e3 10             	shl    $0x10,%ebx
140045777:	31 d8                	xor    %ebx,%eax
140045779:	33 84 8d 80 03 00 00 	xor    0x380(%rbp,%rcx,4),%eax
140045780:	89 47 20             	mov    %eax,0x20(%rdi)
140045783:	33 47 04             	xor    0x4(%rdi),%eax
140045786:	89 47 24             	mov    %eax,0x24(%rdi)
140045789:	33 47 08             	xor    0x8(%rdi),%eax
14004578c:	89 47 28             	mov    %eax,0x28(%rdi)
14004578f:	33 47 0c             	xor    0xc(%rdi),%eax
140045792:	89 47 2c             	mov    %eax,0x2c(%rdi)
140045795:	83 f9 06             	cmp    $0x6,%ecx
140045798:	74 5a                	je     0x1400457f4
14004579a:	83 c1 01             	add    $0x1,%ecx
14004579d:	89 c2                	mov    %eax,%edx
14004579f:	8b 47 10             	mov    0x10(%rdi),%eax
1400457a2:	0f b6 f2             	movzbl %dl,%esi