5cf538:	3b d8                	cmp    %eax,%ebx
5cf53a:	72 1d                	jb     0x5cf559
5cf53c:	77 04                	ja     0x5cf542
5cf53e:	3b f9                	cmp    %ecx,%edi
5cf540:	72 17                	jb     0x5cf559
5cf542:	ff 75 f4             	push   -0xc(%ebp)
5cf545:	ff 75 f0             	push   -0x10(%ebp)
5cf548:	50                   	push   %eax
5cf549:	51                   	push   %ecx
5cf54a:	e8 31 2b 01 00       	call   0x5e2080
5cf54f:	3b 45 ec             	cmp    -0x14(%ebp),%eax
5cf552:	75 05                	jne    0x5cf559
5cf554:	3b 55 e8             	cmp    -0x18(%ebp),%edx
5cf557:	74 24                	je     0x5cf57d
5cf559:	e8 9b da 01 00       	call   0x5ecff9
5cf55e:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
5cf564:	8b 45 14             	mov    0x14(%ebp),%eax
5cf567:	85 c0                	test   %eax,%eax
5cf569:	74 06                	je     0x5cf571
5cf56b:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
5cf571:	83 cf ff             	or     $0xffffffff,%edi
5cf574:	b0 2b                	mov    $0x2b,%al
5cf576:	8b df                	mov    %edi,%ebx
5cf578:	eb 06                	jmp    0x5cf580
5cf57a:	8b 7d f8             	mov    -0x8(%ebp),%edi
5cf57d:	8a 45 fe             	mov    -0x2(%ebp),%al
5cf580:	3c 2d                	cmp    $0x2d,%al
5cf582:	75 07                	jne    0x5cf58b
5cf584:	f7 df                	neg    %edi
5cf586:	83 d3 00             	adc    $0x0,%ebx
5cf589:	f7 db                	neg    %ebx
5cf58b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cf58e:	85 c9                	test   %ecx,%ecx
5cf590:	74 02                	je     0x5cf594
5cf592:	89 31                	mov    %esi,(%ecx)
5cf594:	8b c7                	mov    %edi,%eax
5cf596:	8b d3                	mov    %ebx,%edx
5cf598:	eb 0d                	jmp    0x5cf5a7
5cf59a:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf59d:	85 c0                	test   %eax,%eax
5cf59f:	74 02                	je     0x5cf5a3
5cf5a1:	89 18                	mov    %ebx,(%eax)
5cf5a3:	33 c0                	xor    %eax,%eax
5cf5a5:	33 d2                	xor    %edx,%edx
5cf5a7:	5f                   	pop    %edi
5cf5a8:	5e                   	pop    %esi
5cf5a9:	5b                   	pop    %ebx
5cf5aa:	c9                   	leave
5cf5ab:	c3                   	ret
5cf5ac:	55                   	push   %ebp
5cf5ad:	8b ec                	mov    %esp,%ebp
5cf5af:	83 ec 0c             	sub    $0xc,%esp
5cf5b2:	8b 55 08             	mov    0x8(%ebp),%edx
5cf5b5:	53                   	push   %ebx
5cf5b6:	56                   	push   %esi
5cf5b7:	8b d9                	mov    %ecx,%ebx
5cf5b9:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
5cf5be:	8b c6                	mov    %esi,%eax
5cf5c0:	57                   	push   %edi
5cf5c1:	8b 4b 10             	mov    0x10(%ebx),%ecx
5cf5c4:	2b c1                	sub    %ecx,%eax
5cf5c6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5cf5c9:	3b c2                	cmp    %edx,%eax
5cf5cb:	72 6b                	jb     0x5cf638
5cf5cd:	8b 43 14             	mov    0x14(%ebx),%eax
5cf5d0:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
5cf5d3:	56                   	push   %esi
5cf5d4:	50                   	push   %eax
5cf5d5:	57                   	push   %edi
5cf5d6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5cf5d9:	e8 07 ef ff ff       	call   0x5ce4e5
5cf5de:	8b f0                	mov    %eax,%esi
5cf5e0:	8d 4e 01             	lea    0x1(%esi),%ecx
5cf5e3:	51                   	push   %ecx
5cf5e4:	e8 b7 47 e7 ff       	call   0x443da0
5cf5e9:	83 c4 10             	add    $0x10,%esp
5cf5ec:	89 7b 10             	mov    %edi,0x10(%ebx)
5cf5ef:	8b 7d f8             	mov    -0x8(%ebp),%edi
5cf5f2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5cf5f5:	89 45 f4             	mov    %eax,-0xc(%ebp)
5cf5f8:	89 73 14             	mov    %esi,0x14(%ebx)
5cf5fb:	ff 75 18             	push   0x18(%ebp)
5cf5fe:	ff 75 14             	push   0x14(%ebp)
5cf601:	ff 75 10             	push   0x10(%ebp)
5cf604:	ff 75 fc             	push   -0x4(%ebp)
5cf607:	83 ff 10             	cmp    $0x10,%edi
5cf60a:	72 17                	jb     0x5cf623
5cf60c:	8b 33                	mov    (%ebx),%esi
5cf60e:	56                   	push   %esi
5cf60f:	50                   	push   %eax
5cf610:	e8 83 00 00 00       	call   0x5cf698
5cf615:	8d 47 01             	lea    0x1(%edi),%eax
5cf618:	50                   	push   %eax
5cf619:	56                   	push   %esi
5cf61a:	e8 51 4c e7 ff       	call   0x444270
5cf61f:	59                   	pop    %ecx
5cf620:	59                   	pop    %ecx
5cf621:	eb 07                	jmp    0x5cf62a
5cf623:	53                   	push   %ebx
5cf624:	50                   	push   %eax
5cf625:	e8 6e 00 00 00       	call   0x5cf698
5cf62a:	8b 45 f4             	mov    -0xc(%ebp),%eax
5cf62d:	5f                   	pop    %edi
5cf62e:	89 03                	mov    %eax,(%ebx)
5cf630:	8b c3                	mov    %ebx,%eax
5cf632:	5e                   	pop    %esi
5cf633:	5b                   	pop    %ebx
5cf634:	c9                   	leave
5cf635:	c2 14 00             	ret    $0x14
5cf638:	e8 f3 59 e7 ff       	call   0x445030
5cf63d:	cc                   	int3
5cf63e:	55                   	push   %ebp
5cf63f:	8b ec                	mov    %esp,%ebp
5cf641:	83 ec 14             	sub    $0x14,%esp
5cf644:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf647:	53                   	push   %ebx
5cf648:	8b d9                	mov    %ecx,%ebx
5cf64a:	56                   	push   %esi
5cf64b:	57                   	push   %edi
5cf64c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5cf64f:	89 43 04             	mov    %eax,0x4(%ebx)
5cf652:	8d 45 ec             	lea    -0x14(%ebp),%eax
5cf655:	50                   	push   %eax
5cf656:	c7 03 f4 c3 68 00    	movl   $0x68c3f4,(%ebx)
5cf65c:	e8 59 f3 ff ff       	call   0x5ce9ba
5cf661:	8b f0                	mov    %eax,%esi
5cf663:	8d 7b 08             	lea    0x8(%ebx),%edi
5cf666:	59                   	pop    %ecx
5cf667:	8b c3                	mov    %ebx,%eax
5cf669:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5cf66a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5cf66b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5cf66c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5cf66d:	5f                   	pop    %edi
5cf66e:	5e                   	pop    %esi
5cf66f:	5b                   	pop    %ebx
5cf670:	c9                   	leave
5cf671:	c2 08 00             	ret    $0x8
5cf674:	55                   	push   %ebp
5cf675:	8b ec                	mov    %esp,%ebp
5cf677:	56                   	push   %esi
5cf678:	8b f1                	mov    %ecx,%esi
5cf67a:	8b 4e 04             	mov    0x4(%esi),%ecx
5cf67d:	85 c9                	test   %ecx,%ecx
5cf67f:	74 0d                	je     0x5cf68e
5cf681:	ff 75 08             	push   0x8(%ebp)
5cf684:	e8 32 06 00 00       	call   0x5cfcbb
5cf689:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf68c:	75 03                	jne    0x5cf691
5cf68e:	c6 06 01             	movb   $0x1,(%esi)
5cf691:	8b c6                	mov    %esi,%eax
5cf693:	5e                   	pop    %esi
5cf694:	5d                   	pop    %ebp
5cf695:	c2 04 00             	ret    $0x4
5cf698:	55                   	push   %ebp
5cf699:	8b ec                	mov    %esp,%ebp
5cf69b:	53                   	push   %ebx
5cf69c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5cf69f:	56                   	push   %esi
5cf6a0:	8b 75 08             	mov    0x8(%ebp),%esi
5cf6a3:	57                   	push   %edi
5cf6a4:	8b 7d 14             	mov    0x14(%ebp),%edi
5cf6a7:	57                   	push   %edi
5cf6a8:	53                   	push   %ebx
5cf6a9:	56                   	push   %esi
5cf6aa:	e8 51 38 01 00       	call   0x5e2f00
5cf6af:	0f be 45 1c          	movsbl 0x1c(%ebp),%eax
5cf6b3:	03 fe                	add    %esi,%edi
5cf6b5:	8b 75 18             	mov    0x18(%ebp),%esi
5cf6b8:	56                   	push   %esi
5cf6b9:	50                   	push   %eax
5cf6ba:	57                   	push   %edi
5cf6bb:	e8 40 43 01 00       	call   0x5e3a00
5cf6c0:	8b 4d 14             	mov    0x14(%ebp),%ecx
5cf6c3:	8b 45 10             	mov    0x10(%ebp),%eax
5cf6c6:	2b c1                	sub    %ecx,%eax
5cf6c8:	40                   	inc    %eax
5cf6c9:	50                   	push   %eax
5cf6ca:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
5cf6cd:	50                   	push   %eax
5cf6ce:	8d 04 37             	lea    (%edi,%esi,1),%eax
5cf6d1:	50                   	push   %eax
5cf6d2:	e8 29 38 01 00       	call   0x5e2f00
5cf6d7:	83 c4 24             	add    $0x24,%esp
5cf6da:	5f                   	pop    %edi
5cf6db:	5e                   	pop    %esi
5cf6dc:	5b                   	pop    %ebx
5cf6dd:	5d                   	pop    %ebp
5cf6de:	c2 18 00             	ret    $0x18
5cf6e1:	56                   	push   %esi
5cf6e2:	8b f1                	mov    %ecx,%esi
5cf6e4:	8b 0e                	mov    (%esi),%ecx
5cf6e6:	85 c9                	test   %ecx,%ecx
5cf6e8:	74 0e                	je     0x5cf6f8
5cf6ea:	e8 41 62 fb ff       	call   0x585930
5cf6ef:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf6f2:	74 04                	je     0x5cf6f8
5cf6f4:	32 c0                	xor    %al,%al
5cf6f6:	eb 05                	jmp    0x5cf6fd
5cf6f8:	83 26 00             	andl   $0x0,(%esi)
5cf6fb:	b0 01                	mov    $0x1,%al
5cf6fd:	88 46 04             	mov    %al,0x4(%esi)
5cf700:	5e                   	pop    %esi
5cf701:	c3                   	ret
5cf702:	6a 34                	push   $0x34
5cf704:	b8 6b 0e 66 00       	mov    $0x660e6b,%eax
5cf709:	e8 e1 28 01 00       	call   0x5e1fef
5cf70e:	8b f1                	mov    %ecx,%esi
5cf710:	e8 d7 6f 02 00       	call   0x5f66ec
5cf715:	8b f8                	mov    %eax,%edi
5cf717:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5cf71a:	50                   	push   %eax
5cf71b:	e8 03 f4 ff ff       	call   0x5ceb23
5cf720:	33 c0                	xor    %eax,%eax
5cf722:	89 75 c0             	mov    %esi,-0x40(%ebp)
5cf725:	89 46 08             	mov    %eax,0x8(%esi)
5cf728:	89 46 10             	mov    %eax,0x10(%esi)
5cf72b:	89 46 14             	mov    %eax,0x14(%esi)
5cf72e:	89 45 fc             	mov    %eax,-0x4(%ebp)
5cf731:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5cf734:	50                   	push   %eax
5cf735:	e8 e9 f3 ff ff       	call   0x5ceb23
5cf73a:	8a 5d 0c             	mov    0xc(%ebp),%bl
5cf73d:	b8 65 aa 68 00       	mov    $0x68aa65,%eax
5cf742:	59                   	pop    %ecx
5cf743:	59                   	pop    %ecx
5cf744:	84 db                	test   %bl,%bl
5cf746:	75 03                	jne    0x5cf74b
5cf748:	8b 47 08             	mov    0x8(%edi),%eax
5cf74b:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
5cf74e:	51                   	push   %ecx
5cf74f:	6a 00                	push   $0x0
5cf751:	50                   	push   %eax
5cf752:	e8 89 22 e7 ff       	call   0x4419e0
5cf757:	89 46 08             	mov    %eax,0x8(%esi)
5cf75a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5cf75d:	50                   	push   %eax
5cf75e:	6a 00                	push   $0x0
5cf760:	68 e8 c3 68 00       	push   $0x68c3e8
5cf765:	e8 76 22 e7 ff       	call   0x4419e0
5cf76a:	89 46 10             	mov    %eax,0x10(%esi)
5cf76d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5cf770:	50                   	push   %eax
5cf771:	6a 00                	push   $0x0
5cf773:	68 bc c0 68 00       	push   $0x68c0bc
5cf778:	e8 63 22 e7 ff       	call   0x4419e0
5cf77d:	83 c4 24             	add    $0x24,%esp
5cf780:	89 46 14             	mov    %eax,0x14(%esi)
5cf783:	84 db                	test   %bl,%bl
5cf785:	74 08                	je     0x5cf78f
5cf787:	c6 46 0c 2e          	movb   $0x2e,0xc(%esi)
5cf78b:	b0 2c                	mov    $0x2c,%al
5cf78d:	eb 0c                	jmp    0x5cf79b
5cf78f:	8b 07                	mov    (%edi),%eax
5cf791:	8a 00                	mov    (%eax),%al
5cf793:	88 46 0c             	mov    %al,0xc(%esi)
5cf796:	8b 47 04             	mov    0x4(%edi),%eax
5cf799:	8a 00                	mov    (%eax),%al
5cf79b:	88 46 0d             	mov    %al,0xd(%esi)
5cf79e:	e8 07 28 01 00       	call   0x5e1faa
5cf7a3:	c2 08 00             	ret    $0x8
5cf7a6:	6a 08                	push   $0x8
5cf7a8:	b8 98 0e 66 00       	mov    $0x660e98,%eax
5cf7ad:	e8 09 28 01 00       	call   0x5e1fbb
5cf7b2:	6a 00                	push   $0x0
5cf7b4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5cf7b7:	e8 3b ec ff ff       	call   0x5ce3f7
5cf7bc:	8b 7d 08             	mov    0x8(%ebp),%edi
5cf7bf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5cf7c3:	8b 5d 10             	mov    0x10(%ebp),%ebx
5cf7c6:	39 5f 0c             	cmp    %ebx,0xc(%edi)
5cf7c9:	77 36                	ja     0x5cf801
5cf7cb:	8d 73 01             	lea    0x1(%ebx),%esi
5cf7ce:	83 fe 28             	cmp    $0x28,%esi
5cf7d1:	73 03                	jae    0x5cf7d6
5cf7d3:	6a 28                	push   $0x28
5cf7d5:	5e                   	pop    %esi
5cf7d6:	8b c6                	mov    %esi,%eax
5cf7d8:	c1 e0 02             	shl    $0x2,%eax
5cf7db:	50                   	push   %eax
5cf7dc:	ff 77 08             	push   0x8(%edi)
5cf7df:	e8 9c 6f 02 00       	call   0x5f6780
5cf7e4:	59                   	pop    %ecx
5cf7e5:	59                   	pop    %ecx
5cf7e6:	85 c0                	test   %eax,%eax
5cf7e8:	74 7c                	je     0x5cf866
5cf7ea:	89 47 08             	mov    %eax,0x8(%edi)
5cf7ed:	eb 0d                	jmp    0x5cf7fc
5cf7ef:	8b 4f 0c             	mov    0xc(%edi),%ecx
5cf7f2:	8b 47 08             	mov    0x8(%edi),%eax
5cf7f5:	83 24 88 00          	andl   $0x0,(%eax,%ecx,4)
5cf7f9:	ff 47 0c             	incl   0xc(%edi)
5cf7fc:	39 77 0c             	cmp    %esi,0xc(%edi)
5cf7ff:	72 ee                	jb     0x5cf7ef
5cf801:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cf804:	8b 01                	mov    (%ecx),%eax
5cf806:	8b 70 04             	mov    0x4(%eax),%esi
5cf809:	8b ce                	mov    %esi,%ecx
5cf80b:	ff 15 e0 24 68 00    	call   *0x6824e0
5cf811:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cf814:	ff d6                	call   *%esi
5cf816:	8b 47 08             	mov    0x8(%edi),%eax
5cf819:	8b 04 98             	mov    (%eax,%ebx,4),%eax
5cf81c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5cf81f:	85 c0                	test   %eax,%eax
5cf821:	74 2c                	je     0x5cf84f
5cf823:	8b 00                	mov    (%eax),%eax
5cf825:	8b 70 08             	mov    0x8(%eax),%esi
5cf828:	8b ce                	mov    %esi,%ecx
5cf82a:	ff 15 e0 24 68 00    	call   *0x6824e0
5cf830:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5cf833:	ff d6                	call   *%esi
5cf835:	89 45 f0             	mov    %eax,-0x10(%ebp)
5cf838:	85 c0                	test   %eax,%eax
5cf83a:	74 13                	je     0x5cf84f
5cf83c:	8b 08                	mov    (%eax),%ecx
5cf83e:	6a 01                	push   $0x1
5cf840:	8b 31                	mov    (%ecx),%esi
5cf842:	8b ce                	mov    %esi,%ecx
5cf844:	ff 15 e0 24 68 00    	call   *0x6824e0
5cf84a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5cf84d:	ff d6                	call   *%esi
5cf84f:	8b 47 08             	mov    0x8(%edi),%eax
5cf852:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5cf855:	89 0c 98             	mov    %ecx,(%eax,%ebx,4)
5cf858:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5cf85b:	e8 ef eb ff ff       	call   0x5ce44f
5cf860:	e8 30 27 01 00       	call   0x5e1f95
5cf865:	c3                   	ret
5cf866:	e8 e2 ea ff ff       	call   0x5ce34d
5cf86b:	cc                   	int3
5cf86c:	6a 3c                	push   $0x3c
5cf86e:	b8 c3 0e 66 00       	mov    $0x660ec3,%eax
5cf873:	e8 43 27 01 00       	call   0x5e1fbb
5cf878:	8b 75 0c             	mov    0xc(%ebp),%esi
5cf87b:	3b 35 0c 06 73 00    	cmp    0x73060c,%esi
5cf881:	75 2e                	jne    0x5cf8b1
5cf883:	68 c4 f7 6c 00       	push   $0x6cf7c4
5cf888:	8d 4d b8             	lea    -0x48(%ebp),%ecx
5cf88b:	e8 40 9e e6 ff       	call   0x4396d0
5cf890:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5cf894:	8d 45 b8             	lea    -0x48(%ebp),%eax
5cf897:	6a 00                	push   $0x0
5cf899:	ff 75 08             	push   0x8(%ebp)
5cf89c:	6a 3f                	push   $0x3f
5cf89e:	50                   	push   %eax
5cf89f:	e8 7f 00 00 00       	call   0x5cf923
5cf8a4:	83 c4 10             	add    $0x10,%esp
5cf8a7:	8d 4d b8             	lea    -0x48(%ebp),%ecx
5cf8aa:	e8 e1 9e e6 ff       	call   0x439790