5a55c1:	0f 84 40 02 00 00    	je     0x5a5807
5a55c7:	83 fd 02             	cmp    $0x2,%ebp
5a55ca:	0f 82 22 02 00 00    	jb     0x5a57f2
5a55d0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a55d4:	83 ed 02             	sub    $0x2,%ebp
5a55d7:	0f b6 31             	movzbl (%ecx),%esi
5a55da:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
5a55de:	83 c1 02             	add    $0x2,%ecx
5a55e1:	c1 e6 08             	shl    $0x8,%esi
5a55e4:	0b f0                	or     %eax,%esi
5a55e6:	89 4c 24 28          	mov    %ecx,0x28(%esp)
5a55ea:	83 fd 02             	cmp    $0x2,%ebp
5a55ed:	0f 82 ff 01 00 00    	jb     0x5a57f2
5a55f3:	0f b6 11             	movzbl (%ecx),%edx
5a55f6:	83 c5 fe             	add    $0xfffffffe,%ebp
5a55f9:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
5a55fd:	c1 e2 08             	shl    $0x8,%edx
5a5600:	0b d0                	or     %eax,%edx
5a5602:	8d 41 02             	lea    0x2(%ecx),%eax
5a5605:	89 54 24 20          	mov    %edx,0x20(%esp)
5a5609:	89 44 24 28          	mov    %eax,0x28(%esp)
5a560d:	3b ea                	cmp    %edx,%ebp
5a560f:	0f 82 dd 01 00 00    	jb     0x5a57f2
5a5615:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
5a5618:	2b ea                	sub    %edx,%ebp
5a561a:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a561e:	b8 e0 7c 66 00       	mov    $0x667ce0,%eax
5a5623:	33 c9                	xor    %ecx,%ecx
5a5625:	3b 30                	cmp    (%eax),%esi
5a5627:	0f 84 84 00 00 00    	je     0x5a56b1
5a562d:	41                   	inc    %ecx
5a562e:	83 c0 20             	add    $0x20,%eax
5a5631:	83 f9 1a             	cmp    $0x1a,%ecx
5a5634:	72 ef                	jb     0x5a5625
5a5636:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5a563a:	85 c9                	test   %ecx,%ecx
5a563c:	74 6b                	je     0x5a56a9
5a563e:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5a5643:	b8 02 00 00 00       	mov    $0x2,%eax
5a5648:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%esp)
5a564f:	00
5a5650:	74 07                	je     0x5a5659
5a5652:	b8 01 00 00 00       	mov    $0x1,%eax
5a5657:	eb 0e                	jmp    0x5a5667
5a5659:	f7 c7 00 01 00 00    	test   $0x100,%edi
5a565f:	ba 00 00 00 00       	mov    $0x0,%edx
5a5664:	0f 45 c2             	cmovne %edx,%eax
5a5667:	8d 54 24 34          	lea    0x34(%esp),%edx
5a566b:	52                   	push   %edx
5a566c:	56                   	push   %esi
5a566d:	50                   	push   %eax
5a566e:	51                   	push   %ecx
5a566f:	e8 dc 97 fe ff       	call   0x58ee50
5a5674:	83 c4 10             	add    $0x10,%esp
5a5677:	85 c0                	test   %eax,%eax
5a5679:	74 2e                	je     0x5a56a9
5a567b:	8b 48 08             	mov    0x8(%eax),%ecx
5a567e:	85 cf                	test   %ecx,%edi
5a5680:	0f 84 57 01 00 00    	je     0x5a57dd
5a5686:	8b 43 04             	mov    0x4(%ebx),%eax
5a5689:	8b 40 64             	mov    0x64(%eax),%eax
5a568c:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a5690:	74 05                	je     0x5a5697
5a5692:	f6 c1 01             	test   $0x1,%cl
5a5695:	eb 03                	jmp    0x5a569a
5a5697:	f6 c1 02             	test   $0x2,%cl
5a569a:	0f 85 3d 01 00 00    	jne    0x5a57dd
5a56a0:	8b 4c 24 34          	mov    0x34(%esp),%ecx
5a56a4:	83 c1 1a             	add    $0x1a,%ecx
5a56a7:	eb 2d                	jmp    0x5a56d6
5a56a9:	8b 54 24 38          	mov    0x38(%esp),%edx
5a56ad:	33 ff                	xor    %edi,%edi
5a56af:	eb 3f                	jmp    0x5a56f0
5a56b1:	8b 50 04             	mov    0x4(%eax),%edx
5a56b4:	85 d7                	test   %edx,%edi
5a56b6:	0f 84 21 01 00 00    	je     0x5a57dd
5a56bc:	8b 43 04             	mov    0x4(%ebx),%eax
5a56bf:	8b 40 64             	mov    0x64(%eax),%eax
5a56c2:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a56c6:	74 05                	je     0x5a56cd
5a56c8:	f6 c2 01             	test   $0x1,%dl
5a56cb:	eb 03                	jmp    0x5a56d0
5a56cd:	f6 c2 02             	test   $0x2,%dl
5a56d0:	0f 85 07 01 00 00    	jne    0x5a57dd
5a56d6:	8b 54 24 38          	mov    0x38(%esp),%edx
5a56da:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
5a56dd:	8d 04 c2             	lea    (%edx,%eax,8),%eax
5a56e0:	8b f8                	mov    %eax,%edi
5a56e2:	85 c0                	test   %eax,%eax
5a56e4:	74 0a                	je     0x5a56f0
5a56e6:	83 78 08 01          	cmpl   $0x1,0x8(%eax)
5a56ea:	0f 84 ed 00 00 00    	je     0x5a57dd
5a56f0:	83 fe 29             	cmp    $0x29,%esi
5a56f3:	75 0f                	jne    0x5a5704
5a56f5:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5a56fa:	74 08                	je     0x5a5704
5a56fc:	85 ed                	test   %ebp,%ebp
5a56fe:	0f 85 d9 00 00 00    	jne    0x5a57dd
5a5704:	8b cf                	mov    %edi,%ecx
5a5706:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5a570b:	2b ca                	sub    %edx,%ecx
5a570d:	f7 e9                	imul   %ecx
5a570f:	c1 fa 02             	sar    $0x2,%edx
5a5712:	8b c2                	mov    %edx,%eax
5a5714:	c1 e8 1f             	shr    $0x1f,%eax
5a5717:	03 c2                	add    %edx,%eax
5a5719:	83 f8 1a             	cmp    $0x1a,%eax
5a571c:	73 26                	jae    0x5a5744
5a571e:	f7 44 24 3c 80 60 00 	testl  $0x6080,0x3c(%esp)
5a5725:	00
5a5726:	75 1c                	jne    0x5a5744
5a5728:	83 fe 2c             	cmp    $0x2c,%esi
5a572b:	74 17                	je     0x5a5744
5a572d:	81 fe 01 ff 00 00    	cmp    $0xff01,%esi
5a5733:	74 0f                	je     0x5a5744
5a5735:	83 fe 12             	cmp    $0x12,%esi
5a5738:	74 0a                	je     0x5a5744
5a573a:	f6 84 18 14 05 00 00 	testb  $0x2,0x514(%eax,%ebx,1)
5a5741:	02
5a5742:	74 59                	je     0x5a579d
5a5744:	85 ff                	test   %edi,%edi
5a5746:	74 48                	je     0x5a5790
5a5748:	8b 44 24 28          	mov    0x28(%esp),%eax
5a574c:	89 07                	mov    %eax,(%edi)
5a574e:	8b 44 24 20          	mov    0x20(%esp),%eax
5a5752:	89 47 04             	mov    %eax,0x4(%edi)
5a5755:	8b 44 24 18          	mov    0x18(%esp),%eax
5a5759:	89 47 14             	mov    %eax,0x14(%edi)
5a575c:	40                   	inc    %eax
5a575d:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
5a5764:	89 77 10             	mov    %esi,0x10(%edi)
5a5767:	8b 8b 30 05 00 00    	mov    0x530(%ebx),%ecx
5a576d:	89 44 24 18          	mov    %eax,0x18(%esp)
5a5771:	85 c9                	test   %ecx,%ecx
5a5773:	74 1b                	je     0x5a5790
5a5775:	ff b3 34 05 00 00    	push   0x534(%ebx)
5a577b:	33 c0                	xor    %eax,%eax
5a577d:	ff 77 04             	push   0x4(%edi)
5a5780:	39 43 1c             	cmp    %eax,0x1c(%ebx)
5a5783:	ff 37                	push   (%edi)
5a5785:	0f 94 c0             	sete   %al
5a5788:	56                   	push   %esi
5a5789:	50                   	push   %eax
5a578a:	53                   	push   %ebx
5a578b:	ff d1                	call   *%ecx
5a578d:	83 c4 18             	add    $0x18,%esp
5a5790:	85 ed                	test   %ebp,%ebp
5a5792:	74 73                	je     0x5a5807
5a5794:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
5a5798:	e9 2a fe ff ff       	jmp    0x5a55c7
5a579d:	68 7b 02 00 00       	push   $0x27b
5a57a2:	68 38 80 66 00       	push   $0x668038
5a57a7:	68 d9 00 00 00       	push   $0xd9
5a57ac:	68 b3 01 00 00       	push   $0x1b3
5a57b1:	6a 6e                	push   $0x6e
5a57b3:	53                   	push   %ebx
5a57b4:	e8 57 99 fe ff       	call   0x58f110
5a57b9:	83 c4 18             	add    $0x18,%esp
5a57bc:	8b 44 24 38          	mov    0x38(%esp),%eax
5a57c0:	68 a1 02 00 00       	push   $0x2a1
5a57c5:	68 38 80 66 00       	push   $0x668038
5a57ca:	50                   	push   %eax
5a57cb:	e8 b0 af f3 ff       	call   0x4e0780
5a57d0:	83 c4 0c             	add    $0xc,%esp
5a57d3:	33 c0                	xor    %eax,%eax
5a57d5:	5f                   	pop    %edi
5a57d6:	5e                   	pop    %esi
5a57d7:	5d                   	pop    %ebp
5a57d8:	5b                   	pop    %ebx
5a57d9:	83 c4 20             	add    $0x20,%esp
5a57dc:	c3                   	ret
5a57dd:	68 5b 02 00 00       	push   $0x25b
5a57e2:	68 38 80 66 00       	push   $0x668038
5a57e7:	6a 6e                	push   $0x6e
5a57e9:	68 b3 01 00 00       	push   $0x1b3
5a57ee:	6a 2f                	push   $0x2f
5a57f0:	eb c1                	jmp    0x5a57b3
5a57f2:	68 4d 02 00 00       	push   $0x24d
5a57f7:	68 38 80 66 00       	push   $0x668038
5a57fc:	6a 6e                	push   $0x6e
5a57fe:	68 b3 01 00 00       	push   $0x1b3
5a5803:	6a 32                	push   $0x32
5a5805:	eb ac                	jmp    0x5a57b3
5a5807:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
5a580c:	74 42                	je     0x5a5850
5a580e:	33 ff                	xor    %edi,%edi
5a5810:	be e4 7c 66 00       	mov    $0x667ce4,%esi
5a5815:	8b 6e 04             	mov    0x4(%esi),%ebp
5a5818:	85 ed                	test   %ebp,%ebp
5a581a:	74 2b                	je     0x5a5847
5a581c:	8b 06                	mov    (%esi),%eax
5a581e:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
5a5822:	85 c1                	test   %eax,%ecx
5a5824:	74 21                	je     0x5a5847
5a5826:	51                   	push   %ecx
5a5827:	50                   	push   %eax
5a5828:	53                   	push   %ebx
5a5829:	e8 d2 fb ff ff       	call   0x5a5400
5a582e:	83 c4 0c             	add    $0xc,%esp
5a5831:	85 c0                	test   %eax,%eax
5a5833:	74 12                	je     0x5a5847
5a5835:	ff 74 24 3c          	push   0x3c(%esp)
5a5839:	53                   	push   %ebx
5a583a:	ff d5                	call   *%ebp
5a583c:	83 c4 08             	add    $0x8,%esp
5a583f:	85 c0                	test   %eax,%eax
5a5841:	0f 84 75 ff ff ff    	je     0x5a57bc
5a5847:	47                   	inc    %edi
5a5848:	83 c6 20             	add    $0x20,%esi
5a584b:	83 ff 1a             	cmp    $0x1a,%edi
5a584e:	72 c5                	jb     0x5a5815
5a5850:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5a5854:	8b 44 24 38          	mov    0x38(%esp),%eax
5a5858:	89 01                	mov    %eax,(%ecx)
5a585a:	8b 44 24 44          	mov    0x44(%esp),%eax
5a585e:	85 c0                	test   %eax,%eax
5a5860:	74 06                	je     0x5a5868
5a5862:	8b 4c 24 24          	mov    0x24(%esp),%ecx
5a5866:	89 08                	mov    %ecx,(%eax)
5a5868:	5f                   	pop    %edi
5a5869:	5e                   	pop    %esi
5a586a:	5d                   	pop    %ebp
5a586b:	b8 01 00 00 00       	mov    $0x1,%eax
5a5870:	5b                   	pop    %ebx
5a5871:	83 c4 20             	add    $0x20,%esp
5a5874:	c3                   	ret
5a5875:	cc                   	int3
5a5876:	cc                   	int3
5a5877:	cc                   	int3
5a5878:	cc                   	int3
5a5879:	cc                   	int3
5a587a:	cc                   	int3
5a587b:	cc                   	int3
5a587c:	cc                   	int3
5a587d:	cc                   	int3
5a587e:	cc                   	int3
5a587f:	cc                   	int3
5a5880:	b8 14 00 00 00       	mov    $0x14,%eax
5a5885:	e8 26 bf 02 00       	call   0x5d17b0
5a588a:	53                   	push   %ebx
5a588b:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5a588f:	57                   	push   %edi
5a5890:	6a 02                	push   $0x2
5a5892:	53                   	push   %ebx
5a5893:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5a589a:	00
5a589b:	e8 80 e8 ff ff       	call   0x5a4120
5a58a0:	83 c4 08             	add    $0x8,%esp
5a58a3:	85 c0                	test   %eax,%eax
5a58a5:	0f 84 a6 01 00 00    	je     0x5a5a51
5a58ab:	8b 7c 24 28          	mov    0x28(%esp),%edi
5a58af:	f7 c7 80 01 00 00    	test   $0x180,%edi
5a58b5:	74 13                	je     0x5a58ca
5a58b7:	6a 02                	push   $0x2
5a58b9:	53                   	push   %ebx
5a58ba:	e8 d1 e7 ff ff       	call   0x5a4090
5a58bf:	83 c4 08             	add    $0x8,%esp
5a58c2:	85 c0                	test   %eax,%eax
5a58c4:	0f 84 87 01 00 00    	je     0x5a5a51
5a58ca:	8b c7                	mov    %edi,%eax
5a58cc:	25 80 00 00 00       	and    $0x80,%eax
5a58d1:	56                   	push   %esi
5a58d2:	8b 74 24 24          	mov    0x24(%esp),%esi
5a58d6:	89 44 24 18          	mov    %eax,0x18(%esp)
5a58da:	74 51                	je     0x5a592d
5a58dc:	6a 00                	push   $0x0
5a58de:	8d 44 24 18          	lea    0x18(%esp),%eax
5a58e2:	50                   	push   %eax
5a58e3:	8d 44 24 24          	lea    0x24(%esp),%eax
5a58e7:	50                   	push   %eax
5a58e8:	56                   	push   %esi
5a58e9:	e8 62 ed fe ff       	call   0x594650
5a58ee:	83 c4 10             	add    $0x10,%esp
5a58f1:	85 c0                	test   %eax,%eax
5a58f3:	74 24                	je     0x5a5919
5a58f5:	68 37 03 00 00       	push   $0x337
5a58fa:	68 38 80 66 00       	push   $0x668038
5a58ff:	50                   	push   %eax
5a5900:	68 bf 01 00 00       	push   $0x1bf
5a5905:	6a 50                	push   $0x50
5a5907:	56                   	push   %esi
5a5908:	e8 03 98 fe ff       	call   0x58f110
5a590d:	83 c4 18             	add    $0x18,%esp
5a5910:	33 c0                	xor    %eax,%eax
5a5912:	5e                   	pop    %esi
5a5913:	5f                   	pop    %edi
5a5914:	5b                   	pop    %ebx
5a5915:	83 c4 14             	add    $0x14,%esp
5a5918:	c3                   	ret
5a5919:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
5a591f:	05 f0 00 00 00       	add    $0xf0,%eax
5a5924:	50                   	push   %eax
5a5925:	e8 a6 95 fe ff       	call   0x58eed0
5a592a:	83 c4 04             	add    $0x4,%esp
5a592d:	55                   	push   %ebp
5a592e:	ff 74 24 18          	push   0x18(%esp)
5a5932:	ff 74 24 3c          	push   0x3c(%esp)
5a5936:	ff 74 24 3c          	push   0x3c(%esp)
5a593a:	53                   	push   %ebx
5a593b:	57                   	push   %edi
5a593c:	56                   	push   %esi
5a593d:	e8 ce 92 fe ff       	call   0x58ec10
5a5942:	83 c4 18             	add    $0x18,%esp
5a5945:	85 c0                	test   %eax,%eax
5a5947:	0f 84 ed 00 00 00    	je     0x5a5a3a
5a594d:	b8 ec fa ff ff       	mov    $0xfffffaec,%eax
5a5952:	8d 9e 14 05 00 00    	lea    0x514(%esi),%ebx
5a5958:	2b c6                	sub    %esi,%eax
5a595a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
5a595e:	bd f4 7c 66 00       	mov    $0x667cf4,%ebp
5a5963:	89 44 24 14          	mov    %eax,0x14(%esp)
5a5967:	8b c8                	mov    %eax,%ecx
5a5969:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5a5970:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5a5973:	85 df                	test   %ebx,%edi
5a5975:	74 75                	je     0x5a59ec
5a5977:	57                   	push   %edi
5a5978:	53                   	push   %ebx
5a5979:	56                   	push   %esi
5a597a:	e8 81 fa ff ff       	call   0x5a5400
5a597f:	83 c4 0c             	add    $0xc,%esp
5a5982:	85 c0                	test   %eax,%eax
5a5984:	74 6c                	je     0x5a59f2
5a5986:	f6 c3 20             	test   $0x20,%bl
5a5989:	74 1d                	je     0x5a59a8
5a598b:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
5a5990:	74 16                	je     0x5a59a8
5a5992:	8b 46 04             	mov    0x4(%esi),%eax
5a5995:	8b 40 64             	mov    0x64(%eax),%eax
5a5998:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a599c:	75 54                	jne    0x5a59f2
5a599e:	81 7c 24 18 04 03 00 	cmpl   $0x304,0x18(%esp)
5a59a5:	00
5a59a6:	7c 4a                	jl     0x5a59f2
5a59a8:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5a59ac:	74 05                	je     0x5a59b3
5a59ae:	8b 45 00             	mov    0x0(%ebp),%eax
5a59b1:	eb 03                	jmp    0x5a59b6
5a59b3:	8b 45 04             	mov    0x4(%ebp),%eax
5a59b6:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
5a59ba:	85 c0                	test   %eax,%eax
5a59bc:	74 38                	je     0x5a59f6
5a59be:	ff 74 24 38          	push   0x38(%esp)
5a59c2:	ff 74 24 38          	push   0x38(%esp)
5a59c6:	57                   	push   %edi
5a59c7:	53                   	push   %ebx
5a59c8:	56                   	push   %esi
5a59c9:	ff d0                	call   *%eax
5a59cb:	83 c4 14             	add    $0x14,%esp
5a59ce:	85 c0                	test   %eax,%eax