4fa83e:	8b 57 6c             	mov    0x6c(%edi),%edx
4fa841:	83 c4 0c             	add    $0xc,%esp
4fa844:	89 45 0c             	mov    %eax,0xc(%ebp)
4fa847:	39 57 70             	cmp    %edx,0x70(%edi)
4fa84a:	7f 1b                	jg     0x4fa867
4fa84c:	6a 00                	push   $0x0
4fa84e:	6a 01                	push   $0x1
4fa850:	68 ff ff ff 7f       	push   $0x7fffffff
4fa855:	68 aa 00 00 00       	push   $0xaa
4fa85a:	57                   	push   %edi
4fa85b:	e8 a0 bc 00 00       	call   0x506500
4fa860:	83 c4 14             	add    $0x14,%esp
4fa863:	8b d0                	mov    %eax,%edx
4fa865:	eb 36                	jmp    0x4fa89d
4fa867:	8b 5d 08             	mov    0x8(%ebp),%ebx
4fa86a:	8d 42 01             	lea    0x1(%edx),%eax
4fa86d:	89 47 6c             	mov    %eax,0x6c(%edi)
4fa870:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
4fa873:	8b 47 68             	mov    0x68(%edi),%eax
4fa876:	c7 04 88 aa 00 00 00 	movl   $0xaa,(%eax,%ecx,4)
4fa87d:	c7 44 88 04 ff ff ff 	movl   $0x7fffffff,0x4(%eax,%ecx,4)
4fa884:	7f
4fa885:	c7 44 88 08 01 00 00 	movl   $0x1,0x8(%eax,%ecx,4)
4fa88c:	00
4fa88d:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
4fa894:	00
4fa895:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
4fa89c:	00
4fa89d:	8b 07                	mov    (%edi),%eax
4fa89f:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
4fa8a3:	74 10                	je     0x4fa8b5
4fa8a5:	ff 75 0c             	push   0xc(%ebp)
4fa8a8:	6a f9                	push   $0xfffffff9
4fa8aa:	50                   	push   %eax
4fa8ab:	e8 00 94 00 00       	call   0x503cb0
4fa8b0:	83 c4 0c             	add    $0xc,%esp
4fa8b3:	eb 37                	jmp    0x4fa8ec
4fa8b5:	85 d2                	test   %edx,%edx
4fa8b7:	79 04                	jns    0x4fa8bd
4fa8b9:	8b 57 6c             	mov    0x6c(%edi),%edx
4fa8bc:	4a                   	dec    %edx
4fa8bd:	8b 47 68             	mov    0x68(%edi),%eax
4fa8c0:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
4fa8c3:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
4fa8c8:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
4fa8cb:	74 11                	je     0x4fa8de
4fa8cd:	6a f9                	push   $0xfffffff9
4fa8cf:	ff 75 0c             	push   0xc(%ebp)
4fa8d2:	51                   	push   %ecx
4fa8d3:	57                   	push   %edi
4fa8d4:	e8 67 f3 05 00       	call   0x559c40
4fa8d9:	83 c4 10             	add    $0x10,%esp
4fa8dc:	eb 0e                	jmp    0x4fa8ec
4fa8de:	8b 45 0c             	mov    0xc(%ebp),%eax
4fa8e1:	85 c0                	test   %eax,%eax
4fa8e3:	74 07                	je     0x4fa8ec
4fa8e5:	89 41 10             	mov    %eax,0x10(%ecx)
4fa8e8:	c6 41 01 f9          	movb   $0xf9,0x1(%ecx)
4fa8ec:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fa8ef:	0f b6 06             	movzbl (%esi),%eax
4fa8f2:	83 e8 7d             	sub    $0x7d,%eax
4fa8f5:	0f 84 f0 00 00 00    	je     0x4fa9eb
4fa8fb:	83 e8 01             	sub    $0x1,%eax
4fa8fe:	0f 84 b3 00 00 00    	je     0x4fa9b7
4fa904:	83 e8 01             	sub    $0x1,%eax
4fa907:	74 5a                	je     0x4fa963
4fa909:	6a 00                	push   $0x0
4fa90b:	ff 76 08             	push   0x8(%esi)
4fa90e:	51                   	push   %ecx
4fa90f:	e8 cc 18 04 00       	call   0x53c1e0
4fa914:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4fa917:	89 45 0c             	mov    %eax,0xc(%ebp)
4fa91a:	51                   	push   %ecx
4fa91b:	50                   	push   %eax
4fa91c:	53                   	push   %ebx
4fa91d:	c6 45 e4 04          	movb   $0x4,-0x1c(%ebp)
4fa921:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4fa928:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4fa92f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4fa936:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4fa93d:	e8 5e f1 03 00       	call   0x539aa0
4fa942:	8b 45 0c             	mov    0xc(%ebp),%eax
4fa945:	83 c4 18             	add    $0x18,%esp
4fa948:	85 c0                	test   %eax,%eax
4fa94a:	0f 84 e4 00 00 00    	je     0x4faa34
4fa950:	6a 01                	push   $0x1
4fa952:	50                   	push   %eax
4fa953:	ff 75 fc             	push   -0x4(%ebp)
4fa956:	e8 95 e4 ff ff       	call   0x4f8df0
4fa95b:	83 c4 0c             	add    $0xc,%esp
4fa95e:	e9 d1 00 00 00       	jmp    0x4faa34
4fa963:	8b 46 10             	mov    0x10(%esi),%eax
4fa966:	85 c0                	test   %eax,%eax
4fa968:	74 12                	je     0x4fa97c
4fa96a:	6a 00                	push   $0x0
4fa96c:	6a 00                	push   $0x0
4fa96e:	50                   	push   %eax
4fa96f:	51                   	push   %ecx
4fa970:	e8 eb 5e 00 00       	call   0x500860
4fa975:	83 c4 10             	add    $0x10,%esp
4fa978:	8b c8                	mov    %eax,%ecx
4fa97a:	eb 02                	jmp    0x4fa97e
4fa97c:	33 c9                	xor    %ecx,%ecx
4fa97e:	0f b6 83 91 00 00 00 	movzbl 0x91(%ebx),%eax
4fa985:	6a 00                	push   $0x0
4fa987:	6a 00                	push   $0x0
4fa989:	6a 00                	push   $0x0
4fa98b:	50                   	push   %eax
4fa98c:	51                   	push   %ecx
4fa98d:	6a 00                	push   $0x0
4fa98f:	ff 76 14             	push   0x14(%esi)
4fa992:	ff 75 fc             	push   -0x4(%ebp)
4fa995:	e8 26 cf 02 00       	call   0x5278c0
4fa99a:	83 c4 0c             	add    $0xc,%esp
4fa99d:	50                   	push   %eax
4fa99e:	56                   	push   %esi
4fa99f:	53                   	push   %ebx
4fa9a0:	e8 ab db 05 00       	call   0x558550
4fa9a5:	83 c4 08             	add    $0x8,%esp
4fa9a8:	50                   	push   %eax
4fa9a9:	53                   	push   %ebx
4fa9aa:	e8 a1 42 04 00       	call   0x53ec50
4fa9af:	83 c4 20             	add    $0x20,%esp
4fa9b2:	e9 7d 00 00 00       	jmp    0x4faa34
4fa9b7:	8b 46 10             	mov    0x10(%esi),%eax
4fa9ba:	85 c0                	test   %eax,%eax
4fa9bc:	74 10                	je     0x4fa9ce
4fa9be:	6a 00                	push   $0x0
4fa9c0:	6a 00                	push   $0x0
4fa9c2:	50                   	push   %eax
4fa9c3:	51                   	push   %ecx
4fa9c4:	e8 97 5e 00 00       	call   0x500860
4fa9c9:	83 c4 10             	add    $0x10,%esp
4fa9cc:	eb 02                	jmp    0x4fa9d0
4fa9ce:	33 c0                	xor    %eax,%eax
4fa9d0:	6a 00                	push   $0x0
4fa9d2:	6a 00                	push   $0x0
4fa9d4:	50                   	push   %eax
4fa9d5:	56                   	push   %esi
4fa9d6:	53                   	push   %ebx
4fa9d7:	e8 74 db 05 00       	call   0x558550
4fa9dc:	83 c4 08             	add    $0x8,%esp
4fa9df:	50                   	push   %eax
4fa9e0:	53                   	push   %ebx
4fa9e1:	e8 da 6f 02 00       	call   0x5219c0
4fa9e6:	83 c4 14             	add    $0x14,%esp
4fa9e9:	eb 49                	jmp    0x4faa34
4fa9eb:	ff 76 1c             	push   0x1c(%esi)
4fa9ee:	51                   	push   %ecx
4fa9ef:	e8 bc 68 04 00       	call   0x5412b0
4fa9f4:	83 c4 08             	add    $0x8,%esp
4fa9f7:	50                   	push   %eax
4fa9f8:	0f b6 83 91 00 00 00 	movzbl 0x91(%ebx),%eax
4fa9ff:	50                   	push   %eax
4faa00:	ff 76 18             	push   0x18(%esi)
4faa03:	ff 75 fc             	push   -0x4(%ebp)
4faa06:	e8 65 34 03 00       	call   0x52de70
4faa0b:	83 c4 08             	add    $0x8,%esp
4faa0e:	50                   	push   %eax
4faa0f:	6a 00                	push   $0x0
4faa11:	ff 76 08             	push   0x8(%esi)
4faa14:	ff 75 fc             	push   -0x4(%ebp)
4faa17:	e8 c4 17 04 00       	call   0x53c1e0
4faa1c:	83 c4 0c             	add    $0xc,%esp
4faa1f:	50                   	push   %eax
4faa20:	56                   	push   %esi
4faa21:	53                   	push   %ebx
4faa22:	e8 29 db 05 00       	call   0x558550
4faa27:	83 c4 08             	add    $0x8,%esp
4faa2a:	50                   	push   %eax
4faa2b:	53                   	push   %ebx
4faa2c:	e8 af 3d 03 00       	call   0x52e7e0
4faa31:	83 c4 18             	add    $0x18,%esp
4faa34:	80 3e 88             	cmpb   $0x88,(%esi)
4faa37:	74 4e                	je     0x4faa87
4faa39:	8b 4f 6c             	mov    0x6c(%edi),%ecx
4faa3c:	39 4f 70             	cmp    %ecx,0x70(%edi)
4faa3f:	7f 13                	jg     0x4faa54
4faa41:	6a 00                	push   $0x0
4faa43:	6a 00                	push   $0x0
4faa45:	6a 00                	push   $0x0
4faa47:	6a 7b                	push   $0x7b
4faa49:	57                   	push   %edi
4faa4a:	e8 b1 ba 00 00       	call   0x506500
4faa4f:	83 c4 14             	add    $0x14,%esp
4faa52:	eb 33                	jmp    0x4faa87
4faa54:	8d 41 01             	lea    0x1(%ecx),%eax
4faa57:	89 47 6c             	mov    %eax,0x6c(%edi)
4faa5a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4faa5d:	8b 47 68             	mov    0x68(%edi),%eax
4faa60:	c7 04 88 7b 00 00 00 	movl   $0x7b,(%eax,%ecx,4)
4faa67:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
4faa6e:	00
4faa6f:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
4faa76:	00
4faa77:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
4faa7e:	00
4faa7f:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
4faa86:	00
4faa87:	8b 76 24             	mov    0x24(%esi),%esi
4faa8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4faa8d:	85 f6                	test   %esi,%esi
4faa8f:	0f 85 7b fd ff ff    	jne    0x4fa810
4faa95:	5f                   	pop    %edi
4faa96:	5e                   	pop    %esi
4faa97:	33 c0                	xor    %eax,%eax
4faa99:	5b                   	pop    %ebx
4faa9a:	8b e5                	mov    %ebp,%esp
4faa9c:	5d                   	pop    %ebp
4faa9d:	c3                   	ret
4faa9e:	cc                   	int3
4faa9f:	cc                   	int3
4faaa0:	55                   	push   %ebp
4faaa1:	8b ec                	mov    %esp,%ebp
4faaa3:	83 ec 34             	sub    $0x34,%esp
4faaa6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4faaa9:	53                   	push   %ebx
4faaaa:	56                   	push   %esi
4faaab:	8b 75 08             	mov    0x8(%ebp),%esi
4faaae:	8b 59 0c             	mov    0xc(%ecx),%ebx
4faab1:	57                   	push   %edi
4faab2:	8b 79 10             	mov    0x10(%ecx),%edi
4faab5:	8b 46 08             	mov    0x8(%esi),%eax
4faab8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4faabb:	8a 03                	mov    (%ebx),%al
4faabd:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4faac0:	89 7d e8             	mov    %edi,-0x18(%ebp)
4faac3:	3c ad                	cmp    $0xad,%al
4faac5:	75 03                	jne    0x4faaca
4faac7:	8a 43 02             	mov    0x2(%ebx),%al
4faaca:	3c ae                	cmp    $0xae,%al
4faacc:	75 07                	jne    0x4faad5
4faace:	8b 43 14             	mov    0x14(%ebx),%eax
4faad1:	8b 10                	mov    (%eax),%edx
4faad3:	eb 13                	jmp    0x4faae8
4faad5:	3c 88                	cmp    $0x88,%al
4faad7:	75 0a                	jne    0x4faae3
4faad9:	8b 43 14             	mov    0x14(%ebx),%eax
4faadc:	8b 40 1c             	mov    0x1c(%eax),%eax
4faadf:	8b 10                	mov    (%eax),%edx
4faae1:	eb 05                	jmp    0x4faae8
4faae3:	ba 01 00 00 00       	mov    $0x1,%edx
4faae8:	ff 4e 38             	decl   0x38(%esi)
4faaeb:	8b 46 38             	mov    0x38(%esi),%eax
4faaee:	89 45 f0             	mov    %eax,-0x10(%ebp)
4faaf1:	8b 41 04             	mov    0x4(%ecx),%eax
4faaf4:	c1 e8 09             	shr    $0x9,%eax
4faaf7:	83 e0 01             	and    $0x1,%eax
4faafa:	89 55 0c             	mov    %edx,0xc(%ebp)
4faafd:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
4fab01:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4fab04:	0f 85 6f 02 00 00    	jne    0x4fad79
4fab0a:	8a 07                	mov    (%edi),%al
4fab0c:	3c ad                	cmp    $0xad,%al
4fab0e:	75 03                	jne    0x4fab13
4fab10:	8a 47 02             	mov    0x2(%edi),%al
4fab13:	3c ae                	cmp    $0xae,%al
4fab15:	75 07                	jne    0x4fab1e
4fab17:	8b 47 14             	mov    0x14(%edi),%eax
4fab1a:	8b 00                	mov    (%eax),%eax
4fab1c:	eb 13                	jmp    0x4fab31
4fab1e:	3c 88                	cmp    $0x88,%al
4fab20:	75 0a                	jne    0x4fab2c
4fab22:	8b 47 14             	mov    0x14(%edi),%eax
4fab25:	8b 40 1c             	mov    0x1c(%eax),%eax
4fab28:	8b 00                	mov    (%eax),%eax
4fab2a:	eb 05                	jmp    0x4fab31
4fab2c:	b8 01 00 00 00       	mov    $0x1,%eax
4fab31:	3b d0                	cmp    %eax,%edx
4fab33:	74 15                	je     0x4fab4a
4fab35:	68 78 8c 6b 00       	push   $0x6b8c78
4fab3a:	56                   	push   %esi
4fab3b:	e8 20 87 02 00       	call   0x523260
4fab40:	83 c4 08             	add    $0x8,%esp
4fab43:	5f                   	pop    %edi
4fab44:	5e                   	pop    %esi
4fab45:	5b                   	pop    %ebx
4fab46:	8b e5                	mov    %ebp,%esp
4fab48:	5d                   	pop    %ebp
4fab49:	c3                   	ret
4fab4a:	80 4d 18 20          	orb    $0x20,0x18(%ebp)
4fab4e:	b9 38 00 00 00       	mov    $0x38,%ecx
4fab53:	80 7d 14 37          	cmpb   $0x37,0x14(%ebp)
4fab57:	0f b6 45 14          	movzbl 0x14(%ebp),%eax
4fab5b:	0f 45 c8             	cmovne %eax,%ecx
4fab5e:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
4fab65:	80 f9 39             	cmp    $0x39,%cl
4fab68:	0f b6 d1             	movzbl %cl,%edx
4fab6b:	b8 36 00 00 00       	mov    $0x36,%eax
4fab70:	0f 44 d0             	cmove  %eax,%edx
4fab73:	80 3b 88             	cmpb   $0x88,(%ebx)
4fab76:	89 55 dc             	mov    %edx,-0x24(%ebp)
4fab79:	75 0d                	jne    0x4fab88
4fab7b:	53                   	push   %ebx
4fab7c:	56                   	push   %esi
4fab7d:	e8 ae 43 02 00       	call   0x51ef30
4fab82:	83 c4 08             	add    $0x8,%esp
4fab85:	89 45 08             	mov    %eax,0x8(%ebp)
4fab88:	33 c0                	xor    %eax,%eax
4fab8a:	80 3f 88             	cmpb   $0x88,(%edi)
4fab8d:	89 45 f8             	mov    %eax,-0x8(%ebp)
4fab90:	75 0d                	jne    0x4fab9f
4fab92:	57                   	push   %edi
4fab93:	56                   	push   %esi
4fab94:	e8 97 43 02 00       	call   0x51ef30
4fab99:	83 c4 08             	add    $0x8,%esp
4fab9c:	89 45 f8             	mov    %eax,-0x8(%ebp)
4fab9f:	8b 45 0c             	mov    0xc(%ebp),%eax
4faba2:	33 ff                	xor    %edi,%edi
4faba4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4faba7:	48                   	dec    %eax
4faba8:	33 d2                	xor    %edx,%edx
4fabaa:	89 45 d0             	mov    %eax,-0x30(%ebp)
4fabad:	29 4d 08             	sub    %ecx,0x8(%ebp)
4fabb0:	8a 03                	mov    (%ebx),%al
4fabb2:	89 55 fc             	mov    %edx,-0x4(%ebp)
4fabb5:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4fabbc:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4fabc3:	3c ad                	cmp    $0xad,%al
4fabc5:	75 14                	jne    0x4fabdb
4fabc7:	57                   	push   %edi
4fabc8:	53                   	push   %ebx
4fabc9:	e8 b2 2f 05 00       	call   0x54db80
4fabce:	8b 5b 1c             	mov    0x1c(%ebx),%ebx
4fabd1:	83 c4 08             	add    $0x8,%esp
4fabd4:	89 45 ec             	mov    %eax,-0x14(%ebp)
4fabd7:	03 df                	add    %edi,%ebx
4fabd9:	eb 32                	jmp    0x4fac0d
4fabdb:	3c 88                	cmp    $0x88,%al
4fabdd:	8b 43 14             	mov    0x14(%ebx),%eax
4fabe0:	75 14                	jne    0x4fabf6
4fabe2:	8b 40 1c             	mov    0x1c(%eax),%eax
4fabe5:	8b 44 10 04          	mov    0x4(%eax,%edx,1),%eax
4fabe9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4fabec:	8b 45 08             	mov    0x8(%ebp),%eax
4fabef:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
4fabf2:	03 df                	add    %edi,%ebx
4fabf4:	eb 1a                	jmp    0x4fac10
4fabf6:	8b 44 10 04          	mov    0x4(%eax,%edx,1),%eax
4fabfa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4fabfd:	51                   	push   %ecx
4fabfe:	50                   	push   %eax
4fabff:	56                   	push   %esi
4fac00:	89 45 ec             	mov    %eax,-0x14(%ebp)
4fac03:	e8 c8 b5 02 00       	call   0x5261d0
4fac08:	83 c4 0c             	add    $0xc,%esp
4fac0b:	8b d8                	mov    %eax,%ebx
4fac0d:	8b 55 fc             	mov    -0x4(%ebp),%edx
4fac10:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4fac13:	8a 01                	mov    (%ecx),%al