46074d:	50                   	push   %eax
46074e:	e8 ce 09 00 00       	call   0x461121
460753:	5f                   	pop    %edi
460754:	5b                   	pop    %ebx
460755:	5e                   	pop    %esi
460756:	8b e5                	mov    %ebp,%esp
460758:	5d                   	pop    %ebp
460759:	c2 04 00             	ret    $0x4
46075c:	55                   	push   %ebp
46075d:	8b ec                	mov    %esp,%ebp
46075f:	83 e4 f8             	and    $0xfffffff8,%esp
460762:	83 ec 24             	sub    $0x24,%esp
460765:	8b 45 0c             	mov    0xc(%ebp),%eax
460768:	53                   	push   %ebx
460769:	56                   	push   %esi
46076a:	57                   	push   %edi
46076b:	8b f1                	mov    %ecx,%esi
46076d:	6a 01                	push   $0x1
46076f:	50                   	push   %eax
460770:	89 46 20             	mov    %eax,0x20(%esi)
460773:	e8 66 0f 00 00       	call   0x4616de
460778:	33 db                	xor    %ebx,%ebx
46077a:	80 7e 08 01          	cmpb   $0x1,0x8(%esi)
46077e:	88 5c 24 14          	mov    %bl,0x14(%esp)
460782:	89 5c 24 18          	mov    %ebx,0x18(%esp)
460786:	66 89 5c 24 1c       	mov    %bx,0x1c(%esp)
46078b:	75 24                	jne    0x4607b1
46078d:	53                   	push   %ebx
46078e:	6a 14                	push   $0x14
460790:	8b ce                	mov    %esi,%ecx
460792:	e8 e4 07 00 00       	call   0x460f7b
460797:	88 44 24 14          	mov    %al,0x14(%esp)
46079b:	8b ce                	mov    %esi,%ecx
46079d:	8d 44 24 0c          	lea    0xc(%esp),%eax
4607a1:	50                   	push   %eax
4607a2:	e8 72 fa ff ff       	call   0x460219
4607a7:	50                   	push   %eax
4607a8:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4607ac:	e8 02 fa ff ff       	call   0x4601b3
4607b1:	6a 40                	push   $0x40
4607b3:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4607b7:	8b fb                	mov    %ebx,%edi
4607b9:	e8 b8 73 fa ff       	call   0x407b76
4607be:	8b 4d 08             	mov    0x8(%ebp),%ecx
4607c1:	57                   	push   %edi
4607c2:	e8 59 73 fa ff       	call   0x407b20
4607c7:	0f b7 18             	movzwl (%eax),%ebx
4607ca:	66 85 db             	test   %bx,%bx
4607cd:	0f 84 a6 00 00 00    	je     0x460879
4607d3:	47                   	inc    %edi
4607d4:	8b ce                	mov    %esi,%ecx
4607d6:	89 7c 24 0c          	mov    %edi,0xc(%esp)
4607da:	e8 05 fd ff ff       	call   0x4604e4
4607df:	8b c3                	mov    %ebx,%eax
4607e1:	83 e8 21             	sub    $0x21,%eax
4607e4:	0f 84 86 00 00 00    	je     0x460870
4607ea:	48                   	dec    %eax
4607eb:	48                   	dec    %eax
4607ec:	74 79                	je     0x460867
4607ee:	83 e8 08             	sub    $0x8,%eax
4607f1:	74 6b                	je     0x46085e
4607f3:	83 e8 33             	sub    $0x33,%eax
4607f6:	74 5d                	je     0x460855
4607f8:	83 e8 1d             	sub    $0x1d,%eax
4607fb:	74 05                	je     0x460802
4607fd:	6a 01                	push   $0x1
4607ff:	53                   	push   %ebx
460800:	eb 1c                	jmp    0x46081e
460802:	8d 44 24 0c          	lea    0xc(%esp),%eax
460806:	50                   	push   %eax
460807:	8d 44 24 24          	lea    0x24(%esp),%eax
46080b:	50                   	push   %eax
46080c:	ff 75 08             	push   0x8(%ebp)
46080f:	6a 7d                	push   $0x7d
460811:	e8 3c fb fb ff       	call   0x420352
460816:	84 c0                	test   %al,%al
460818:	75 16                	jne    0x460830
46081a:	6a 01                	push   $0x1
46081c:	6a 7b                	push   $0x7b
46081e:	8b ce                	mov    %esi,%ecx
460820:	e8 91 00 00 00       	call   0x4608b6
460825:	33 c0                	xor    %eax,%eax
460827:	89 46 14             	mov    %eax,0x14(%esi)
46082a:	66 89 46 18          	mov    %ax,0x18(%esi)
46082e:	eb 8e                	jmp    0x4607be
460830:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
460835:	74 0c                	je     0x460843
460837:	8d 44 24 20          	lea    0x20(%esp),%eax
46083b:	8b ce                	mov    %esi,%ecx
46083d:	50                   	push   %eax
46083e:	e8 88 01 00 00       	call   0x4609cb
460843:	8b 7c 24 0c          	mov    0xc(%esp),%edi
460847:	33 c0                	xor    %eax,%eax
460849:	89 46 14             	mov    %eax,0x14(%esi)
46084c:	66 89 46 18          	mov    %ax,0x18(%esi)
460850:	e9 69 ff ff ff       	jmp    0x4607be
460855:	c6 46 16 01          	movb   $0x1,0x16(%esi)
460859:	e9 60 ff ff ff       	jmp    0x4607be
46085e:	c6 46 14 01          	movb   $0x1,0x14(%esi)
460862:	e9 57 ff ff ff       	jmp    0x4607be
460867:	c6 46 18 01          	movb   $0x1,0x18(%esi)
46086b:	e9 4e ff ff ff       	jmp    0x4607be
460870:	c6 46 17 01          	movb   $0x1,0x17(%esi)
460874:	e9 45 ff ff ff       	jmp    0x4607be
460879:	80 7e 08 01          	cmpb   $0x1,0x8(%esi)
46087d:	75 19                	jne    0x460898
46087f:	8d 44 24 18          	lea    0x18(%esp),%eax
460883:	8b ce                	mov    %esi,%ecx
460885:	50                   	push   %eax
460886:	e8 eb 09 00 00       	call   0x461276
46088b:	ff 74 24 14          	push   0x14(%esp)
46088f:	8b ce                	mov    %esi,%ecx
460891:	6a 14                	push   $0x14
460893:	e8 e3 06 00 00       	call   0x460f7b
460898:	6a 00                	push   $0x0
46089a:	ff 76 20             	push   0x20(%esi)
46089d:	8b ce                	mov    %esi,%ecx
46089f:	e8 3a 0e 00 00       	call   0x4616de
4608a4:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4608a8:	e8 b7 51 fa ff       	call   0x405a64
4608ad:	5f                   	pop    %edi
4608ae:	5e                   	pop    %esi
4608af:	5b                   	pop    %ebx
4608b0:	8b e5                	mov    %ebp,%esp
4608b2:	5d                   	pop    %ebp
4608b3:	c2 08 00             	ret    $0x8
4608b6:	55                   	push   %ebp
4608b7:	8b ec                	mov    %esp,%ebp
4608b9:	83 ec 0c             	sub    $0xc,%esp
4608bc:	56                   	push   %esi
4608bd:	57                   	push   %edi
4608be:	8b 7d 0c             	mov    0xc(%ebp),%edi
4608c1:	8b f1                	mov    %ecx,%esi
4608c3:	85 ff                	test   %edi,%edi
4608c5:	7e 4e                	jle    0x460915
4608c7:	53                   	push   %ebx
4608c8:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4608cb:	e8 c5 f8 ff ff       	call   0x460195
4608d0:	ff 75 08             	push   0x8(%ebp)
4608d3:	e8 59 0f 00 00       	call   0x461831
4608d8:	8a 5d f4             	mov    -0xc(%ebp),%bl
4608db:	80 fb ff             	cmp    $0xff,%bl
4608de:	74 16                	je     0x4608f6
4608e0:	8d 45 f5             	lea    -0xb(%ebp),%eax
4608e3:	8b ce                	mov    %esi,%ecx
4608e5:	50                   	push   %eax
4608e6:	e8 41 fc ff ff       	call   0x46052c
4608eb:	8d 46 14             	lea    0x14(%esi),%eax
4608ee:	8b ce                	mov    %esi,%ecx
4608f0:	50                   	push   %eax
4608f1:	e8 80 09 00 00       	call   0x461276
4608f6:	8d 45 f4             	lea    -0xc(%ebp),%eax
4608f9:	8b ce                	mov    %esi,%ecx
4608fb:	50                   	push   %eax
4608fc:	e8 58 09 00 00       	call   0x461259
460901:	4f                   	dec    %edi
460902:	75 f2                	jne    0x4608f6
460904:	80 fb ff             	cmp    $0xff,%bl
460907:	5b                   	pop    %ebx
460908:	74 0b                	je     0x460915
46090a:	8d 46 14             	lea    0x14(%esi),%eax
46090d:	8b ce                	mov    %esi,%ecx
46090f:	50                   	push   %eax
460910:	e8 48 0b 00 00       	call   0x46145d
460915:	5f                   	pop    %edi
460916:	5e                   	pop    %esi
460917:	8b e5                	mov    %ebp,%esp
460919:	5d                   	pop    %ebp
46091a:	c2 08 00             	ret    $0x8
46091d:	55                   	push   %ebp
46091e:	8b ec                	mov    %esp,%ebp
460920:	83 ec 10             	sub    $0x10,%esp
460923:	8b 45 0c             	mov    0xc(%ebp),%eax
460926:	53                   	push   %ebx
460927:	56                   	push   %esi
460928:	57                   	push   %edi
460929:	8b f1                	mov    %ecx,%esi
46092b:	6a 01                	push   $0x1
46092d:	50                   	push   %eax
46092e:	89 46 20             	mov    %eax,0x20(%esi)
460931:	e8 a8 0d 00 00       	call   0x4616de
460936:	33 db                	xor    %ebx,%ebx
460938:	80 7e 08 01          	cmpb   $0x1,0x8(%esi)
46093c:	88 5d 0c             	mov    %bl,0xc(%ebp)
46093f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
460942:	66 89 5d fc          	mov    %bx,-0x4(%ebp)
460946:	75 21                	jne    0x460969
460948:	53                   	push   %ebx
460949:	6a 14                	push   $0x14
46094b:	8b ce                	mov    %esi,%ecx
46094d:	e8 29 06 00 00       	call   0x460f7b
460952:	88 45 0c             	mov    %al,0xc(%ebp)
460955:	8b ce                	mov    %esi,%ecx
460957:	8d 45 f2             	lea    -0xe(%ebp),%eax
46095a:	50                   	push   %eax
46095b:	e8 b9 f8 ff ff       	call   0x460219
460960:	50                   	push   %eax
460961:	8d 4d f8             	lea    -0x8(%ebp),%ecx
460964:	e8 4a f8 ff ff       	call   0x4601b3
460969:	8b fb                	mov    %ebx,%edi
46096b:	8b 4d 08             	mov    0x8(%ebp),%ecx
46096e:	57                   	push   %edi
46096f:	e8 ac 71 fa ff       	call   0x407b20
460974:	0f b7 18             	movzwl (%eax),%ebx
460977:	66 85 db             	test   %bx,%bx
46097a:	74 1d                	je     0x460999
46097c:	8b ce                	mov    %esi,%ecx
46097e:	47                   	inc    %edi
46097f:	e8 60 fb ff ff       	call   0x4604e4
460984:	6a 01                	push   $0x1
460986:	53                   	push   %ebx
460987:	8b ce                	mov    %esi,%ecx
460989:	e8 28 ff ff ff       	call   0x4608b6
46098e:	33 c0                	xor    %eax,%eax
460990:	89 46 14             	mov    %eax,0x14(%esi)
460993:	66 89 46 18          	mov    %ax,0x18(%esi)
460997:	eb d2                	jmp    0x46096b
460999:	80 7e 08 01          	cmpb   $0x1,0x8(%esi)
46099d:	75 17                	jne    0x4609b6
46099f:	8d 45 f8             	lea    -0x8(%ebp),%eax
4609a2:	8b ce                	mov    %esi,%ecx
4609a4:	50                   	push   %eax
4609a5:	e8 cc 08 00 00       	call   0x461276
4609aa:	ff 75 0c             	push   0xc(%ebp)
4609ad:	8b ce                	mov    %esi,%ecx
4609af:	6a 14                	push   $0x14
4609b1:	e8 c5 05 00 00       	call   0x460f7b
4609b6:	6a 00                	push   $0x0
4609b8:	ff 76 20             	push   0x20(%esi)
4609bb:	8b ce                	mov    %esi,%ecx
4609bd:	e8 1c 0d 00 00       	call   0x4616de
4609c2:	5f                   	pop    %edi
4609c3:	5e                   	pop    %esi
4609c4:	5b                   	pop    %ebx
4609c5:	8b e5                	mov    %ebp,%esp
4609c7:	5d                   	pop    %ebp
4609c8:	c2 08 00             	ret    $0x8
4609cb:	55                   	push   %ebp
4609cc:	8b ec                	mov    %esp,%ebp
4609ce:	83 ec 68             	sub    $0x68,%esp
4609d1:	33 c0                	xor    %eax,%eax
4609d3:	53                   	push   %ebx
4609d4:	56                   	push   %esi
4609d5:	57                   	push   %edi
4609d6:	8b f1                	mov    %ecx,%esi
4609d8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4609db:	8b f8                	mov    %eax,%edi
4609dd:	89 75 ec             	mov    %esi,-0x14(%ebp)
4609e0:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4609e3:	89 7d e8             	mov    %edi,-0x18(%ebp)
4609e6:	88 45 fa             	mov    %al,-0x6(%ebp)
4609e9:	88 45 fb             	mov    %al,-0x5(%ebp)
4609ec:	88 45 f9             	mov    %al,-0x7(%ebp)
4609ef:	88 45 f8             	mov    %al,-0x8(%ebp)
4609f2:	e8 9e f7 ff ff       	call   0x460195
4609f7:	33 db                	xor    %ebx,%ebx
4609f9:	8d 4d bc             	lea    -0x44(%ebp),%ecx
4609fc:	43                   	inc    %ebx
4609fd:	89 5d f0             	mov    %ebx,-0x10(%ebp)
460a00:	e8 c2 6d fa ff       	call   0x4077c7
460a05:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460a08:	e8 ba 6d fa ff       	call   0x4077c7
460a0d:	8d 45 f4             	lea    -0xc(%ebp),%eax
460a10:	50                   	push   %eax
460a11:	8d 45 bc             	lea    -0x44(%ebp),%eax
460a14:	50                   	push   %eax
460a15:	ff 75 08             	push   0x8(%ebp)
460a18:	6a 20                	push   $0x20
460a1a:	58                   	pop    %eax
460a1b:	50                   	push   %eax
460a1c:	e8 31 f9 fb ff       	call   0x420352
460a21:	84 c0                	test   %al,%al
460a23:	0f 84 48 01 00 00    	je     0x460b71
460a29:	8b 75 f4             	mov    -0xc(%ebp),%esi
460a2c:	6a 20                	push   $0x20
460a2e:	5f                   	pop    %edi
460a2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
460a32:	56                   	push   %esi
460a33:	e8 e8 70 fa ff       	call   0x407b20
460a38:	66 39 38             	cmp    %di,(%eax)
460a3b:	74 0f                	je     0x460a4c
460a3d:	8b 4d 08             	mov    0x8(%ebp),%ecx
460a40:	56                   	push   %esi
460a41:	e8 da 70 fa ff       	call   0x407b20
460a46:	66 83 38 09          	cmpw   $0x9,(%eax)
460a4a:	75 03                	jne    0x460a4f
460a4c:	46                   	inc    %esi
460a4d:	eb e0                	jmp    0x460a2f
460a4f:	8d 45 f4             	lea    -0xc(%ebp),%eax
460a52:	89 75 f4             	mov    %esi,-0xc(%ebp)
460a55:	50                   	push   %eax
460a56:	8d 45 cc             	lea    -0x34(%ebp),%eax
460a59:	50                   	push   %eax
460a5a:	ff 75 08             	push   0x8(%ebp)
460a5d:	6a 00                	push   $0x0
460a5f:	e8 ee f8 fb ff       	call   0x420352
460a64:	68 80 5e 4b 00       	push   $0x4b5e80
460a69:	ff 75 cc             	push   -0x34(%ebp)
460a6c:	e8 cc 26 fc ff       	call   0x42313d
460a71:	8b 75 ec             	mov    -0x14(%ebp),%esi
460a74:	8b 7d e8             	mov    -0x18(%ebp),%edi
460a77:	59                   	pop    %ecx
460a78:	59                   	pop    %ecx
460a79:	85 c0                	test   %eax,%eax
460a7b:	75 09                	jne    0x460a86
460a7d:	c6 45 fa 01          	movb   $0x1,-0x6(%ebp)
460a81:	e9 eb 00 00 00       	jmp    0x460b71
460a86:	68 80 5d 4b 00       	push   $0x4b5d80
460a8b:	ff 75 cc             	push   -0x34(%ebp)
460a8e:	e8 aa 26 fc ff       	call   0x42313d
460a93:	59                   	pop    %ecx
460a94:	59                   	pop    %ecx
460a95:	85 c0                	test   %eax,%eax
460a97:	75 09                	jne    0x460aa2
460a99:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
460a9d:	e9 cf 00 00 00       	jmp    0x460b71
460aa2:	68 74 a1 4b 00       	push   $0x4ba174
460aa7:	ff 75 cc             	push   -0x34(%ebp)
460aaa:	e8 8e 26 fc ff       	call   0x42313d
460aaf:	59                   	pop    %ecx
460ab0:	59                   	pop    %ecx
460ab1:	85 c0                	test   %eax,%eax
460ab3:	75 09                	jne    0x460abe
460ab5:	c6 45 f9 01          	movb   $0x1,-0x7(%ebp)
460ab9:	e9 b3 00 00 00       	jmp    0x460b71
460abe:	68 7c a1 4b 00       	push   $0x4ba17c
460ac3:	ff 75 cc             	push   -0x34(%ebp)
460ac6:	e8 72 26 fc ff       	call   0x42313d
460acb:	59                   	pop    %ecx
460acc:	59                   	pop    %ecx
460acd:	85 c0                	test   %eax,%eax
460acf:	75 09                	jne    0x460ada
460ad1:	c6 45 f8 01          	movb   $0x1,-0x8(%ebp)
460ad5:	e9 97 00 00 00       	jmp    0x460b71
460ada:	33 db                	xor    %ebx,%ebx
460adc:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460adf:	53                   	push   %ebx
460ae0:	e8 6d 70 fa ff       	call   0x407b52
460ae5:	6a 30                	push   $0x30
460ae7:	59                   	pop    %ecx
460ae8:	66 39 08             	cmp    %cx,(%eax)
460aeb:	75 73                	jne    0x460b60
460aed:	6a 01                	push   $0x1
460aef:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460af2:	e8 5b 70 fa ff       	call   0x407b52
460af7:	66 83 38 78          	cmpw   $0x78,(%eax)
460afb:	74 10                	je     0x460b0d
460afd:	6a 01                	push   $0x1
460aff:	8d 4d cc             	lea    -0x34(%ebp),%ecx
460b02:	e8 4b 70 fa ff       	call   0x407b52