588617:	89 4c 24 08          	mov    %ecx,0x8(%esp)
58861b:	ff 74 24 0c          	push   0xc(%esp)
58861f:	e8 8c f0 f5 ff       	call   0x4e76b0
588624:	a1 c0 6c 69 00       	mov    0x696cc0,%eax
588629:	83 c4 04             	add    $0x4,%esp
58862c:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
588631:	75 0a                	jne    0x58863d
588633:	0d 80 00 00 00       	or     $0x80,%eax
588638:	a3 c0 6c 69 00       	mov    %eax,0x696cc0
58863d:	25 a0 00 00 00       	and    $0xa0,%eax
588642:	3c a0                	cmp    $0xa0,%al
588644:	75 07                	jne    0x58864d
588646:	83 0d bc 6c 69 00 10 	orl    $0x10,0x696cbc
58864d:	5f                   	pop    %edi
58864e:	b8 01 00 00 00       	mov    $0x1,%eax
588653:	5e                   	pop    %esi
588654:	83 c4 08             	add    $0x8,%esp
588657:	c3                   	ret
588658:	5f                   	pop    %edi
588659:	33 c0                	xor    %eax,%eax
58865b:	5e                   	pop    %esi
58865c:	83 c4 08             	add    $0x8,%esp
58865f:	c3                   	ret
588660:	0f b6 44 24 04       	movzbl 0x4(%esp),%eax
588665:	83 f8 0c             	cmp    $0xc,%eax
588668:	73 08                	jae    0x588672
58866a:	8b 04 85 54 6c 69 00 	mov    0x696c54(,%eax,4),%eax
588671:	c3                   	ret
588672:	33 c0                	xor    %eax,%eax
588674:	c3                   	ret
588675:	cc                   	int3
588676:	cc                   	int3
588677:	cc                   	int3
588678:	cc                   	int3
588679:	cc                   	int3
58867a:	cc                   	int3
58867b:	cc                   	int3
58867c:	cc                   	int3
58867d:	cc                   	int3
58867e:	cc                   	int3
58867f:	cc                   	int3
588680:	ff 74 24 04          	push   0x4(%esp)
588684:	e8 77 59 00 00       	call   0x58e000
588689:	c1 f8 08             	sar    $0x8,%eax
58868c:	83 c4 04             	add    $0x4,%esp
58868f:	0f b6 c0             	movzbl %al,%eax
588692:	83 f8 0c             	cmp    $0xc,%eax
588695:	73 08                	jae    0x58869f
588697:	8b 04 85 54 6c 69 00 	mov    0x696c54(,%eax,4),%eax
58869e:	c3                   	ret
58869f:	33 c0                	xor    %eax,%eax
5886a1:	c3                   	ret
5886a2:	cc                   	int3
5886a3:	cc                   	int3
5886a4:	cc                   	int3
5886a5:	cc                   	int3
5886a6:	cc                   	int3
5886a7:	cc                   	int3
5886a8:	cc                   	int3
5886a9:	cc                   	int3
5886aa:	cc                   	int3
5886ab:	cc                   	int3
5886ac:	cc                   	int3
5886ad:	cc                   	int3
5886ae:	cc                   	int3
5886af:	cc                   	int3
5886b0:	53                   	push   %ebx
5886b1:	55                   	push   %ebp
5886b2:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
5886b6:	56                   	push   %esi
5886b7:	57                   	push   %edi
5886b8:	ff 75 00             	push   0x0(%ebp)
5886bb:	e8 10 c7 f5 ff       	call   0x4e4dd0
5886c0:	8b f8                	mov    %eax,%edi
5886c2:	83 c4 04             	add    $0x4,%esp
5886c5:	85 ff                	test   %edi,%edi
5886c7:	0f 84 b6 00 00 00    	je     0x588783
5886cd:	57                   	push   %edi
5886ce:	e8 ed c9 f5 ff       	call   0x4e50c0
5886d3:	83 c4 04             	add    $0x4,%esp
5886d6:	85 c0                	test   %eax,%eax
5886d8:	7e 2f                	jle    0x588709
5886da:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5886e0:	6a 00                	push   $0x0
5886e2:	57                   	push   %edi
5886e3:	e8 98 cb f5 ff       	call   0x4e5280
5886e8:	83 c4 08             	add    $0x8,%esp
5886eb:	81 78 20 04 03 00 00 	cmpl   $0x304,0x20(%eax)
5886f2:	75 15                	jne    0x588709
5886f4:	6a 00                	push   $0x0
5886f6:	57                   	push   %edi
5886f7:	e8 44 c6 f5 ff       	call   0x4e4d40
5886fc:	57                   	push   %edi
5886fd:	e8 be c9 f5 ff       	call   0x4e50c0
588702:	83 c4 0c             	add    $0xc,%esp
588705:	85 c0                	test   %eax,%eax
588707:	7f d7                	jg     0x5886e0
588709:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58870d:	33 f6                	xor    %esi,%esi
58870f:	53                   	push   %ebx
588710:	e8 ab c9 f5 ff       	call   0x4e50c0
588715:	83 c4 04             	add    $0x4,%esp
588718:	85 c0                	test   %eax,%eax
58871a:	7e 21                	jle    0x58873d
58871c:	0f 1f 40 00          	nopl   0x0(%eax)
588720:	56                   	push   %esi
588721:	53                   	push   %ebx
588722:	e8 59 cb f5 ff       	call   0x4e5280
588727:	56                   	push   %esi
588728:	50                   	push   %eax
588729:	57                   	push   %edi
58872a:	e8 21 c8 f5 ff       	call   0x4e4f50
58872f:	53                   	push   %ebx
588730:	46                   	inc    %esi
588731:	e8 8a c9 f5 ff       	call   0x4e50c0
588736:	83 c4 18             	add    $0x18,%esp
588739:	3b f0                	cmp    %eax,%esi
58873b:	7c e3                	jl     0x588720
58873d:	57                   	push   %edi
58873e:	e8 8d c6 f5 ff       	call   0x4e4dd0
588743:	8b d8                	mov    %eax,%ebx
588745:	83 c4 04             	add    $0x4,%esp
588748:	85 db                	test   %ebx,%ebx
58874a:	74 37                	je     0x588783
58874c:	8b 74 24 18          	mov    0x18(%esp),%esi
588750:	ff 36                	push   (%esi)
588752:	e8 c9 c7 f5 ff       	call   0x4e4f20
588757:	68 b0 a1 58 00       	push   $0x58a1b0
58875c:	53                   	push   %ebx
58875d:	89 1e                	mov    %ebx,(%esi)
58875f:	e8 7c ca f5 ff       	call   0x4e51e0
588764:	ff 36                	push   (%esi)
588766:	e8 d5 ca f5 ff       	call   0x4e5240
58876b:	ff 75 00             	push   0x0(%ebp)
58876e:	e8 ad c7 f5 ff       	call   0x4e4f20
588773:	83 c4 14             	add    $0x14,%esp
588776:	89 7d 00             	mov    %edi,0x0(%ebp)
588779:	b8 01 00 00 00       	mov    $0x1,%eax
58877e:	5f                   	pop    %edi
58877f:	5e                   	pop    %esi
588780:	5d                   	pop    %ebp
588781:	5b                   	pop    %ebx
588782:	c3                   	ret
588783:	5f                   	pop    %edi
588784:	5e                   	pop    %esi
588785:	5d                   	pop    %ebp
588786:	33 c0                	xor    %eax,%eax
588788:	5b                   	pop    %ebx
588789:	c3                   	ret
58878a:	cc                   	int3
58878b:	cc                   	int3
58878c:	cc                   	int3
58878d:	cc                   	int3
58878e:	cc                   	int3
58878f:	cc                   	int3
588790:	57                   	push   %edi
588791:	ff 74 24 0c          	push   0xc(%esp)
588795:	e8 36 c6 f5 ff       	call   0x4e4dd0
58879a:	8b f8                	mov    %eax,%edi
58879c:	83 c4 04             	add    $0x4,%esp
58879f:	85 ff                	test   %edi,%edi
5887a1:	75 02                	jne    0x5887a5
5887a3:	5f                   	pop    %edi
5887a4:	c3                   	ret
5887a5:	56                   	push   %esi
5887a6:	8b 74 24 0c          	mov    0xc(%esp),%esi
5887aa:	ff 36                	push   (%esi)
5887ac:	e8 6f c7 f5 ff       	call   0x4e4f20
5887b1:	68 b0 a1 58 00       	push   $0x58a1b0
5887b6:	57                   	push   %edi
5887b7:	89 3e                	mov    %edi,(%esi)
5887b9:	e8 22 ca f5 ff       	call   0x4e51e0
5887be:	ff 36                	push   (%esi)
5887c0:	e8 7b ca f5 ff       	call   0x4e5240
5887c5:	83 c4 10             	add    $0x10,%esp
5887c8:	b8 01 00 00 00       	mov    $0x1,%eax
5887cd:	5e                   	pop    %esi
5887ce:	5f                   	pop    %edi
5887cf:	c3                   	ret
5887d0:	68 6a 0e 00 00       	push   $0xe6a
5887d5:	68 3c 48 66 00       	push   $0x66483c
5887da:	6a 42                	push   $0x42
5887dc:	68 c5 00 00 00       	push   $0xc5
5887e1:	6a 14                	push   $0x14
5887e3:	e8 98 07 f5 ff       	call   0x4d8f80
5887e8:	83 c4 14             	add    $0x14,%esp
5887eb:	33 c0                	xor    %eax,%eax
5887ed:	c3                   	ret
5887ee:	cc                   	int3
5887ef:	cc                   	int3
5887f0:	68 90 a1 58 00       	push   $0x58a190
5887f5:	6a 40                	push   $0x40
5887f7:	ff 74 24 14          	push   0x14(%esp)
5887fb:	ff 74 24 14          	push   0x14(%esp)
5887ff:	ff 74 24 14          	push   0x14(%esp)
588803:	e8 a8 67 f6 ff       	call   0x4eefb0
588808:	83 c4 14             	add    $0x14,%esp
58880b:	c3                   	ret
58880c:	cc                   	int3
58880d:	cc                   	int3
58880e:	cc                   	int3
58880f:	cc                   	int3
588810:	8b 4c 24 04          	mov    0x4(%esp),%ecx
588814:	33 c0                	xor    %eax,%eax
588816:	39 81 0c 01 00 00    	cmp    %eax,0x10c(%ecx)
58881c:	0f 95 c0             	setne  %al
58881f:	c3                   	ret
588820:	56                   	push   %esi
588821:	8b 74 24 08          	mov    0x8(%esp),%esi
588825:	57                   	push   %edi
588826:	85 f6                	test   %esi,%esi
588828:	75 3d                	jne    0x588867
58882a:	8b 44 24 10          	mov    0x10(%esp),%eax
58882e:	83 f8 5c             	cmp    $0x5c,%eax
588831:	74 21                	je     0x588854
588833:	83 f8 62             	cmp    $0x62,%eax
588836:	74 09                	je     0x588841
588838:	83 f8 66             	cmp    $0x66,%eax
58883b:	0f 85 a1 01 00 00    	jne    0x5889e2
588841:	6a 00                	push   $0x0
588843:	ff 74 24 1c          	push   0x1c(%esp)
588847:	6a 00                	push   $0x0
588849:	e8 82 1e 01 00       	call   0x59a6d0
58884e:	83 c4 0c             	add    $0xc,%esp
588851:	5f                   	pop    %edi
588852:	5e                   	pop    %esi
588853:	c3                   	ret
588854:	ff 74 24 18          	push   0x18(%esp)
588858:	6a 00                	push   $0x0
58885a:	6a 00                	push   $0x0
58885c:	e8 5f 19 01 00       	call   0x59a1c0
588861:	83 c4 0c             	add    $0xc,%esp
588864:	5f                   	pop    %edi
588865:	5e                   	pop    %esi
588866:	c3                   	ret
588867:	8b 54 24 10          	mov    0x10(%esp),%edx
58886b:	8d 42 f0             	lea    -0x10(%edx),%eax
58886e:	83 f8 73             	cmp    $0x73,%eax
588871:	0f 87 04 02 00 00    	ja     0x588a7b
588877:	0f b6 88 18 8b 58 00 	movzbl 0x588b18(%eax),%ecx
58887e:	ff 24 8d 94 8a 58 00 	jmp    *0x588a94(,%ecx,4)
588885:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
58888b:	5f                   	pop    %edi
58888c:	5e                   	pop    %esi
58888d:	c3                   	ret
58888e:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
588894:	8b 4c 24 14          	mov    0x14(%esp),%ecx
588898:	5f                   	pop    %edi
588899:	89 8e c4 00 00 00    	mov    %ecx,0xc4(%esi)
58889f:	5e                   	pop    %esi
5888a0:	c3                   	ret
5888a1:	8b 44 24 18          	mov    0x18(%esp),%eax
5888a5:	89 86 cc 00 00 00    	mov    %eax,0xcc(%esi)
5888ab:	b8 01 00 00 00       	mov    $0x1,%eax
5888b0:	5f                   	pop    %edi
5888b1:	5e                   	pop    %esi
5888b2:	c3                   	ret
5888b3:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
5888b9:	5f                   	pop    %edi
5888ba:	5e                   	pop    %esi
5888bb:	c3                   	ret
5888bc:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5888c0:	85 c9                	test   %ecx,%ecx
5888c2:	0f 88 1a 01 00 00    	js     0x5889e2
5888c8:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
5888ce:	5f                   	pop    %edi
5888cf:	89 8e bc 00 00 00    	mov    %ecx,0xbc(%esi)
5888d5:	5e                   	pop    %esi
5888d6:	c3                   	ret
5888d7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5888db:	85 c9                	test   %ecx,%ecx
5888dd:	0f 88 ff 00 00 00    	js     0x5889e2
5888e3:	8b 46 18             	mov    0x18(%esi),%eax
5888e6:	5f                   	pop    %edi
5888e7:	89 4e 18             	mov    %ecx,0x18(%esi)
5888ea:	5e                   	pop    %esi
5888eb:	c3                   	ret
5888ec:	8b 46 18             	mov    0x18(%esi),%eax
5888ef:	5f                   	pop    %edi
5888f0:	5e                   	pop    %esi
5888f1:	c3                   	ret
5888f2:	8b 46 24             	mov    0x24(%esi),%eax
5888f5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5888f9:	5f                   	pop    %edi
5888fa:	89 4e 24             	mov    %ecx,0x24(%esi)
5888fd:	5e                   	pop    %esi
5888fe:	c3                   	ret
5888ff:	8b 46 24             	mov    0x24(%esi),%eax
588902:	5f                   	pop    %edi
588903:	5e                   	pop    %esi
588904:	c3                   	ret
588905:	ff 76 14             	push   0x14(%esi)
588908:	e8 d3 b5 f5 ff       	call   0x4e3ee0
58890d:	83 c4 04             	add    $0x4,%esp
588910:	5f                   	pop    %edi
588911:	5e                   	pop    %esi
588912:	c3                   	ret
588913:	8b 46 38             	mov    0x38(%esi),%eax
588916:	5f                   	pop    %edi
588917:	5e                   	pop    %esi
588918:	c3                   	ret
588919:	8b 46 40             	mov    0x40(%esi),%eax
58891c:	5f                   	pop    %edi
58891d:	5e                   	pop    %esi
58891e:	c3                   	ret
58891f:	8b 46 3c             	mov    0x3c(%esi),%eax
588922:	5f                   	pop    %edi
588923:	5e                   	pop    %esi
588924:	c3                   	ret
588925:	8b 46 44             	mov    0x44(%esi),%eax
588928:	5f                   	pop    %edi
588929:	5e                   	pop    %esi
58892a:	c3                   	ret
58892b:	8b 46 4c             	mov    0x4c(%esi),%eax
58892e:	5f                   	pop    %edi
58892f:	5e                   	pop    %esi
588930:	c3                   	ret
588931:	8b 46 48             	mov    0x48(%esi),%eax
588934:	5f                   	pop    %edi
588935:	5e                   	pop    %esi
588936:	c3                   	ret
588937:	8b 46 5c             	mov    0x5c(%esi),%eax
58893a:	5f                   	pop    %edi
58893b:	5e                   	pop    %esi
58893c:	c3                   	ret
58893d:	8b 46 60             	mov    0x60(%esi),%eax
588940:	5f                   	pop    %edi
588941:	5e                   	pop    %esi
588942:	c3                   	ret
588943:	8b 46 50             	mov    0x50(%esi),%eax
588946:	5f                   	pop    %edi
588947:	5e                   	pop    %esi
588948:	c3                   	ret
588949:	8b 46 54             	mov    0x54(%esi),%eax
58894c:	5f                   	pop    %edi
58894d:	5e                   	pop    %esi
58894e:	c3                   	ret
58894f:	8b 46 58             	mov    0x58(%esi),%eax
588952:	5f                   	pop    %edi
588953:	5e                   	pop    %esi
588954:	c3                   	ret
588955:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
58895b:	0b 44 24 14          	or     0x14(%esp),%eax
58895f:	5f                   	pop    %edi
588960:	89 86 b0 00 00 00    	mov    %eax,0xb0(%esi)
588966:	5e                   	pop    %esi
588967:	c3                   	ret
588968:	8b 44 24 14          	mov    0x14(%esp),%eax
58896c:	f7 d0                	not    %eax
58896e:	23 86 b0 00 00 00    	and    0xb0(%esi),%eax