5a556b:	8b 4c 24 54          	mov    0x54(%esp),%ecx
5a556f:	03 cf                	add    %edi,%ecx
5a5571:	8b 7c 24 60          	mov    0x60(%esp),%edi
5a5575:	89 4c 24 54          	mov    %ecx,0x54(%esp)
5a5579:	8b e9                	mov    %ecx,%ebp
5a557b:	89 4c 24 38          	mov    %ecx,0x38(%esp)
5a557f:	89 4b 0c             	mov    %ecx,0xc(%ebx)
5a5582:	8b 4c 24 64          	mov    0x64(%esp),%ecx
5a5586:	85 c9                	test   %ecx,%ecx
5a5588:	0f 85 42 f7 ff ff    	jne    0x5a4cd0
5a558e:	5b                   	pop    %ebx
5a558f:	5f                   	pop    %edi
5a5590:	5e                   	pop    %esi
5a5591:	5d                   	pop    %ebp
5a5592:	83 c4 48             	add    $0x48,%esp
5a5595:	c3                   	ret
5a5596:	cc                   	int3
5a5597:	cc                   	int3
5a5598:	cc                   	int3
5a5599:	cc                   	int3
5a559a:	cc                   	int3
5a559b:	cc                   	int3
5a559c:	cc                   	int3
5a559d:	cc                   	int3
5a559e:	cc                   	int3
5a559f:	cc                   	int3
5a55a0:	b8 90 c2 6c 00       	mov    $0x6cc290,%eax
5a55a5:	c3                   	ret
5a55a6:	cc                   	int3
5a55a7:	cc                   	int3
5a55a8:	cc                   	int3
5a55a9:	cc                   	int3
5a55aa:	cc                   	int3
5a55ab:	cc                   	int3
5a55ac:	cc                   	int3
5a55ad:	cc                   	int3
5a55ae:	cc                   	int3
5a55af:	cc                   	int3
5a55b0:	b8 04 00 00 00       	mov    $0x4,%eax
5a55b5:	e8 36 bf 03 00       	call   0x5e14f0
5a55ba:	ff 74 24 08          	push   0x8(%esp)
5a55be:	8d 44 24 04          	lea    0x4(%esp),%eax
5a55c2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5a55c9:	00
5a55ca:	50                   	push   %eax
5a55cb:	ff 74 24 18          	push   0x18(%esp)
5a55cf:	e8 2c 86 f2 ff       	call   0x4cdc00
5a55d4:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5a55d8:	83 c4 0c             	add    $0xc,%esp
5a55db:	85 c9                	test   %ecx,%ecx
5a55dd:	74 27                	je     0x5a5606
5a55df:	6a 00                	push   $0x0
5a55e1:	ff 74 24 10          	push   0x10(%esp)
5a55e5:	ff 74 24 20          	push   0x20(%esp)
5a55e9:	ff 74 24 20          	push   0x20(%esp)
5a55ed:	50                   	push   %eax
5a55ee:	51                   	push   %ecx
5a55ef:	e8 5c bb f0 ff       	call   0x4b1150
5a55f4:	83 c4 18             	add    $0x18,%esp
5a55f7:	ff 34 24             	push   (%esp)
5a55fa:	85 c0                	test   %eax,%eax
5a55fc:	75 0c                	jne    0x5a560a
5a55fe:	e8 2d ab ef ff       	call   0x4a0130
5a5603:	83 c4 04             	add    $0x4,%esp
5a5606:	33 c0                	xor    %eax,%eax
5a5608:	59                   	pop    %ecx
5a5609:	c3                   	ret
5a560a:	e8 21 ab ef ff       	call   0x4a0130
5a560f:	83 c4 04             	add    $0x4,%esp
5a5612:	b8 01 00 00 00       	mov    $0x1,%eax
5a5617:	59                   	pop    %ecx
5a5618:	c3                   	ret
5a5619:	cc                   	int3
5a561a:	cc                   	int3
5a561b:	cc                   	int3
5a561c:	cc                   	int3
5a561d:	cc                   	int3
5a561e:	cc                   	int3
5a561f:	cc                   	int3
5a5620:	b8 04 00 00 00       	mov    $0x4,%eax
5a5625:	e8 c6 be 03 00       	call   0x5e14f0
5a562a:	56                   	push   %esi
5a562b:	8d 44 24 04          	lea    0x4(%esp),%eax
5a562f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5a5636:	00
5a5637:	50                   	push   %eax
5a5638:	6a 00                	push   $0x0
5a563a:	ff 74 24 18          	push   0x18(%esp)
5a563e:	ff 74 24 18          	push   0x18(%esp)
5a5642:	e8 89 0a 00 00       	call   0x5a60d0
5a5647:	8b f0                	mov    %eax,%esi
5a5649:	83 c4 10             	add    $0x10,%esp
5a564c:	8b 44 24 04          	mov    0x4(%esp),%eax
5a5650:	85 c0                	test   %eax,%eax
5a5652:	74 1a                	je     0x5a566e
5a5654:	68 90 00 00 00       	push   $0x90
5a5659:	68 e0 c6 6c 00       	push   $0x6cc6e0
5a565e:	50                   	push   %eax
5a565f:	68 b2 00 00 00       	push   $0xb2
5a5664:	6a 0d                	push   $0xd
5a5666:	e8 35 be ef ff       	call   0x4a14a0
5a566b:	83 c4 14             	add    $0x14,%esp
5a566e:	8b c6                	mov    %esi,%eax
5a5670:	5e                   	pop    %esi
5a5671:	59                   	pop    %ecx
5a5672:	c3                   	ret
5a5673:	cc                   	int3
5a5674:	cc                   	int3
5a5675:	cc                   	int3
5a5676:	cc                   	int3
5a5677:	cc                   	int3
5a5678:	cc                   	int3
5a5679:	cc                   	int3
5a567a:	cc                   	int3
5a567b:	cc                   	int3
5a567c:	cc                   	int3
5a567d:	cc                   	int3
5a567e:	cc                   	int3
5a567f:	cc                   	int3
5a5680:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5a5684:	56                   	push   %esi
5a5685:	8b 31                	mov    (%ecx),%esi
5a5687:	83 fe ff             	cmp    $0xffffffff,%esi
5a568a:	74 29                	je     0x5a56b5
5a568c:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
5a5691:	75 22                	jne    0x5a56b5
5a5693:	68 13 02 00 00       	push   $0x213
5a5698:	68 e0 c6 6c 00       	push   $0x6cc6e0
5a569d:	68 b3 00 00 00       	push   $0xb3
5a56a2:	68 b0 00 00 00       	push   $0xb0
5a56a7:	6a 0d                	push   $0xd
5a56a9:	e8 f2 bd ef ff       	call   0x4a14a0
5a56ae:	83 c4 14             	add    $0x14,%esp
5a56b1:	33 c0                	xor    %eax,%eax
5a56b3:	5e                   	pop    %esi
5a56b4:	c3                   	ret
5a56b5:	57                   	push   %edi
5a56b6:	8b b9 a4 01 00 00    	mov    0x1a4(%ecx),%edi
5a56bc:	83 ff 14             	cmp    $0x14,%edi
5a56bf:	75 23                	jne    0x5a56e4
5a56c1:	68 18 02 00 00       	push   $0x218
5a56c6:	68 e0 c6 6c 00       	push   $0x6cc6e0
5a56cb:	68 ae 00 00 00       	push   $0xae
5a56d0:	68 b0 00 00 00       	push   $0xb0
5a56d5:	6a 0d                	push   $0xd
5a56d7:	e8 c4 bd ef ff       	call   0x4a14a0
5a56dc:	83 c4 14             	add    $0x14,%esp
5a56df:	33 c0                	xor    %eax,%eax
5a56e1:	5f                   	pop    %edi
5a56e2:	5e                   	pop    %esi
5a56e3:	c3                   	ret
5a56e4:	8d 47 01             	lea    0x1(%edi),%eax
5a56e7:	8d 04 80             	lea    (%eax,%eax,4),%eax
5a56ea:	8d 14 81             	lea    (%ecx,%eax,4),%edx
5a56ed:	8d 47 01             	lea    0x1(%edi),%eax
5a56f0:	89 81 a4 01 00 00    	mov    %eax,0x1a4(%ecx)
5a56f6:	83 fe ff             	cmp    $0xffffffff,%esi
5a56f9:	74 2b                	je     0x5a5726
5a56fb:	89 32                	mov    %esi,(%edx)
5a56fd:	8b 41 04             	mov    0x4(%ecx),%eax
5a5700:	89 42 04             	mov    %eax,0x4(%edx)
5a5703:	8b 44 24 18          	mov    0x18(%esp),%eax
5a5707:	c7 01 ff ff ff ff    	movl   $0xffffffff,(%ecx)
5a570d:	c7 41 04 ff ff ff ff 	movl   $0xffffffff,0x4(%ecx)
5a5714:	89 42 08             	mov    %eax,0x8(%edx)
5a5717:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a571b:	5f                   	pop    %edi
5a571c:	89 42 0c             	mov    %eax,0xc(%edx)
5a571f:	b8 01 00 00 00       	mov    $0x1,%eax
5a5724:	5e                   	pop    %esi
5a5725:	c3                   	ret
5a5726:	8b 44 24 10          	mov    0x10(%esp),%eax
5a572a:	89 02                	mov    %eax,(%edx)
5a572c:	8b 44 24 14          	mov    0x14(%esp),%eax
5a5730:	89 42 04             	mov    %eax,0x4(%edx)
5a5733:	8b 44 24 18          	mov    0x18(%esp),%eax
5a5737:	89 42 08             	mov    %eax,0x8(%edx)
5a573a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a573e:	5f                   	pop    %edi
5a573f:	89 42 0c             	mov    %eax,0xc(%edx)
5a5742:	b8 01 00 00 00       	mov    $0x1,%eax
5a5747:	5e                   	pop    %esi
5a5748:	c3                   	ret
5a5749:	cc                   	int3
5a574a:	cc                   	int3
5a574b:	cc                   	int3
5a574c:	cc                   	int3
5a574d:	cc                   	int3
5a574e:	cc                   	int3
5a574f:	cc                   	int3
5a5750:	b8 04 00 00 00       	mov    $0x4,%eax
5a5755:	e8 96 bd 03 00       	call   0x5e14f0
5a575a:	53                   	push   %ebx
5a575b:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
5a575f:	55                   	push   %ebp
5a5760:	56                   	push   %esi
5a5761:	33 ed                	xor    %ebp,%ebp
5a5763:	33 f6                	xor    %esi,%esi
5a5765:	85 db                	test   %ebx,%ebx
5a5767:	75 08                	jne    0x5a5771
5a5769:	5e                   	pop    %esi
5a576a:	5d                   	pop    %ebp
5a576b:	83 c8 ff             	or     $0xffffffff,%eax
5a576e:	5b                   	pop    %ebx
5a576f:	59                   	pop    %ecx
5a5770:	c3                   	ret
5a5771:	57                   	push   %edi
5a5772:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5a5776:	33 c9                	xor    %ecx,%ecx
5a5778:	8b c3                	mov    %ebx,%eax
5a577a:	85 ff                	test   %edi,%edi
5a577c:	7e 1c                	jle    0x5a579a
5a577e:	66 90                	xchg   %ax,%ax
5a5780:	80 38 3a             	cmpb   $0x3a,(%eax)
5a5783:	74 08                	je     0x5a578d
5a5785:	41                   	inc    %ecx
5a5786:	40                   	inc    %eax
5a5787:	3b cf                	cmp    %edi,%ecx
5a5789:	7c f5                	jl     0x5a5780
5a578b:	eb 0d                	jmp    0x5a579a
5a578d:	8d 70 01             	lea    0x1(%eax),%esi
5a5790:	8b eb                	mov    %ebx,%ebp
5a5792:	2b ee                	sub    %esi,%ebp
5a5794:	03 ef                	add    %edi,%ebp
5a5796:	8b f8                	mov    %eax,%edi
5a5798:	2b fb                	sub    %ebx,%edi
5a579a:	57                   	push   %edi
5a579b:	53                   	push   %ebx
5a579c:	e8 8f 03 00 00       	call   0x5a5b30
5a57a1:	8b c8                	mov    %eax,%ecx
5a57a3:	83 c4 08             	add    $0x8,%esp
5a57a6:	83 f9 ff             	cmp    $0xffffffff,%ecx
5a57a9:	75 34                	jne    0x5a57df
5a57ab:	68 3e 01 00 00       	push   $0x13e
5a57b0:	68 e0 c6 6c 00       	push   $0x6cc6e0
5a57b5:	68 c2 00 00 00       	push   $0xc2
5a57ba:	68 b1 00 00 00       	push   $0xb1
5a57bf:	6a 0d                	push   $0xd
5a57c1:	e8 da bc ef ff       	call   0x4a14a0
5a57c6:	53                   	push   %ebx
5a57c7:	68 fc c6 6c 00       	push   $0x6cc6fc
5a57cc:	6a 02                	push   $0x2
5a57ce:	e8 ed b7 ef ff       	call   0x4a0fc0
5a57d3:	83 c4 20             	add    $0x20,%esp
5a57d6:	83 c8 ff             	or     $0xffffffff,%eax
5a57d9:	5f                   	pop    %edi
5a57da:	5e                   	pop    %esi
5a57db:	5d                   	pop    %ebp
5a57dc:	5b                   	pop    %ebx
5a57dd:	59                   	pop    %ecx
5a57de:	c3                   	ret
5a57df:	f7 c1 00 00 01 00    	test   $0x10000,%ecx
5a57e5:	75 30                	jne    0x5a5817
5a57e7:	8b 44 24 20          	mov    0x20(%esp),%eax
5a57eb:	89 48 08             	mov    %ecx,0x8(%eax)
5a57ee:	89 70 10             	mov    %esi,0x10(%eax)
5a57f1:	85 f6                	test   %esi,%esi
5a57f3:	75 1a                	jne    0x5a580f
5a57f5:	80 3c 3b 00          	cmpb   $0x0,(%ebx,%edi,1)
5a57f9:	74 14                	je     0x5a580f
5a57fb:	68 49 01 00 00       	push   $0x149
5a5800:	68 e0 c6 6c 00       	push   $0x6cc6e0
5a5805:	68 bd 00 00 00       	push   $0xbd
5a580a:	e9 94 01 00 00       	jmp    0x5a59a3
5a580f:	5f                   	pop    %edi
5a5810:	5e                   	pop    %esi
5a5811:	5d                   	pop    %ebp
5a5812:	33 c0                	xor    %eax,%eax
5a5814:	5b                   	pop    %ebx
5a5815:	59                   	pop    %ecx
5a5816:	c3                   	ret
5a5817:	81 c1 ff ff fe ff    	add    $0xfffeffff,%ecx
5a581d:	83 f9 07             	cmp    $0x7,%ecx
5a5820:	0f 87 a3 00 00 00    	ja     0x5a58c9
5a5826:	ff 24 8d bc 59 5a 00 	jmp    *0x5a59bc(,%ecx,4)
5a582d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5a5831:	83 39 ff             	cmpl   $0xffffffff,(%ecx)
5a5834:	74 14                	je     0x5a584a
5a5836:	68 54 01 00 00       	push   $0x154
5a583b:	68 e0 c6 6c 00       	push   $0x6cc6e0
5a5840:	68 b5 00 00 00       	push   $0xb5
5a5845:	e9 59 01 00 00       	jmp    0x5a59a3
5a584a:	8d 41 04             	lea    0x4(%ecx),%eax
5a584d:	50                   	push   %eax
5a584e:	51                   	push   %ecx
5a584f:	55                   	push   %ebp
5a5850:	56                   	push   %esi
5a5851:	e8 4a 0b 00 00       	call   0x5a63a0
5a5856:	83 c4 10             	add    $0x10,%esp
5a5859:	eb 66                	jmp    0x5a58c1
5a585b:	8d 44 24 18          	lea    0x18(%esp),%eax
5a585f:	50                   	push   %eax
5a5860:	8d 44 24 14          	lea    0x14(%esp),%eax
5a5864:	50                   	push   %eax
5a5865:	55                   	push   %ebp
5a5866:	56                   	push   %esi
5a5867:	e8 34 0b 00 00       	call   0x5a63a0
5a586c:	83 c4 10             	add    $0x10,%esp
5a586f:	85 c0                	test   %eax,%eax
5a5871:	0f 84 3b 01 00 00    	je     0x5a59b2
5a5877:	6a 00                	push   $0x0
5a5879:	6a 00                	push   $0x0
5a587b:	6a 01                	push   $0x1
5a587d:	ff 74 24 24          	push   0x24(%esp)
5a5881:	ff 74 24 20          	push   0x20(%esp)
5a5885:	eb 2e                	jmp    0x5a58b5
5a5887:	6a 01                	push   $0x1
5a5889:	6a 00                	push   $0x0
5a588b:	6a 01                	push   $0x1
5a588d:	6a 00                	push   $0x0
5a588f:	6a 10                	push   $0x10
5a5891:	eb 22                	jmp    0x5a58b5
5a5893:	6a 01                	push   $0x1
5a5895:	6a 00                	push   $0x0
5a5897:	6a 01                	push   $0x1
5a5899:	6a 00                	push   $0x0
5a589b:	6a 11                	push   $0x11
5a589d:	eb 16                	jmp    0x5a58b5
5a589f:	6a 01                	push   $0x1
5a58a1:	6a 01                	push   $0x1
5a58a3:	6a 00                	push   $0x0
5a58a5:	6a 00                	push   $0x0
5a58a7:	6a 03                	push   $0x3
5a58a9:	eb 0a                	jmp    0x5a58b5
5a58ab:	6a 01                	push   $0x1
5a58ad:	6a 00                	push   $0x0
5a58af:	6a 00                	push   $0x0
5a58b1:	6a 00                	push   $0x0
5a58b3:	6a 04                	push   $0x4
5a58b5:	ff 74 24 34          	push   0x34(%esp)
5a58b9:	e8 c2 fd ff ff       	call   0x5a5680
5a58be:	83 c4 18             	add    $0x18,%esp
5a58c1:	85 c0                	test   %eax,%eax
5a58c3:	0f 84 e9 00 00 00    	je     0x5a59b2
5a58c9:	5f                   	pop    %edi
5a58ca:	5e                   	pop    %esi
5a58cb:	5d                   	pop    %ebp
5a58cc:	b8 01 00 00 00       	mov    $0x1,%eax
5a58d1:	5b                   	pop    %ebx
5a58d2:	59                   	pop    %ecx
5a58d3:	c3                   	ret
5a58d4:	85 f6                	test   %esi,%esi
5a58d6:	75 14                	jne    0x5a58ec
5a58d8:	68 79 01 00 00       	push   $0x179
5a58dd:	68 e0 c6 6c 00       	push   $0x6cc6e0
5a58e2:	68 a0 00 00 00       	push   $0xa0
5a58e7:	e9 b7 00 00 00       	jmp    0x5a59a3
5a58ec:	6a 05                	push   $0x5
5a58ee:	68 04 c7 6c 00       	push   $0x6cc704
5a58f3:	56                   	push   %esi