5785e5:	e8 c6 91 05 00       	call   0x5d17b0
5785ea:	53                   	push   %ebx
5785eb:	55                   	push   %ebp
5785ec:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
5785f0:	56                   	push   %esi
5785f1:	57                   	push   %edi
5785f2:	ff 75 0c             	push   0xc(%ebp)
5785f5:	e8 46 4d fe ff       	call   0x55d340
5785fa:	ff 75 18             	push   0x18(%ebp)
5785fd:	33 c9                	xor    %ecx,%ecx
5785ff:	85 c0                	test   %eax,%eax
578601:	0f 9f c1             	setg   %cl
578604:	89 4c 24 20          	mov    %ecx,0x20(%esp)
578608:	e8 33 4d fe ff       	call   0x55d340
57860d:	33 c9                	xor    %ecx,%ecx
57860f:	83 c4 08             	add    $0x8,%esp
578612:	85 c0                	test   %eax,%eax
578614:	be 70 a7 65 00       	mov    $0x65a770,%esi
578619:	0f 9f c1             	setg   %cl
57861c:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
578620:	8b 46 fc             	mov    -0x4(%esi),%eax
578623:	8b 7d 0c             	mov    0xc(%ebp),%edi
578626:	8b 1e                	mov    (%esi),%ebx
578628:	6a ff                	push   $0xffffffff
57862a:	50                   	push   %eax
57862b:	57                   	push   %edi
57862c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
578630:	e8 8b 4c fe ff       	call   0x55d2c0
578635:	8b e8                	mov    %eax,%ebp
578637:	83 c4 0c             	add    $0xc,%esp
57863a:	85 ed                	test   %ebp,%ebp
57863c:	0f 88 86 00 00 00    	js     0x5786c8
578642:	55                   	push   %ebp
578643:	57                   	push   %edi
578644:	e8 47 4c fe ff       	call   0x55d290
578649:	83 c4 08             	add    $0x8,%esp
57864c:	85 c0                	test   %eax,%eax
57864e:	74 78                	je     0x5786c8
578650:	50                   	push   %eax
578651:	e8 1a 49 fe ff       	call   0x55cf70
578656:	83 c4 04             	add    $0x4,%esp
578659:	89 44 24 14          	mov    %eax,0x14(%esp)
57865d:	f6 c3 01             	test   $0x1,%bl
578660:	74 3e                	je     0x5786a0
578662:	f6 c3 20             	test   $0x20,%bl
578665:	74 27                	je     0x57868e
578667:	55                   	push   %ebp
578668:	8b 6c 24 14          	mov    0x14(%esp),%ebp
57866c:	55                   	push   %ebp
57866d:	57                   	push   %edi
57866e:	e8 4d 4c fe ff       	call   0x55d2c0
578673:	83 c4 0c             	add    $0xc,%esp
578676:	85 c0                	test   %eax,%eax
578678:	78 0e                	js     0x578688
57867a:	50                   	push   %eax
57867b:	57                   	push   %edi
57867c:	e8 0f 4c fe ff       	call   0x55d290
578681:	83 c4 08             	add    $0x8,%esp
578684:	85 c0                	test   %eax,%eax
578686:	75 18                	jne    0x5786a0
578688:	8b 44 24 14          	mov    0x14(%esp),%eax
57868c:	eb 04                	jmp    0x578692
57868e:	8b 6c 24 10          	mov    0x10(%esp),%ebp
578692:	f6 c3 40             	test   $0x40,%bl
578695:	74 05                	je     0x57869c
578697:	83 f8 01             	cmp    $0x1,%eax
57869a:	75 04                	jne    0x5786a0
57869c:	85 c0                	test   %eax,%eax
57869e:	75 3c                	jne    0x5786dc
5786a0:	68 17 01 00 00       	push   $0x117
5786a5:	68 a4 a7 65 00       	push   $0x65a7a4
5786aa:	68 a1 00 00 00       	push   $0xa1
5786af:	68 b7 00 00 00       	push   $0xb7
5786b4:	6a 2e                	push   $0x2e
5786b6:	e8 c5 08 f6 ff       	call   0x4d8f80
5786bb:	83 c4 14             	add    $0x14,%esp
5786be:	33 c0                	xor    %eax,%eax
5786c0:	5f                   	pop    %edi
5786c1:	5e                   	pop    %esi
5786c2:	5d                   	pop    %ebp
5786c3:	5b                   	pop    %ebx
5786c4:	83 c4 10             	add    $0x10,%esp
5786c7:	c3                   	ret
5786c8:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
5786cd:	74 09                	je     0x5786d8
5786cf:	8b c3                	mov    %ebx,%eax
5786d1:	83 e0 11             	and    $0x11,%eax
5786d4:	3c 11                	cmp    $0x11,%al
5786d6:	74 c8                	je     0x5786a0
5786d8:	8b 6c 24 10          	mov    0x10(%esp),%ebp
5786dc:	ff 74 24 1c          	push   0x1c(%esp)
5786e0:	8b 44 24 28          	mov    0x28(%esp),%eax
5786e4:	ff 70 18             	push   0x18(%eax)
5786e7:	6a 02                	push   $0x2
5786e9:	53                   	push   %ebx
5786ea:	55                   	push   %ebp
5786eb:	e8 d0 00 00 00       	call   0x5787c0
5786f0:	83 c4 14             	add    $0x14,%esp
5786f3:	85 c0                	test   %eax,%eax
5786f5:	74 a9                	je     0x5786a0
5786f7:	8b 6c 24 24          	mov    0x24(%esp),%ebp
5786fb:	83 c6 08             	add    $0x8,%esi
5786fe:	81 fe a8 a7 65 00    	cmp    $0x65a7a8,%esi
578704:	0f 8c 16 ff ff ff    	jl     0x578620
57870a:	5f                   	pop    %edi
57870b:	5e                   	pop    %esi
57870c:	5d                   	pop    %ebp
57870d:	b8 01 00 00 00       	mov    $0x1,%eax
578712:	5b                   	pop    %ebx
578713:	83 c4 10             	add    $0x10,%esp
578716:	c3                   	ret
578717:	cc                   	int3
578718:	cc                   	int3
578719:	cc                   	int3
57871a:	cc                   	int3
57871b:	cc                   	int3
57871c:	cc                   	int3
57871d:	cc                   	int3
57871e:	cc                   	int3
57871f:	cc                   	int3
578720:	ff 74 24 14          	push   0x14(%esp)
578724:	8b 44 24 08          	mov    0x8(%esp),%eax
578728:	ff 74 24 14          	push   0x14(%esp)
57872c:	83 c0 0c             	add    $0xc,%eax
57872f:	ff 74 24 14          	push   0x14(%esp)
578733:	ff 74 24 14          	push   0x14(%esp)
578737:	50                   	push   %eax
578738:	e8 d3 4a fe ff       	call   0x55d210
57873d:	83 c4 14             	add    $0x14,%esp
578740:	f7 d8                	neg    %eax
578742:	1b c0                	sbb    %eax,%eax
578744:	f7 d8                	neg    %eax
578746:	c3                   	ret
578747:	cc                   	int3
578748:	cc                   	int3
578749:	cc                   	int3
57874a:	cc                   	int3
57874b:	cc                   	int3
57874c:	cc                   	int3
57874d:	cc                   	int3
57874e:	cc                   	int3
57874f:	cc                   	int3
578750:	ff 74 24 0c          	push   0xc(%esp)
578754:	8b 44 24 08          	mov    0x8(%esp),%eax
578758:	ff 74 24 0c          	push   0xc(%esp)
57875c:	ff 70 0c             	push   0xc(%eax)
57875f:	e8 5c 4b fe ff       	call   0x55d2c0
578764:	83 c4 0c             	add    $0xc,%esp
578767:	c3                   	ret
578768:	cc                   	int3
578769:	cc                   	int3
57876a:	cc                   	int3
57876b:	cc                   	int3
57876c:	cc                   	int3
57876d:	cc                   	int3
57876e:	cc                   	int3
57876f:	cc                   	int3
578770:	8b 44 24 04          	mov    0x4(%esp),%eax
578774:	ff 70 0c             	push   0xc(%eax)
578777:	e8 c4 4b fe ff       	call   0x55d340
57877c:	83 c4 04             	add    $0x4,%esp
57877f:	c3                   	ret
578780:	56                   	push   %esi
578781:	57                   	push   %edi
578782:	8b 7c 24 14          	mov    0x14(%esp),%edi
578786:	ff 37                	push   (%edi)
578788:	ff 74 24 10          	push   0x10(%esp)
57878c:	ff 74 24 18          	push   0x18(%esp)
578790:	e8 2b 4b fe ff       	call   0x55d2c0
578795:	8b f0                	mov    %eax,%esi
578797:	83 c4 0c             	add    $0xc,%esp
57879a:	85 f6                	test   %esi,%esi
57879c:	79 05                	jns    0x5787a3
57879e:	5f                   	pop    %edi
57879f:	33 c0                	xor    %eax,%eax
5787a1:	5e                   	pop    %esi
5787a2:	c3                   	ret
5787a3:	56                   	push   %esi
5787a4:	ff 74 24 14          	push   0x14(%esp)
5787a8:	e8 e3 4a fe ff       	call   0x55d290
5787ad:	83 c4 08             	add    $0x8,%esp
5787b0:	89 37                	mov    %esi,(%edi)
5787b2:	5f                   	pop    %edi
5787b3:	5e                   	pop    %esi
5787b4:	c3                   	ret
5787b5:	cc                   	int3
5787b6:	cc                   	int3
5787b7:	cc                   	int3
5787b8:	cc                   	int3
5787b9:	cc                   	int3
5787ba:	cc                   	int3
5787bb:	cc                   	int3
5787bc:	cc                   	int3
5787bd:	cc                   	int3
5787be:	cc                   	int3
5787bf:	cc                   	int3
5787c0:	b8 04 00 00 00       	mov    $0x4,%eax
5787c5:	e8 e6 8f 05 00       	call   0x5d17b0
5787ca:	53                   	push   %ebx
5787cb:	56                   	push   %esi
5787cc:	57                   	push   %edi
5787cd:	8b 7c 24 20          	mov    0x20(%esp),%edi
5787d1:	6a ff                	push   $0xffffffff
5787d3:	ff 74 24 18          	push   0x18(%esp)
5787d7:	57                   	push   %edi
5787d8:	e8 e3 4a fe ff       	call   0x55d2c0
5787dd:	83 c4 0c             	add    $0xc,%esp
5787e0:	85 c0                	test   %eax,%eax
5787e2:	78 5a                	js     0x57883e
5787e4:	50                   	push   %eax
5787e5:	57                   	push   %edi
5787e6:	89 44 24 14          	mov    %eax,0x14(%esp)
5787ea:	e8 a1 4a fe ff       	call   0x55d290
5787ef:	83 c4 08             	add    $0x8,%esp
5787f2:	85 c0                	test   %eax,%eax
5787f4:	74 48                	je     0x57883e
5787f6:	50                   	push   %eax
5787f7:	e8 74 47 fe ff       	call   0x55cf70
5787fc:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
578800:	83 c4 04             	add    $0x4,%esp
578803:	8b f0                	mov    %eax,%esi
578805:	85 5c 24 1c          	test   %ebx,0x1c(%esp)
578809:	74 48                	je     0x578853
57880b:	f6 c3 20             	test   $0x20,%bl
57880e:	74 16                	je     0x578826
578810:	8d 44 24 0c          	lea    0xc(%esp),%eax
578814:	50                   	push   %eax
578815:	57                   	push   %edi
578816:	ff 74 24 1c          	push   0x1c(%esp)
57881a:	e8 61 ff ff ff       	call   0x578780
57881f:	83 c4 0c             	add    $0xc,%esp
578822:	85 c0                	test   %eax,%eax
578824:	75 2d                	jne    0x578853
578826:	f6 c3 40             	test   $0x40,%bl
578829:	74 05                	je     0x578830
57882b:	83 fe 01             	cmp    $0x1,%esi
57882e:	75 23                	jne    0x578853
578830:	85 f6                	test   %esi,%esi
578832:	74 1f                	je     0x578853
578834:	5f                   	pop    %edi
578835:	5e                   	pop    %esi
578836:	b8 01 00 00 00       	mov    $0x1,%eax
57883b:	5b                   	pop    %ebx
57883c:	59                   	pop    %ecx
57883d:	c3                   	ret
57883e:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
578843:	74 ef                	je     0x578834
578845:	8b 44 24 18          	mov    0x18(%esp),%eax
578849:	a8 10                	test   $0x10,%al
57884b:	74 e7                	je     0x578834
57884d:	85 44 24 1c          	test   %eax,0x1c(%esp)
578851:	74 e1                	je     0x578834
578853:	5f                   	pop    %edi
578854:	5e                   	pop    %esi
578855:	33 c0                	xor    %eax,%eax
578857:	5b                   	pop    %ebx
578858:	59                   	pop    %ecx
578859:	c3                   	ret
57885a:	cc                   	int3
57885b:	cc                   	int3
57885c:	cc                   	int3
57885d:	cc                   	int3
57885e:	cc                   	int3
57885f:	cc                   	int3
578860:	b8 0c 00 00 00       	mov    $0xc,%eax
578865:	e8 46 8f 05 00       	call   0x5d17b0
57886a:	53                   	push   %ebx
57886b:	55                   	push   %ebp
57886c:	8b 6c 24 18          	mov    0x18(%esp),%ebp
578870:	56                   	push   %esi
578871:	8b 74 24 20          	mov    0x20(%esp),%esi
578875:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
57887c:	00
57887d:	57                   	push   %edi
57887e:	83 fe ff             	cmp    $0xffffffff,%esi
578881:	75 0e                	jne    0x578891
578883:	8b f5                	mov    %ebp,%esi
578885:	8d 4e 01             	lea    0x1(%esi),%ecx
578888:	8a 06                	mov    (%esi),%al
57888a:	46                   	inc    %esi
57888b:	84 c0                	test   %al,%al
57888d:	75 f9                	jne    0x578888
57888f:	2b f1                	sub    %ecx,%esi
578891:	33 db                	xor    %ebx,%ebx
578893:	33 ff                	xor    %edi,%edi
578895:	85 f6                	test   %esi,%esi
578897:	7e 43                	jle    0x5788dc
578899:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5788a0:	8d 44 24 10          	lea    0x10(%esp),%eax
5788a4:	50                   	push   %eax
5788a5:	8b c6                	mov    %esi,%eax
5788a7:	2b c7                	sub    %edi,%eax
5788a9:	50                   	push   %eax
5788aa:	8d 04 2f             	lea    (%edi,%ebp,1),%eax
5788ad:	50                   	push   %eax
5788ae:	e8 3d 48 00 00       	call   0x57d0f0
5788b3:	83 c4 0c             	add    $0xc,%esp
5788b6:	85 c0                	test   %eax,%eax
5788b8:	78 69                	js     0x578923
5788ba:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5788be:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
5788c4:	77 53                	ja     0x578919
5788c6:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
5788cc:	1b c9                	sbb    %ecx,%ecx
5788ce:	03 f8                	add    %eax,%edi
5788d0:	83 e1 fe             	and    $0xfffffffe,%ecx
5788d3:	83 c1 04             	add    $0x4,%ecx
5788d6:	03 d9                	add    %ecx,%ebx
5788d8:	3b fe                	cmp    %esi,%edi
5788da:	7c c4                	jl     0x5788a0
5788dc:	6a 75                	push   $0x75
5788de:	83 c3 02             	add    $0x2,%ebx
5788e1:	68 bc a7 65 00       	push   $0x65a7bc
5788e6:	53                   	push   %ebx
5788e7:	89 5c 24 24          	mov    %ebx,0x24(%esp)
5788eb:	e8 60 7e f6 ff       	call   0x4e0750
5788f0:	8b d0                	mov    %eax,%edx
5788f2:	83 c4 0c             	add    $0xc,%esp
5788f5:	89 54 24 14          	mov    %edx,0x14(%esp)
5788f9:	85 d2                	test   %edx,%edx
5788fb:	0f 85 94 00 00 00    	jne    0x578995
578901:	6a 76                	push   $0x76
578903:	68 bc a7 65 00       	push   $0x65a7bc
578908:	6a 41                	push   $0x41
57890a:	68 81 00 00 00       	push   $0x81
57890f:	6a 23                	push   $0x23
578911:	e8 6a 06 f6 ff       	call   0x4d8f80
578916:	83 c4 14             	add    $0x14,%esp
578919:	5f                   	pop    %edi
57891a:	5e                   	pop    %esi
57891b:	5d                   	pop    %ebp
57891c:	33 c0                	xor    %eax,%eax
57891e:	5b                   	pop    %ebx
57891f:	83 c4 0c             	add    $0xc,%esp
578922:	c3                   	ret
578923:	03 f6                	add    %esi,%esi
578925:	6a 19                	push   $0x19
578927:	68 bc a7 65 00       	push   $0x65a7bc
57892c:	8d 7e 02             	lea    0x2(%esi),%edi
57892f:	57                   	push   %edi
578930:	e8 1b 7e f6 ff       	call   0x4e0750
578935:	8b d0                	mov    %eax,%edx
578937:	83 c4 0c             	add    $0xc,%esp
57893a:	85 d2                	test   %edx,%edx
57893c:	75 21                	jne    0x57895f
57893e:	6a 1a                	push   $0x1a
578940:	68 bc a7 65 00       	push   $0x65a7bc
578945:	6a 41                	push   $0x41
578947:	6a 79                	push   $0x79
578949:	6a 23                	push   $0x23