5715ca:	33 c0                	xor    %eax,%eax
5715cc:	5f                   	pop    %edi
5715cd:	5e                   	pop    %esi
5715ce:	5d                   	pop    %ebp
5715cf:	5b                   	pop    %ebx
5715d0:	8b 4c 24 64          	mov    0x64(%esp),%ecx
5715d4:	33 cc                	xor    %esp,%ecx
5715d6:	e8 ff fe 06 00       	call   0x5e14da
5715db:	83 c4 68             	add    $0x68,%esp
5715de:	c3                   	ret
5715df:	8b 44 24 10          	mov    0x10(%esp),%eax
5715e3:	6a 00                	push   $0x0
5715e5:	ff 74 24 18          	push   0x18(%esp)
5715e9:	8d 58 01             	lea    0x1(%eax),%ebx
5715ec:	c6 00 00             	movb   $0x0,(%eax)
5715ef:	6a 00                	push   $0x0
5715f1:	03 de                	add    %esi,%ebx
5715f3:	8d 68 01             	lea    0x1(%eax),%ebp
5715f6:	53                   	push   %ebx
5715f7:	ff b4 24 a0 00 00 00 	push   0xa0(%esp)
5715fe:	89 6c 24 24          	mov    %ebp,0x24(%esp)
571602:	ff 74 24 44          	push   0x44(%esp)
571606:	89 5c 24 34          	mov    %ebx,0x34(%esp)
57160a:	e8 41 fb f3 ff       	call   0x4b1150
57160f:	83 c4 18             	add    $0x18,%esp
571612:	85 c0                	test   %eax,%eax
571614:	0f 84 3e 02 00 00    	je     0x571858
57161a:	8b 44 24 20          	mov    0x20(%esp),%eax
57161e:	2b 44 24 28          	sub    0x28(%esp),%eax
571622:	48                   	dec    %eax
571623:	50                   	push   %eax
571624:	8d 04 33             	lea    (%ebx,%esi,1),%eax
571627:	6a 00                	push   $0x0
571629:	50                   	push   %eax
57162a:	e8 d1 23 07 00       	call   0x5e3a00
57162f:	8b 4c 24 34          	mov    0x34(%esp),%ecx
571633:	8b c3                	mov    %ebx,%eax
571635:	2b c1                	sub    %ecx,%eax
571637:	2b c6                	sub    %esi,%eax
571639:	51                   	push   %ecx
57163a:	ff 74 24 34          	push   0x34(%esp)
57163e:	03 c7                	add    %edi,%eax
571640:	50                   	push   %eax
571641:	c6 40 ff 01          	movb   $0x1,-0x1(%eax)
571645:	e8 b6 18 07 00       	call   0x5e2f00
57164a:	56                   	push   %esi
57164b:	55                   	push   %ebp
57164c:	e8 4f f8 f1 ff       	call   0x490ea0
571651:	83 c4 20             	add    $0x20,%esp
571654:	85 c0                	test   %eax,%eax
571656:	0f 8e fc 01 00 00    	jle    0x571858
57165c:	6a 55                	push   $0x55
57165e:	2b fe                	sub    %esi,%edi
571660:	68 e8 c9 6b 00       	push   $0x6bc9e8
571665:	57                   	push   %edi
571666:	e8 45 eb f2 ff       	call   0x4a01b0
57166b:	8b e8                	mov    %eax,%ebp
57166d:	83 c4 0c             	add    $0xc,%esp
571670:	89 6c 24 14          	mov    %ebp,0x14(%esp)
571674:	85 ed                	test   %ebp,%ebp
571676:	75 2d                	jne    0x5716a5
571678:	6a 57                	push   $0x57
57167a:	68 e8 c9 6b 00       	push   $0x6bc9e8
57167f:	6a 41                	push   $0x41
571681:	68 a0 00 00 00       	push   $0xa0
571686:	6a 04                	push   $0x4
571688:	e8 13 fe f2 ff       	call   0x4a14a0
57168d:	83 c4 14             	add    $0x14,%esp
571690:	33 c0                	xor    %eax,%eax
571692:	5f                   	pop    %edi
571693:	5e                   	pop    %esi
571694:	5d                   	pop    %ebp
571695:	5b                   	pop    %ebx
571696:	8b 4c 24 64          	mov    0x64(%esp),%ecx
57169a:	33 cc                	xor    %esp,%ecx
57169c:	e8 39 fe 06 00       	call   0x5e14da
5716a1:	83 c4 68             	add    $0x68,%esp
5716a4:	c3                   	ret
5716a5:	ff 74 24 2c          	push   0x2c(%esp)
5716a9:	56                   	push   %esi
5716aa:	ff 74 24 18          	push   0x18(%esp)
5716ae:	57                   	push   %edi
5716af:	55                   	push   %ebp
5716b0:	e8 8b fc ff ff       	call   0x571340
5716b5:	83 c4 14             	add    $0x14,%esp
5716b8:	85 c0                	test   %eax,%eax
5716ba:	0f 88 8f 01 00 00    	js     0x57184f
5716c0:	33 db                	xor    %ebx,%ebx
5716c2:	85 ff                	test   %edi,%edi
5716c4:	0f 8e 9f 00 00 00    	jle    0x571769
5716ca:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5716ce:	83 ff 20             	cmp    $0x20,%edi
5716d1:	72 73                	jb     0x571746
5716d3:	8d 45 ff             	lea    -0x1(%ebp),%eax
5716d6:	8d 4a ff             	lea    -0x1(%edx),%ecx
5716d9:	03 c7                	add    %edi,%eax
5716db:	03 cf                	add    %edi,%ecx
5716dd:	3b d0                	cmp    %eax,%edx
5716df:	77 04                	ja     0x5716e5
5716e1:	3b cd                	cmp    %ebp,%ecx
5716e3:	73 61                	jae    0x571746
5716e5:	8b c7                	mov    %edi,%eax
5716e7:	25 1f 00 00 80       	and    $0x8000001f,%eax
5716ec:	79 05                	jns    0x5716f3
5716ee:	48                   	dec    %eax
5716ef:	83 c8 e0             	or     $0xffffffe0,%eax
5716f2:	40                   	inc    %eax
5716f3:	8b cf                	mov    %edi,%ecx
5716f5:	8b f5                	mov    %ebp,%esi
5716f7:	2b c8                	sub    %eax,%ecx
5716f9:	2b f2                	sub    %edx,%esi
5716fb:	89 74 24 24          	mov    %esi,0x24(%esp)
5716ff:	8b c2                	mov    %edx,%eax
571701:	8d 75 10             	lea    0x10(%ebp),%esi
571704:	8b 6c 24 24          	mov    0x24(%esp),%ebp
571708:	89 74 24 20          	mov    %esi,0x20(%esp)
57170c:	8b 74 24 18          	mov    0x18(%esp),%esi
571710:	8b 54 24 20          	mov    0x20(%esp),%edx
571714:	0f 10 00             	movups (%eax),%xmm0
571717:	8d 40 20             	lea    0x20(%eax),%eax
57171a:	0f 10 4c 28 e0       	movups -0x20(%eax,%ebp,1),%xmm1
57171f:	66 0f ef c8          	pxor   %xmm0,%xmm1
571723:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
571727:	0f 10 0c 1a          	movups (%edx,%ebx,1),%xmm1
57172b:	83 c3 20             	add    $0x20,%ebx
57172e:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
571732:	66 0f ef c8          	pxor   %xmm0,%xmm1
571736:	0f 11 48 f0          	movups %xmm1,-0x10(%eax)
57173a:	3b d9                	cmp    %ecx,%ebx
57173c:	7c d6                	jl     0x571714
57173e:	8b 6c 24 14          	mov    0x14(%esp),%ebp
571742:	8b 54 24 1c          	mov    0x1c(%esp),%edx
571746:	3b df                	cmp    %edi,%ebx
571748:	7d 1f                	jge    0x571769
57174a:	8d 0c 13             	lea    (%ebx,%edx,1),%ecx
57174d:	89 6c 24 18          	mov    %ebp,0x18(%esp)
571751:	2b ea                	sub    %edx,%ebp
571753:	8b d7                	mov    %edi,%edx
571755:	2b d3                	sub    %ebx,%edx
571757:	8a 04 29             	mov    (%ecx,%ebp,1),%al
57175a:	8d 49 01             	lea    0x1(%ecx),%ecx
57175d:	30 41 ff             	xor    %al,-0x1(%ecx)
571760:	83 ea 01             	sub    $0x1,%edx
571763:	75 f2                	jne    0x571757
571765:	8b 6c 24 14          	mov    0x14(%esp),%ebp
571769:	ff 74 24 2c          	push   0x2c(%esp)
57176d:	8d 44 24 38          	lea    0x38(%esp),%eax
571771:	57                   	push   %edi
571772:	ff 74 24 24          	push   0x24(%esp)
571776:	56                   	push   %esi
571777:	50                   	push   %eax
571778:	e8 c3 fb ff ff       	call   0x571340
57177d:	83 c4 14             	add    $0x14,%esp
571780:	85 c0                	test   %eax,%eax
571782:	0f 88 c7 00 00 00    	js     0x57184f
571788:	33 d2                	xor    %edx,%edx
57178a:	85 f6                	test   %esi,%esi
57178c:	0f 8e 9c 00 00 00    	jle    0x57182e
571792:	8b 5c 24 10          	mov    0x10(%esp),%ebx
571796:	83 fe 20             	cmp    $0x20,%esi
571799:	72 74                	jb     0x57180f
57179b:	8d 4b ff             	lea    -0x1(%ebx),%ecx
57179e:	8d 44 34 33          	lea    0x33(%esp,%esi,1),%eax
5717a2:	03 ce                	add    %esi,%ecx
5717a4:	3b d8                	cmp    %eax,%ebx
5717a6:	77 08                	ja     0x5717b0
5717a8:	8d 44 24 34          	lea    0x34(%esp),%eax
5717ac:	3b c8                	cmp    %eax,%ecx
5717ae:	73 5f                	jae    0x57180f
5717b0:	8b c6                	mov    %esi,%eax
5717b2:	25 1f 00 00 80       	and    $0x8000001f,%eax
5717b7:	79 05                	jns    0x5717be
5717b9:	48                   	dec    %eax
5717ba:	83 c8 e0             	or     $0xffffffe0,%eax
5717bd:	40                   	inc    %eax
5717be:	8b ce                	mov    %esi,%ecx
5717c0:	8d 7c 24 34          	lea    0x34(%esp),%edi
5717c4:	2b c8                	sub    %eax,%ecx
5717c6:	8d 6c 24 44          	lea    0x44(%esp),%ebp
5717ca:	2b fb                	sub    %ebx,%edi
5717cc:	8b c3                	mov    %ebx,%eax
5717ce:	2b eb                	sub    %ebx,%ebp
5717d0:	89 6c 24 18          	mov    %ebp,0x18(%esp)
5717d4:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5717d8:	8b 5c 24 18          	mov    0x18(%esp),%ebx
5717dc:	0f 1f 40 00          	nopl   0x0(%eax)
5717e0:	0f 10 00             	movups (%eax),%xmm0
5717e3:	83 c2 20             	add    $0x20,%edx
5717e6:	8d 40 20             	lea    0x20(%eax),%eax
5717e9:	0f 10 4c 07 e0       	movups -0x20(%edi,%eax,1),%xmm1
5717ee:	66 0f ef c8          	pxor   %xmm0,%xmm1
5717f2:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
5717f6:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
5717fa:	0f 10 4c 03 e0       	movups -0x20(%ebx,%eax,1),%xmm1
5717ff:	66 0f ef c8          	pxor   %xmm0,%xmm1
571803:	0f 11 48 f0          	movups %xmm1,-0x10(%eax)
571807:	3b d1                	cmp    %ecx,%edx
571809:	7c d5                	jl     0x5717e0
57180b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
57180f:	3b d6                	cmp    %esi,%edx
571811:	7d 1b                	jge    0x57182e
571813:	8d 7c 24 34          	lea    0x34(%esp),%edi
571817:	2b fb                	sub    %ebx,%edi
571819:	8d 0c 1a             	lea    (%edx,%ebx,1),%ecx
57181c:	2b f2                	sub    %edx,%esi
57181e:	66 90                	xchg   %ax,%ax
571820:	8a 04 39             	mov    (%ecx,%edi,1),%al
571823:	8d 49 01             	lea    0x1(%ecx),%ecx
571826:	30 41 ff             	xor    %al,-0x1(%ecx)
571829:	83 ee 01             	sub    $0x1,%esi
57182c:	75 f2                	jne    0x571820
57182e:	55                   	push   %ebp
57182f:	e8 fc e8 f2 ff       	call   0x4a0130
571834:	83 c4 04             	add    $0x4,%esp
571837:	b8 01 00 00 00       	mov    $0x1,%eax
57183c:	5f                   	pop    %edi
57183d:	5e                   	pop    %esi
57183e:	5d                   	pop    %ebp
57183f:	5b                   	pop    %ebx
571840:	8b 4c 24 64          	mov    0x64(%esp),%ecx
571844:	33 cc                	xor    %esp,%ecx
571846:	e8 8f fc 06 00       	call   0x5e14da
57184b:	83 c4 68             	add    $0x68,%esp
57184e:	c3                   	ret
57184f:	55                   	push   %ebp
571850:	e8 db e8 f2 ff       	call   0x4a0130
571855:	83 c4 04             	add    $0x4,%esp
571858:	8b 4c 24 74          	mov    0x74(%esp),%ecx
57185c:	33 c0                	xor    %eax,%eax
57185e:	5f                   	pop    %edi
57185f:	5e                   	pop    %esi
571860:	5d                   	pop    %ebp
571861:	5b                   	pop    %ebx
571862:	33 cc                	xor    %esp,%ecx
571864:	e8 71 fc 06 00       	call   0x5e14da
571869:	83 c4 68             	add    $0x68,%esp
57186c:	c3                   	ret
57186d:	cc                   	int3
57186e:	cc                   	int3
57186f:	cc                   	int3
571870:	6a 00                	push   $0x0
571872:	6a 00                	push   $0x0
571874:	ff 74 24 24          	push   0x24(%esp)
571878:	ff 74 24 24          	push   0x24(%esp)
57187c:	ff 74 24 24          	push   0x24(%esp)
571880:	ff 74 24 24          	push   0x24(%esp)
571884:	ff 74 24 24          	push   0x24(%esp)
571888:	ff 74 24 24          	push   0x24(%esp)
57188c:	ff 74 24 24          	push   0x24(%esp)
571890:	e8 0b 00 00 00       	call   0x5718a0
571895:	83 c4 24             	add    $0x24,%esp
571898:	c3                   	ret
571899:	cc                   	int3
57189a:	cc                   	int3
57189b:	cc                   	int3
57189c:	cc                   	int3
57189d:	cc                   	int3
57189e:	cc                   	int3
57189f:	cc                   	int3
5718a0:	b8 b0 00 00 00       	mov    $0xb0,%eax
5718a5:	e8 46 fc 06 00       	call   0x5e14f0
5718aa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5718af:	33 c4                	xor    %esp,%eax
5718b1:	89 84 24 ac 00 00 00 	mov    %eax,0xac(%esp)
5718b8:	8b 84 24 b4 00 00 00 	mov    0xb4(%esp),%eax
5718bf:	8b 8c 24 d0 00 00 00 	mov    0xd0(%esp),%ecx
5718c6:	53                   	push   %ebx
5718c7:	8b 9c 24 c4 00 00 00 	mov    0xc4(%esp),%ebx
5718ce:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5718d2:	8b 84 24 c0 00 00 00 	mov    0xc0(%esp),%eax
5718d9:	55                   	push   %ebp
5718da:	89 44 24 08          	mov    %eax,0x8(%esp)
5718de:	33 ed                	xor    %ebp,%ebp
5718e0:	8b 84 24 d0 00 00 00 	mov    0xd0(%esp),%eax
5718e7:	56                   	push   %esi
5718e8:	8b b4 24 d0 00 00 00 	mov    0xd0(%esp),%esi
5718ef:	89 44 24 30          	mov    %eax,0x30(%esp)
5718f3:	33 c0                	xor    %eax,%eax
5718f5:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
5718f9:	89 4c 24 14          	mov    %ecx,0x14(%esp)
5718fd:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
571904:	00
571905:	89 44 24 18          	mov    %eax,0x18(%esp)
571909:	57                   	push   %edi
57190a:	8b bc 24 e4 00 00 00 	mov    0xe4(%esp),%edi
571911:	85 c9                	test   %ecx,%ecx
571913:	75 0b                	jne    0x571920
571915:	e8 c6 fe f3 ff       	call   0x4b17e0
57191a:	8b c8                	mov    %eax,%ecx
57191c:	89 44 24 18          	mov    %eax,0x18(%esp)
571920:	85 ff                	test   %edi,%edi
571922:	51                   	push   %ecx
571923:	0f 44 f9             	cmove  %ecx,%edi
571926:	89 7c 24 34          	mov    %edi,0x34(%esp)
57192a:	e8 c1 fb f1 ff       	call   0x4914f0
57192f:	83 c4 04             	add    $0x4,%esp
571932:	8b f8                	mov    %eax,%edi
571934:	89 7c 24 24          	mov    %edi,0x24(%esp)
571938:	39 ac 24 c8 00 00 00 	cmp    %ebp,0xc8(%esp)
57193f:	0f 8e 86 03 00 00    	jle    0x571ccb
571945:	85 db                	test   %ebx,%ebx
571947:	0f 8e 7e 03 00 00    	jle    0x571ccb
57194d:	3b f3                	cmp    %ebx,%esi
57194f:	0f 8c 04 03 00 00    	jl     0x571c59
571955:	8d 04 7d 02 00 00 00 	lea    0x2(,%edi,2),%eax
57195c:	3b f0                	cmp    %eax,%esi
57195e:	0f 8c f5 02 00 00    	jl     0x571c59
571964:	8b de                	mov    %esi,%ebx
571966:	68 9b 00 00 00       	push   $0x9b
57196b:	2b df                	sub    %edi,%ebx
57196d:	4b                   	dec    %ebx
57196e:	68 e8 c9 6b 00       	push   $0x6bc9e8
571973:	53                   	push   %ebx
571974:	89 5c 24 20          	mov    %ebx,0x20(%esp)
571978:	e8 33 e8 f2 ff       	call   0x4a01b0
57197d:	68 9c 00 00 00       	push   $0x9c
571982:	68 e8 c9 6b 00       	push   $0x6bc9e8
571987:	56                   	push   %esi
571988:	8b e8                	mov    %eax,%ebp
57198a:	e8 21 e8 f2 ff       	call   0x4a01b0
57198f:	83 c4 18             	add    $0x18,%esp
571992:	89 44 24 1c          	mov    %eax,0x1c(%esp)
571996:	85 ed                	test   %ebp,%ebp
571998:	0f 84 ed 02 00 00    	je     0x571c8b
57199e:	85 c0                	test   %eax,%eax
5719a0:	0f 84 e5 02 00 00    	je     0x571c8b
5719a6:	56                   	push   %esi
5719a7:	6a 00                	push   $0x0
5719a9:	50                   	push   %eax
5719aa:	e8 51 20 07 00       	call   0x5e3a00
5719af:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5719b3:	2b f0                	sub    %eax,%esi
5719b5:	03 74 24 28          	add    0x28(%esp),%esi
5719b9:	50                   	push   %eax
5719ba:	ff 74 24 20          	push   0x20(%esp)
5719be:	56                   	push   %esi
5719bf:	e8 3c 15 07 00       	call   0x5e2f00
5719c4:	8b 54 24 34          	mov    0x34(%esp),%edx
5719c8:	ff 74 24 48          	push   0x48(%esp)
5719cc:	53                   	push   %ebx
5719cd:	0f b6 02             	movzbl (%edx),%eax
5719d0:	8d 72 01             	lea    0x1(%edx),%esi
5719d3:	8d 48 ff             	lea    -0x1(%eax),%ecx
5719d6:	f7 d0                	not    %eax
5719d8:	c1 e8 1f             	shr    $0x1f,%eax
5719db:	c1 e9 1f             	shr    $0x1f,%ecx
5719de:	23 c8                	and    %eax,%ecx
5719e0:	8d 42 01             	lea    0x1(%edx),%eax
5719e3:	03 c7                	add    %edi,%eax
5719e5:	f7 d9                	neg    %ecx