53471a:	85 f6                	test   %esi,%esi
53471c:	79 04                	jns    0x534722
53471e:	33 f6                	xor    %esi,%esi
534720:	eb 0a                	jmp    0x53472c
534722:	b8 40 00 00 00       	mov    $0x40,%eax
534727:	3b f0                	cmp    %eax,%esi
534729:	0f 4f f0             	cmovg  %eax,%esi
53472c:	8b 9c 24 60 01 00 00 	mov    0x160(%esp),%ebx
534733:	b8 06 00 00 00       	mov    $0x6,%eax
534738:	3b f0                	cmp    %eax,%esi
53473a:	89 b4 24 64 01 00 00 	mov    %esi,0x164(%esp)
534741:	8b ce                	mov    %esi,%ecx
534743:	89 7c 24 18          	mov    %edi,0x18(%esp)
534747:	0f 4f c8             	cmovg  %eax,%ecx
53474a:	bd 10 00 00 00       	mov    $0x10,%ebp
53474f:	8b c6                	mov    %esi,%eax
534751:	2b c1                	sub    %ecx,%eax
534753:	8b cb                	mov    %ebx,%ecx
534755:	83 c0 03             	add    $0x3,%eax
534758:	99                   	cltd
534759:	83 e2 03             	and    $0x3,%edx
53475c:	03 c2                	add    %edx,%eax
53475e:	c1 f8 02             	sar    $0x2,%eax
534761:	2b e8                	sub    %eax,%ebp
534763:	8b c3                	mov    %ebx,%eax
534765:	99                   	cltd
534766:	f7 fd                	idiv   %ebp
534768:	2b ca                	sub    %edx,%ecx
53476a:	3b cb                	cmp    %ebx,%ecx
53476c:	8d 50 01             	lea    0x1(%eax),%edx
53476f:	0f 4d d0             	cmovge %eax,%edx
534772:	89 54 24 24          	mov    %edx,0x24(%esp)
534776:	85 d2                	test   %edx,%edx
534778:	0f 8e 52 01 00 00    	jle    0x5348d0
53477e:	33 db                	xor    %ebx,%ebx
534780:	53                   	push   %ebx
534781:	68 64 25 60 00       	push   $0x602564
534786:	56                   	push   %esi
534787:	68 c4 95 64 00       	push   $0x6495c4
53478c:	8d 44 24 38          	lea    0x38(%esp),%eax
534790:	68 21 01 00 00       	push   $0x121
534795:	50                   	push   %eax
534796:	e8 95 de fa ff       	call   0x4e2630
53479b:	83 c4 18             	add    $0x18,%esp
53479e:	33 ff                	xor    %edi,%edi
5347a0:	8b f0                	mov    %eax,%esi
5347a2:	85 ed                	test   %ebp,%ebp
5347a4:	7e 5a                	jle    0x534800
5347a6:	b8 21 01 00 00       	mov    $0x121,%eax
5347ab:	2b c6                	sub    %esi,%eax
5347ad:	83 f8 03             	cmp    $0x3,%eax
5347b0:	76 49                	jbe    0x5347fb
5347b2:	8d 4c 24 28          	lea    0x28(%esp),%ecx
5347b6:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
5347b9:	03 ce                	add    %esi,%ecx
5347bb:	3b 84 24 60 01 00 00 	cmp    0x160(%esp),%eax
5347c2:	7c 08                	jl     0x5347cc
5347c4:	c7 01 20 20 20 00    	movl   $0x202020,(%ecx)
5347ca:	eb 2c                	jmp    0x5347f8
5347cc:	83 ff 07             	cmp    $0x7,%edi
5347cf:	ba 2d 00 00 00       	mov    $0x2d,%edx
5347d4:	b8 20 00 00 00       	mov    $0x20,%eax
5347d9:	0f 44 c2             	cmove  %edx,%eax
5347dc:	50                   	push   %eax
5347dd:	8b 44 24 14          	mov    0x14(%esp),%eax
5347e1:	03 c3                	add    %ebx,%eax
5347e3:	0f b6 04 38          	movzbl (%eax,%edi,1),%eax
5347e7:	50                   	push   %eax
5347e8:	68 d0 95 64 00       	push   $0x6495d0
5347ed:	6a 04                	push   $0x4
5347ef:	51                   	push   %ecx
5347f0:	e8 3b de fa ff       	call   0x4e2630
5347f5:	83 c4 14             	add    $0x14,%esp
5347f8:	83 c6 03             	add    $0x3,%esi
5347fb:	47                   	inc    %edi
5347fc:	3b fd                	cmp    %ebp,%edi
5347fe:	7c a6                	jl     0x5347a6
534800:	b8 21 01 00 00       	mov    $0x121,%eax
534805:	2b c6                	sub    %esi,%eax
534807:	83 f8 02             	cmp    $0x2,%eax
53480a:	76 17                	jbe    0x534823
53480c:	66 a1 8c 83 60 00    	mov    0x60838c,%ax
534812:	66 89 44 34 28       	mov    %ax,0x28(%esp,%esi,1)
534817:	a0 8e 83 60 00       	mov    0x60838e,%al
53481c:	88 44 34 2a          	mov    %al,0x2a(%esp,%esi,1)
534820:	83 c6 02             	add    $0x2,%esi
534823:	33 ff                	xor    %edi,%edi
534825:	85 ed                	test   %ebp,%ebp
534827:	7e 50                	jle    0x534879
534829:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
534830:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
534833:	3b 84 24 60 01 00 00 	cmp    0x160(%esp),%eax
53483a:	7d 3d                	jge    0x534879
53483c:	b8 21 01 00 00       	mov    $0x121,%eax
534841:	2b c6                	sub    %esi,%eax
534843:	83 f8 01             	cmp    $0x1,%eax
534846:	76 2c                	jbe    0x534874
534848:	8b 44 24 10          	mov    0x10(%esp),%eax
53484c:	ba 2e 00 00 00       	mov    $0x2e,%edx
534851:	03 c3                	add    %ebx,%eax
534853:	8a 04 38             	mov    (%eax,%edi,1),%al
534856:	8d 48 e0             	lea    -0x20(%eax),%ecx
534859:	0f b6 c0             	movzbl %al,%eax
53485c:	80 f9 5e             	cmp    $0x5e,%cl
53485f:	0f 46 d0             	cmovbe %eax,%edx
534862:	88 54 34 28          	mov    %dl,0x28(%esp,%esi,1)
534866:	46                   	inc    %esi
534867:	81 fe 21 01 00 00    	cmp    $0x121,%esi
53486d:	73 7c                	jae    0x5348eb
53486f:	c6 44 34 28 00       	movb   $0x0,0x28(%esp,%esi,1)
534874:	47                   	inc    %edi
534875:	3b fd                	cmp    %ebp,%edi
534877:	7c b7                	jl     0x534830
534879:	b8 21 01 00 00       	mov    $0x121,%eax
53487e:	2b c6                	sub    %esi,%eax
534880:	83 f8 01             	cmp    $0x1,%eax
534883:	76 13                	jbe    0x534898
534885:	c6 44 34 28 0a       	movb   $0xa,0x28(%esp,%esi,1)
53488a:	46                   	inc    %esi
53488b:	81 fe 21 01 00 00    	cmp    $0x121,%esi
534891:	73 58                	jae    0x5348eb
534893:	c6 44 34 28 00       	movb   $0x0,0x28(%esp,%esi,1)
534898:	ff 74 24 1c          	push   0x1c(%esp)
53489c:	8d 44 24 2c          	lea    0x2c(%esp),%eax
5348a0:	56                   	push   %esi
5348a1:	50                   	push   %eax
5348a2:	ff 54 24 2c          	call   *0x2c(%esp)
5348a6:	8b 7c 24 20          	mov    0x20(%esp),%edi
5348aa:	83 c4 0c             	add    $0xc,%esp
5348ad:	03 f8                	add    %eax,%edi
5348af:	03 dd                	add    %ebp,%ebx
5348b1:	8b 44 24 18          	mov    0x18(%esp),%eax
5348b5:	40                   	inc    %eax
5348b6:	89 7c 24 14          	mov    %edi,0x14(%esp)
5348ba:	89 44 24 18          	mov    %eax,0x18(%esp)
5348be:	3b 44 24 24          	cmp    0x24(%esp),%eax
5348c2:	7d 0c                	jge    0x5348d0
5348c4:	8b b4 24 64 01 00 00 	mov    0x164(%esp),%esi
5348cb:	e9 b0 fe ff ff       	jmp    0x534780
5348d0:	8b 8c 24 4c 01 00 00 	mov    0x14c(%esp),%ecx
5348d7:	8b c7                	mov    %edi,%eax
5348d9:	5f                   	pop    %edi
5348da:	5e                   	pop    %esi
5348db:	5d                   	pop    %ebp
5348dc:	5b                   	pop    %ebx
5348dd:	33 cc                	xor    %esp,%ecx
5348df:	e8 42 d1 09 00       	call   0x5d1a26
5348e4:	81 c4 40 01 00 00    	add    $0x140,%esp
5348ea:	c3                   	ret
5348eb:	e8 25 d7 09 00       	call   0x5d2015
5348f0:	cc                   	int3
5348f1:	cc                   	int3
5348f2:	cc                   	int3
5348f3:	cc                   	int3
5348f4:	cc                   	int3
5348f5:	cc                   	int3
5348f6:	cc                   	int3
5348f7:	cc                   	int3
5348f8:	cc                   	int3
5348f9:	cc                   	int3
5348fa:	cc                   	int3
5348fb:	cc                   	int3
5348fc:	cc                   	int3
5348fd:	cc                   	int3
5348fe:	cc                   	int3
5348ff:	cc                   	int3
534900:	53                   	push   %ebx
534901:	55                   	push   %ebp
534902:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
534906:	33 db                	xor    %ebx,%ebx
534908:	83 fd 01             	cmp    $0x1,%ebp
53490b:	0f 8c 9f 00 00 00    	jl     0x5349b0
534911:	56                   	push   %esi
534912:	4d                   	dec    %ebp
534913:	33 f6                	xor    %esi,%esi
534915:	57                   	push   %edi
534916:	8b 7c 24 14          	mov    0x14(%esp),%edi
53491a:	85 ed                	test   %ebp,%ebp
53491c:	7e 74                	jle    0x534992
53491e:	66 90                	xchg   %ax,%ax
534920:	85 f6                	test   %esi,%esi
534922:	74 1b                	je     0x53493f
534924:	85 db                	test   %ebx,%ebx
534926:	75 17                	jne    0x53493f
534928:	68 64 25 60 00       	push   $0x602564
53492d:	ff 74 24 1c          	push   0x1c(%esp)
534931:	68 d8 95 64 00       	push   $0x6495d8
534936:	57                   	push   %edi
534937:	e8 04 dc fa ff       	call   0x4e2540
53493c:	83 c4 10             	add    $0x10,%esp
53493f:	8b 44 24 20          	mov    0x20(%esp),%eax
534943:	0f b6 04 06          	movzbl (%esi,%eax,1),%eax
534947:	50                   	push   %eax
534948:	68 dc 95 64 00       	push   $0x6495dc
53494d:	57                   	push   %edi
53494e:	e8 ed db fa ff       	call   0x4e2540
534953:	8d 43 01             	lea    0x1(%ebx),%eax
534956:	83 c4 0c             	add    $0xc,%esp
534959:	99                   	cltd
53495a:	f7 7c 24 1c          	idivl  0x1c(%esp)
53495e:	8b da                	mov    %edx,%ebx
534960:	85 db                	test   %ebx,%ebx
534962:	75 0e                	jne    0x534972
534964:	68 cc 26 60 00       	push   $0x6026cc
534969:	57                   	push   %edi
53496a:	e8 d1 db fa ff       	call   0x4e2540
53496f:	83 c4 08             	add    $0x8,%esp
534972:	46                   	inc    %esi
534973:	3b f5                	cmp    %ebp,%esi
534975:	7c a9                	jl     0x534920
534977:	85 db                	test   %ebx,%ebx
534979:	75 17                	jne    0x534992
53497b:	68 64 25 60 00       	push   $0x602564
534980:	ff 74 24 1c          	push   0x1c(%esp)
534984:	68 d8 95 64 00       	push   $0x6495d8
534989:	57                   	push   %edi
53498a:	e8 b1 db fa ff       	call   0x4e2540
53498f:	83 c4 10             	add    $0x10,%esp
534992:	8b 4c 24 20          	mov    0x20(%esp),%ecx
534996:	8b 44 24 24          	mov    0x24(%esp),%eax
53499a:	0f b6 44 01 ff       	movzbl -0x1(%ecx,%eax,1),%eax
53499f:	50                   	push   %eax
5349a0:	68 e4 95 64 00       	push   $0x6495e4
5349a5:	57                   	push   %edi
5349a6:	e8 95 db fa ff       	call   0x4e2540
5349ab:	83 c4 0c             	add    $0xc,%esp
5349ae:	5f                   	pop    %edi
5349af:	5e                   	pop    %esi
5349b0:	5d                   	pop    %ebp
5349b1:	b8 01 00 00 00       	mov    $0x1,%eax
5349b6:	5b                   	pop    %ebx
5349b7:	c3                   	ret
5349b8:	cc                   	int3
5349b9:	cc                   	int3
5349ba:	cc                   	int3
5349bb:	cc                   	int3
5349bc:	cc                   	int3
5349bd:	cc                   	int3
5349be:	cc                   	int3
5349bf:	cc                   	int3
5349c0:	ff 74 24 08          	push   0x8(%esp)
5349c4:	ff 74 24 08          	push   0x8(%esp)
5349c8:	ff 74 24 14          	push   0x14(%esp)
5349cc:	e8 ef 4a fc ff       	call   0x4f94c0
5349d1:	83 c4 0c             	add    $0xc,%esp
5349d4:	c3                   	ret
5349d5:	cc                   	int3
5349d6:	cc                   	int3
5349d7:	cc                   	int3
5349d8:	cc                   	int3
5349d9:	cc                   	int3
5349da:	cc                   	int3
5349db:	cc                   	int3
5349dc:	cc                   	int3
5349dd:	cc                   	int3
5349de:	cc                   	int3
5349df:	cc                   	int3
5349e0:	b8 64 00 00 00       	mov    $0x64,%eax
5349e5:	e8 c6 cd 09 00       	call   0x5d17b0
5349ea:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5349ef:	33 c4                	xor    %esp,%eax
5349f1:	89 44 24 60          	mov    %eax,0x60(%esp)
5349f5:	8b 44 24 68          	mov    0x68(%esp),%eax
5349f9:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
5349fd:	55                   	push   %ebp
5349fe:	8b 6c 24 70          	mov    0x70(%esp),%ebp
534a02:	57                   	push   %edi
534a03:	8b bc 24 80 00 00 00 	mov    0x80(%esp),%edi
534a0a:	89 44 24 14          	mov    %eax,0x14(%esp)
534a0e:	8b 44 24 7c          	mov    0x7c(%esp),%eax
534a12:	89 4c 24 08          	mov    %ecx,0x8(%esp)
534a16:	85 ff                	test   %edi,%edi
534a18:	75 13                	jne    0x534a2d
534a1a:	5f                   	pop    %edi
534a1b:	33 c0                	xor    %eax,%eax
534a1d:	5d                   	pop    %ebp
534a1e:	8b 4c 24 60          	mov    0x60(%esp),%ecx
534a22:	33 cc                	xor    %esp,%ecx
534a24:	e8 fd cf 09 00       	call   0x5d1a26
534a29:	83 c4 64             	add    $0x64,%esp
534a2c:	c3                   	ret
534a2d:	56                   	push   %esi
534a2e:	50                   	push   %eax
534a2f:	e8 ac bb 02 00       	call   0x5605e0
534a34:	50                   	push   %eax
534a35:	e8 a6 5d fd ff       	call   0x50a7e0
534a3a:	8b f0                	mov    %eax,%esi
534a3c:	83 c4 08             	add    $0x8,%esp
534a3f:	85 f6                	test   %esi,%esi
534a41:	75 29                	jne    0x534a6c
534a43:	6a 2b                	push   $0x2b
534a45:	68 ec 95 64 00       	push   $0x6495ec
534a4a:	6a 65                	push   $0x65
534a4c:	6a 78                	push   $0x78
534a4e:	6a 23                	push   $0x23
534a50:	e8 2b 45 fa ff       	call   0x4d8f80
534a55:	83 c4 14             	add    $0x14,%esp
534a58:	33 c0                	xor    %eax,%eax
534a5a:	5e                   	pop    %esi
534a5b:	5f                   	pop    %edi
534a5c:	5d                   	pop    %ebp
534a5d:	8b 4c 24 60          	mov    0x60(%esp),%ecx
534a61:	33 cc                	xor    %esp,%ecx
534a63:	e8 be cf 09 00       	call   0x5d1a26
534a68:	83 c4 64             	add    $0x64,%esp
534a6b:	c3                   	ret
534a6c:	8b 46 04             	mov    0x4(%esi),%eax
534a6f:	53                   	push   %ebx
534a70:	85 c0                	test   %eax,%eax
534a72:	75 05                	jne    0x534a79
534a74:	8d 58 01             	lea    0x1(%eax),%ebx
534a77:	eb 0b                	jmp    0x534a84
534a79:	50                   	push   %eax
534a7a:	e8 41 49 fd ff       	call   0x5093c0
534a7f:	83 c4 04             	add    $0x4,%esp
534a82:	8b d8                	mov    %eax,%ebx
534a84:	8b 0e                	mov    (%esi),%ecx
534a86:	ff 74 24 10          	push   0x10(%esp)
534a8a:	8b 41 08             	mov    0x8(%ecx),%eax
534a8d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
534a91:	8b 01                	mov    (%ecx),%eax
534a93:	89 44 24 18          	mov    %eax,0x18(%esp)
534a97:	8d 44 24 34          	lea    0x34(%esp),%eax
534a9b:	50                   	push   %eax
534a9c:	57                   	push   %edi
534a9d:	e8 ae 27 fb ff       	call   0x4e7250
534aa2:	83 c4 04             	add    $0x4,%esp
534aa5:	50                   	push   %eax
534aa6:	53                   	push   %ebx
534aa7:	6a 01                	push   $0x1
534aa9:	ff 74 24 28          	push   0x28(%esp)
534aad:	ff 74 24 30          	push   0x30(%esp)
534ab1:	ff b4 24 9c 00 00 00 	push   0x9c(%esp)
534ab8:	55                   	push   %ebp
534ab9:	e8 e2 be 02 00       	call   0x5609a0
534abe:	83 c4 24             	add    $0x24,%esp
534ac1:	85 c0                	test   %eax,%eax
534ac3:	75 30                	jne    0x534af5
534ac5:	6a 37                	push   $0x37
534ac7:	68 ec 95 64 00       	push   $0x6495ec
534acc:	6a 6b                	push   $0x6b
534ace:	6a 78                	push   $0x78
534ad0:	6a 23                	push   $0x23
534ad2:	e8 a9 44 fa ff       	call   0x4d8f80
534ad7:	56                   	push   %esi
534ad8:	e8 e3 ba 02 00       	call   0x5605c0
534add:	83 c4 18             	add    $0x18,%esp
534ae0:	33 c0                	xor    %eax,%eax
534ae2:	5b                   	pop    %ebx
534ae3:	5e                   	pop    %esi