14004242b:	48 03 46 38          	add    0x38(%rsi),%rax
14004242f:	48 8b 92 90 01 00 00 	mov    0x190(%rdx),%rdx
140042436:	48 83 7a 10 20       	cmpq   $0x20,0x10(%rdx)
14004243b:	48 8b 94 24 80 00 00 	mov    0x80(%rsp),%rdx
140042442:	00
140042443:	0f 84 ee 01 00 00    	je     0x140042637
140042449:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140042450:	00
140042451:	48 33 10             	xor    (%rax),%rdx
140042454:	48 33 48 08          	xor    0x8(%rax),%rcx
140042458:	48 09 ca             	or     %rcx,%rdx
14004245b:	0f 84 bf 01 00 00    	je     0x140042620
140042461:	48 89 fa             	mov    %rdi,%rdx
140042464:	48 8d 0d 6d c4 1b 00 	lea    0x1bc46d(%rip),%rcx        # 0x1401fe8d8
14004246b:	e8 c0 11 08 00       	call   0x1400c3630
140042470:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140042475:	48 8b 1d 74 66 1f 00 	mov    0x1f6674(%rip),%rbx        # 0x140238af0
14004247c:	48 8b 94 24 a8 00 00 	mov    0xa8(%rsp),%rdx
140042483:	00
140042484:	48 2b 13             	sub    (%rbx),%rdx
140042487:	0f 85 97 02 00 00    	jne    0x140042724
14004248d:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
140042494:	5b                   	pop    %rbx
140042495:	5e                   	pop    %rsi
140042496:	5f                   	pop    %rdi
140042497:	5d                   	pop    %rbp
140042498:	41 5c                	pop    %r12
14004249a:	c3                   	ret
14004249b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400424a0:	4d 85 db             	test   %r11,%r11
1400424a3:	74 3b                	je     0x1400424e0
1400424a5:	44 89 c1             	mov    %r8d,%ecx
1400424a8:	e9 2d fe ff ff       	jmp    0x1400422da
1400424ad:	0f 1f 00             	nopl   (%rax)
1400424b0:	48 8b 08             	mov    (%rax),%rcx
1400424b3:	48 85 c9             	test   %rcx,%rcx
1400424b6:	0f 84 d9 00 00 00    	je     0x140042595
1400424bc:	44 8b 51 24          	mov    0x24(%rcx),%r10d
1400424c0:	48 89 c2             	mov    %rax,%rdx
1400424c3:	48 89 c8             	mov    %rcx,%rax
1400424c6:	45 85 d2             	test   %r10d,%r10d
1400424c9:	0f 85 e6 fd ff ff    	jne    0x1400422b5
1400424cf:	44 89 c1             	mov    %r8d,%ecx
1400424d2:	e9 1e fe ff ff       	jmp    0x1400422f5
1400424d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400424de:	00 00
1400424e0:	48 8b 00             	mov    (%rax),%rax
1400424e3:	48 85 c0             	test   %rax,%rax
1400424e6:	0f 84 c1 00 00 00    	je     0x1400425ad
1400424ec:	44 8b 48 24          	mov    0x24(%rax),%r9d
1400424f0:	45 85 c9             	test   %r9d,%r9d
1400424f3:	0f 85 bf fd ff ff    	jne    0x1400422b8
1400424f9:	eb d4                	jmp    0x1400424cf
1400424fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140042500:	48 89 fd             	mov    %rdi,%rbp
140042503:	48 8b 7f 10          	mov    0x10(%rdi),%rdi
140042507:	41 89 c8             	mov    %ecx,%r8d
14004250a:	49 89 d3             	mov    %rdx,%r11
14004250d:	48 85 ff             	test   %rdi,%rdi
140042510:	0f 85 5a fd ff ff    	jne    0x140042270
140042516:	e9 12 fe ff ff       	jmp    0x14004232d
14004251b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140042520:	48 85 c0             	test   %rax,%rax
140042523:	0f 85 f7 fd ff ff    	jne    0x140042320
140042529:	48 8b 85 88 00 00 00 	mov    0x88(%rbp),%rax
140042530:	48 39 87 88 00 00 00 	cmp    %rax,0x88(%rdi)
140042537:	0f 8f e3 fd ff ff    	jg     0x140042320
14004253d:	48 89 fd             	mov    %rdi,%rbp
140042540:	48 8b 7f 10          	mov    0x10(%rdi),%rdi
140042544:	45 31 c0             	xor    %r8d,%r8d
140042547:	48 85 ff             	test   %rdi,%rdi
14004254a:	0f 85 20 fd ff ff    	jne    0x140042270
140042550:	e9 d8 fd ff ff       	jmp    0x14004232d
140042555:	0f 1f 00             	nopl   (%rax)
140042558:	8b 8d 90 00 00 00    	mov    0x90(%rbp),%ecx
14004255e:	85 c9                	test   %ecx,%ecx
140042560:	0f 88 d0 fd ff ff    	js     0x140042336
140042566:	e8 d5 75 1a 00       	call   0x1401e9b40
14004256b:	8b 05 73 0a 22 00    	mov    0x220a73(%rip),%eax        # 0x140262fe4
140042571:	c7 85 90 00 00 00 ff 	movl   $0xffffffff,0x90(%rbp)
140042578:	ff ff ff
14004257b:	83 e8 01             	sub    $0x1,%eax
14004257e:	3b 05 5c 0a 22 00    	cmp    0x220a5c(%rip),%eax        # 0x140262fe0
140042584:	89 05 5a 0a 22 00    	mov    %eax,0x220a5a(%rip)        # 0x140262fe4
14004258a:	0f 83 b0 fc ff ff    	jae    0x140042240
140042590:	e9 a1 fd ff ff       	jmp    0x140042336
140042595:	48 89 fd             	mov    %rdi,%rbp
140042598:	48 8b 7f 10          	mov    0x10(%rdi),%rdi
14004259c:	49 89 c3             	mov    %rax,%r11
14004259f:	48 85 ff             	test   %rdi,%rdi
1400425a2:	0f 85 c8 fc ff ff    	jne    0x140042270
1400425a8:	e9 80 fd ff ff       	jmp    0x14004232d
1400425ad:	48 89 fd             	mov    %rdi,%rbp
1400425b0:	48 8b 7f 10          	mov    0x10(%rdi),%rdi
1400425b4:	49 89 d3             	mov    %rdx,%r11
1400425b7:	48 85 ff             	test   %rdi,%rdi
1400425ba:	0f 85 b0 fc ff ff    	jne    0x140042270
1400425c0:	e9 68 fd ff ff       	jmp    0x14004232d
1400425c5:	c7 05 11 0a 22 00 e7 	movl   $0x7e7,0x220a11(%rip)        # 0x140262fe0
1400425cc:	07 00 00
1400425cf:	b8 e7 07 00 00       	mov    $0x7e7,%eax
1400425d4:	e9 54 fc ff ff       	jmp    0x14004222d
1400425d9:	0f b7 44 24 36       	movzwl 0x36(%rsp),%eax
1400425de:	66 25 00 f0          	and    $0xf000,%ax
1400425e2:	66 3d 00 80          	cmp    $0x8000,%ax
1400425e6:	0f 85 8b 00 00 00    	jne    0x140042677
1400425ec:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1400425f1:	48 89 46 30          	mov    %rax,0x30(%rsi)
1400425f5:	e9 8e fd ff ff       	jmp    0x140042388
1400425fa:	e8 51 fb ff ff       	call   0x140042150
1400425ff:	85 c0                	test   %eax,%eax
140042601:	0f 84 18 fc ff ff    	je     0x14004221f
140042607:	48 8d 96 f8 00 00 00 	lea    0xf8(%rsi),%rdx
14004260e:	48 8d 0d 3e c1 1b 00 	lea    0x1bc13e(%rip),%rcx        # 0x1401fe753
140042615:	e8 16 10 08 00       	call   0x1400c3630
14004261a:	e9 51 fe ff ff       	jmp    0x140042470
14004261f:	90                   	nop
140042620:	8b 40 10             	mov    0x10(%rax),%eax
140042623:	39 84 24 90 00 00 00 	cmp    %eax,0x90(%rsp)
14004262a:	0f 85 31 fe ff ff    	jne    0x140042461
140042630:	31 c0                	xor    %eax,%eax
140042632:	e9 3e fe ff ff       	jmp    0x140042475
140042637:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
14004263e:	00
14004263f:	48 33 10             	xor    (%rax),%rdx
140042642:	48 33 48 08          	xor    0x8(%rax),%rcx
140042646:	48 09 ca             	or     %rcx,%rdx
140042649:	0f 85 12 fe ff ff    	jne    0x140042461
14004264f:	48 8b 94 24 90 00 00 	mov    0x90(%rsp),%rdx
140042656:	00
140042657:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
14004265e:	00
14004265f:	48 33 50 10          	xor    0x10(%rax),%rdx
140042663:	48 33 48 18          	xor    0x18(%rax),%rcx
140042667:	48 09 ca             	or     %rcx,%rdx
14004266a:	0f 85 f1 fd ff ff    	jne    0x140042461
140042670:	31 c0                	xor    %eax,%eax
140042672:	e9 fe fd ff ff       	jmp    0x140042475
140042677:	48 89 fa             	mov    %rdi,%rdx
14004267a:	48 8d 0d f7 c0 1b 00 	lea    0x1bc0f7(%rip),%rcx        # 0x1401fe778
140042681:	e8 aa 0f 08 00       	call   0x1400c3630
140042686:	e9 e5 fd ff ff       	jmp    0x140042470
14004268b:	45 31 db             	xor    %r11d,%r11d
14004268e:	e9 aa fe ff ff       	jmp    0x14004253d
140042693:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140042698:	48 89 fa             	mov    %rdi,%rdx
14004269b:	48 8d 0d f5 c0 1b 00 	lea    0x1bc0f5(%rip),%rcx        # 0x1401fe797
1400426a2:	e8 89 0f 08 00       	call   0x1400c3630
1400426a7:	e9 c4 fd ff ff       	jmp    0x140042470
1400426ac:	48 89 fa             	mov    %rdi,%rdx
1400426af:	48 8d 0d fa c0 1b 00 	lea    0x1bc0fa(%rip),%rcx        # 0x1401fe7b0
1400426b6:	e8 e5 0e 08 00       	call   0x1400c35a0
1400426bb:	e9 b0 fd ff ff       	jmp    0x140042470
1400426c0:	48 89 fa             	mov    %rdi,%rdx
1400426c3:	48 8d 0d fe c0 1b 00 	lea    0x1bc0fe(%rip),%rcx        # 0x1401fe7c8
1400426ca:	e8 61 0f 08 00       	call   0x1400c3630
1400426cf:	e9 9c fd ff ff       	jmp    0x140042470
1400426d4:	48 89 fa             	mov    %rdi,%rdx
1400426d7:	48 8d 0d 14 c1 1b 00 	lea    0x1bc114(%rip),%rcx        # 0x1401fe7f2
1400426de:	e8 4d 0f 08 00       	call   0x1400c3630
1400426e3:	e9 88 fd ff ff       	jmp    0x140042470
1400426e8:	48 89 fa             	mov    %rdi,%rdx
1400426eb:	48 8d 0d 1e c1 1b 00 	lea    0x1bc11e(%rip),%rcx        # 0x1401fe810
1400426f2:	e8 39 0f 08 00       	call   0x1400c3630
1400426f7:	e9 74 fd ff ff       	jmp    0x140042470
1400426fc:	48 89 fa             	mov    %rdi,%rdx
1400426ff:	48 8d 0d 62 c1 1b 00 	lea    0x1bc162(%rip),%rcx        # 0x1401fe868
140042706:	e8 25 0f 08 00       	call   0x1400c3630
14004270b:	e9 60 fd ff ff       	jmp    0x140042470
140042710:	48 89 fa             	mov    %rdi,%rdx
140042713:	48 8d 0d 96 c1 1b 00 	lea    0x1bc196(%rip),%rcx        # 0x1401fe8b0
14004271a:	e8 11 0f 08 00       	call   0x1400c3630
14004271f:	e9 4c fd ff ff       	jmp    0x140042470
140042724:	e8 47 21 1a 00       	call   0x1401e4870
140042729:	90                   	nop
14004272a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140042730:	48 83 79 38 00       	cmpq   $0x0,0x38(%rcx)
140042735:	74 09                	je     0x140042740
140042737:	31 c0                	xor    %eax,%eax
140042739:	c3                   	ret
14004273a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140042740:	e9 0b fa ff ff       	jmp    0x140042150
140042745:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14004274c:	00 00 00 00
140042750:	53                   	push   %rbx
140042751:	48 83 ec 20          	sub    $0x20,%rsp
140042755:	48 8b 41 38          	mov    0x38(%rcx),%rax
140042759:	48 89 cb             	mov    %rcx,%rbx
14004275c:	48 85 c0             	test   %rax,%rax
14004275f:	74 1f                	je     0x140042780
140042761:	83 bb 80 00 00 00 01 	cmpl   $0x1,0x80(%rbx)
140042768:	7e 04                	jle    0x14004276e
14004276a:	48 83 c0 08          	add    $0x8,%rax
14004276e:	89 d2                	mov    %edx,%edx
140042770:	8b 04 90             	mov    (%rax,%rdx,4),%eax
140042773:	0f c8                	bswap  %eax
140042775:	48 83 c4 20          	add    $0x20,%rsp
140042779:	5b                   	pop    %rbx
14004277a:	c3                   	ret
14004277b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140042780:	89 54 24 38          	mov    %edx,0x38(%rsp)
140042784:	e8 c7 f9 ff ff       	call   0x140042150
140042789:	89 c1                	mov    %eax,%ecx
14004278b:	31 c0                	xor    %eax,%eax
14004278d:	85 c9                	test   %ecx,%ecx
14004278f:	75 e4                	jne    0x140042775
140042791:	48 8b 43 38          	mov    0x38(%rbx),%rax
140042795:	8b 54 24 38          	mov    0x38(%rsp),%edx
140042799:	eb c6                	jmp    0x140042761
14004279b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400427a0:	41 56                	push   %r14
1400427a2:	41 55                	push   %r13
1400427a4:	41 54                	push   %r12
1400427a6:	55                   	push   %rbp
1400427a7:	57                   	push   %rdi
1400427a8:	56                   	push   %rsi
1400427a9:	53                   	push   %rbx
1400427aa:	48 83 ec 20          	sub    $0x20,%rsp
1400427ae:	49 89 cd             	mov    %rcx,%r13
1400427b1:	4c 89 c1             	mov    %r8,%rcx
1400427b4:	49 89 d4             	mov    %rdx,%r12
1400427b7:	4c 89 c6             	mov    %r8,%rsi
1400427ba:	e8 d9 76 1a 00       	call   0x1401e9e98
1400427bf:	48 83 f8 03          	cmp    $0x3,%rax
1400427c3:	0f 86 f3 00 00 00    	jbe    0x1400428bc
1400427c9:	81 7c 06 fc 2e 69 64 	cmpl   $0x7864692e,-0x4(%rsi,%rax,1)
1400427d0:	78
1400427d1:	48 8d 50 fc          	lea    -0x4(%rax),%rdx
1400427d5:	0f 85 e1 00 00 00    	jne    0x1400428bc
1400427db:	49 89 f0             	mov    %rsi,%r8
1400427de:	48 8d 0d 14 c1 1b 00 	lea    0x1bc114(%rip),%rcx        # 0x1401fe8f9
1400427e5:	e8 d6 b5 05 00       	call   0x14009ddc0
1400427ea:	48 89 c1             	mov    %rax,%rcx
1400427ed:	48 89 c5             	mov    %rax,%rbp
1400427f0:	e8 a3 76 1a 00       	call   0x1401e9e98
1400427f5:	4c 8d 70 01          	lea    0x1(%rax),%r14
1400427f9:	49 63 ce             	movslq %r14d,%rcx
1400427fc:	48 81 f9 07 ff ff ff 	cmp    $0xffffffffffffff07,%rcx
140042803:	0f 87 ce 00 00 00    	ja     0x1400428d7
140042809:	48 81 c1 f8 00 00 00 	add    $0xf8,%rcx
140042810:	e8 0b 82 08 00       	call   0x1400caa20
140042815:	4d 89 f0             	mov    %r14,%r8
140042818:	48 89 ea             	mov    %rbp,%rdx
14004281b:	48 8d 78 08          	lea    0x8(%rax),%rdi
14004281f:	48 89 c1             	mov    %rax,%rcx
140042822:	48 89 c3             	mov    %rax,%rbx
140042825:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
14004282c:	48 83 e7 f8          	and    $0xfffffffffffffff8,%rdi
140042830:	4c 8d 88 f8 00 00 00 	lea    0xf8(%rax),%r9
140042837:	48 29 f9             	sub    %rdi,%rcx
14004283a:	81 c1 f8 00 00 00    	add    $0xf8,%ecx
140042840:	89 c8                	mov    %ecx,%eax
140042842:	c1 e8 03             	shr    $0x3,%eax
140042845:	89 c1                	mov    %eax,%ecx
140042847:	31 c0                	xor    %eax,%eax
140042849:	f3 48 ab             	rep stos %rax,%es:(%rdi)
14004284c:	4c 89 ab f0 00 00 00 	mov    %r13,0xf0(%rbx)
140042853:	4c 89 c9             	mov    %r9,%rcx
140042856:	c7 83 90 00 00 00 ff 	movl   $0xffffffff,0x90(%rbx)
14004285d:	ff ff ff
140042860:	e8 8b 75 1a 00       	call   0x1401e9df0
140042865:	48 89 e9             	mov    %rbp,%rcx
140042868:	e8 43 66 0b 00       	call   0x1400f8eb0
14004286d:	48 8b 83 f0 00 00 00 	mov    0xf0(%rbx),%rax
140042874:	48 8d 8b 9c 00 00 00 	lea    0x9c(%rbx),%rcx
14004287b:	4c 89 e2             	mov    %r12,%rdx
14004287e:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140042885:	4c 8b 40 10          	mov    0x10(%rax),%r8
140042889:	e8 62 75 1a 00       	call   0x1401e9df0
14004288e:	48 89 da             	mov    %rbx,%rdx
140042891:	48 89 f1             	mov    %rsi,%rcx
140042894:	e8 77 f7 ff ff       	call   0x140042010
140042899:	85 c0                	test   %eax,%eax
14004289b:	75 13                	jne    0x1400428b0
14004289d:	48 89 d8             	mov    %rbx,%rax
1400428a0:	48 83 c4 20          	add    $0x20,%rsp
1400428a4:	5b                   	pop    %rbx
1400428a5:	5e                   	pop    %rsi
1400428a6:	5f                   	pop    %rdi
1400428a7:	5d                   	pop    %rbp
1400428a8:	41 5c                	pop    %r12
1400428aa:	41 5d                	pop    %r13
1400428ac:	41 5e                	pop    %r14
1400428ae:	c3                   	ret
1400428af:	90                   	nop
1400428b0:	48 89 d9             	mov    %rbx,%rcx
1400428b3:	31 db                	xor    %ebx,%ebx
1400428b5:	e8 f6 65 0b 00       	call   0x1400f8eb0
1400428ba:	eb e1                	jmp    0x14004289d
1400428bc:	49 89 f1             	mov    %rsi,%r9
1400428bf:	4c 8d 05 42 c0 1b 00 	lea    0x1bc042(%rip),%r8        # 0x1401fe908
1400428c6:	ba e8 00 00 00       	mov    $0xe8,%edx
1400428cb:	48 8d 0d 76 be 1b 00 	lea    0x1bbe76(%rip),%rcx        # 0x1401fe748
1400428d2:	e8 b9 0e 08 00       	call   0x1400c3790
1400428d7:	49 89 c8             	mov    %rcx,%r8
1400428da:	ba f8 00 00 00       	mov    $0xf8,%edx
1400428df:	48 8d 0d d2 bd 1b 00 	lea    0x1bbdd2(%rip),%rcx        # 0x1401fe6b8
1400428e6:	e8 a5 0a 08 00       	call   0x1400c3390
1400428eb:	90                   	nop
1400428ec:	0f 1f 40 00          	nopl   0x0(%rax)
1400428f0:	56                   	push   %rsi
1400428f1:	53                   	push   %rbx
1400428f2:	48 83 ec 28          	sub    $0x28,%rsp
1400428f6:	48 8b 59 28          	mov    0x28(%rcx),%rbx
1400428fa:	48 89 ce             	mov    %rcx,%rsi
1400428fd:	48 85 db             	test   %rbx,%rbx
140042900:	74 4c                	je     0x14004294e
140042902:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140042909:	00 00 00 00
14004290d:	0f 1f 00             	nopl   (%rax)
140042910:	8b 43 24             	mov    0x24(%rbx),%eax
140042913:	85 c0                	test   %eax,%eax
140042915:	75 3e                	jne    0x140042955
140042917:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14004291b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14004291f:	e8 7c 9c 0a 00       	call   0x1400ec5a0
140042924:	48 8b 43 18          	mov    0x18(%rbx),%rax
140042928:	48 89 d9             	mov    %rbx,%rcx
14004292b:	48 29 05 9e 06 22 00 	sub    %rax,0x22069e(%rip)        # 0x140262fd0
140042932:	48 8b 03             	mov    (%rbx),%rax
140042935:	83 2d ac 06 22 00 01 	subl   $0x1,0x2206ac(%rip)        # 0x140262fe8
14004293c:	48 89 46 28          	mov    %rax,0x28(%rsi)
140042940:	e8 6b 65 0b 00       	call   0x1400f8eb0
140042945:	48 8b 5e 28          	mov    0x28(%rsi),%rbx
140042949:	48 85 db             	test   %rbx,%rbx
14004294c:	75 c2                	jne    0x140042910
14004294e:	48 83 c4 28          	add    $0x28,%rsp
140042952:	5b                   	pop    %rbx
140042953:	5e                   	pop    %rsi
140042954:	c3                   	ret
140042955:	48 8d 96 f8 00 00 00 	lea    0xf8(%rsi),%rdx
14004295c:	48 8d 0d cd bf 1b 00 	lea    0x1bbfcd(%rip),%rcx        # 0x1401fe930
140042963:	e8 28 0a 08 00       	call   0x1400c3390
140042968:	90                   	nop
140042969:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140042970:	53                   	push   %rbx
140042971:	48 83 ec 20          	sub    $0x20,%rsp
140042975:	31 c0                	xor    %eax,%eax
140042977:	48 89 cb             	mov    %rcx,%rbx
14004297a:	8b 89 90 00 00 00    	mov    0x90(%rcx),%ecx
140042980:	85 c9                	test   %ecx,%ecx
140042982:	78 1b                	js     0x14004299f
140042984:	e8 b7 71 1a 00       	call   0x1401e9b40
140042989:	83 2d 54 06 22 00 01 	subl   $0x1,0x220654(%rip)        # 0x140262fe4
140042990:	b8 01 00 00 00       	mov    $0x1,%eax
140042995:	c7 83 90 00 00 00 ff 	movl   $0xffffffff,0x90(%rbx)
14004299c:	ff ff ff
14004299f:	48 83 c4 20          	add    $0x20,%rsp
1400429a3:	5b                   	pop    %rbx
1400429a4:	c3                   	ret