48cddf:	53                   	push   %ebx
48cde0:	57                   	push   %edi
48cde1:	8b 7d 0c             	mov    0xc(%ebp),%edi
48cde4:	33 db                	xor    %ebx,%ebx
48cde6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
48cde9:	85 ff                	test   %edi,%edi
48cdeb:	74 26                	je     0x48ce13
48cded:	85 c0                	test   %eax,%eax
48cdef:	74 26                	je     0x48ce17
48cdf1:	88 1f                	mov    %bl,(%edi)
48cdf3:	8b 4d 08             	mov    0x8(%ebp),%ecx
48cdf6:	85 c9                	test   %ecx,%ecx
48cdf8:	74 02                	je     0x48cdfc
48cdfa:	89 19                	mov    %ebx,(%ecx)
48cdfc:	39 45 18             	cmp    %eax,0x18(%ebp)
48cdff:	77 03                	ja     0x48ce04
48ce01:	8b 45 18             	mov    0x18(%ebp),%eax
48ce04:	56                   	push   %esi
48ce05:	8b 75 1c             	mov    0x1c(%ebp),%esi
48ce08:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
48ce0d:	76 27                	jbe    0x48ce36
48ce0f:	6a 16                	push   $0x16
48ce11:	eb 60                	jmp    0x48ce73
48ce13:	85 c0                	test   %eax,%eax
48ce15:	74 dc                	je     0x48cdf3
48ce17:	8b 45 1c             	mov    0x1c(%ebp),%eax
48ce1a:	6a 16                	push   $0x16
48ce1c:	5f                   	pop    %edi
48ce1d:	50                   	push   %eax
48ce1e:	53                   	push   %ebx
48ce1f:	53                   	push   %ebx
48ce20:	53                   	push   %ebx
48ce21:	53                   	push   %ebx
48ce22:	53                   	push   %ebx
48ce23:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
48ce27:	89 78 18             	mov    %edi,0x18(%eax)
48ce2a:	e8 75 c7 fe ff       	call   0x4795a4
48ce2f:	83 c4 18             	add    $0x18,%esp
48ce32:	8b c7                	mov    %edi,%eax
48ce34:	eb 71                	jmp    0x48cea7
48ce36:	56                   	push   %esi
48ce37:	50                   	push   %eax
48ce38:	ff 75 14             	push   0x14(%ebp)
48ce3b:	57                   	push   %edi
48ce3c:	e8 6a 00 00 00       	call   0x48ceab
48ce41:	8b c8                	mov    %eax,%ecx
48ce43:	83 c4 10             	add    $0x10,%esp
48ce46:	83 f9 ff             	cmp    $0xffffffff,%ecx
48ce49:	75 12                	jne    0x48ce5d
48ce4b:	85 ff                	test   %edi,%edi
48ce4d:	74 02                	je     0x48ce51
48ce4f:	88 1f                	mov    %bl,(%edi)
48ce51:	38 5e 1c             	cmp    %bl,0x1c(%esi)
48ce54:	74 03                	je     0x48ce59
48ce56:	8b 5e 18             	mov    0x18(%esi),%ebx
48ce59:	8b c3                	mov    %ebx,%eax
48ce5b:	eb 49                	jmp    0x48cea6
48ce5d:	41                   	inc    %ecx
48ce5e:	85 ff                	test   %edi,%edi
48ce60:	74 38                	je     0x48ce9a
48ce62:	8b 45 10             	mov    0x10(%ebp),%eax
48ce65:	3b c8                	cmp    %eax,%ecx
48ce67:	76 2d                	jbe    0x48ce96
48ce69:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
48ce6d:	74 1e                	je     0x48ce8d
48ce6f:	88 1f                	mov    %bl,(%edi)
48ce71:	6a 22                	push   $0x22
48ce73:	5f                   	pop    %edi
48ce74:	56                   	push   %esi
48ce75:	53                   	push   %ebx
48ce76:	53                   	push   %ebx
48ce77:	53                   	push   %ebx
48ce78:	53                   	push   %ebx
48ce79:	89 7e 18             	mov    %edi,0x18(%esi)
48ce7c:	53                   	push   %ebx
48ce7d:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
48ce81:	e8 1e c7 fe ff       	call   0x4795a4
48ce86:	83 c4 18             	add    $0x18,%esp
48ce89:	8b c7                	mov    %edi,%eax
48ce8b:	eb 19                	jmp    0x48cea6
48ce8d:	8b c8                	mov    %eax,%ecx
48ce8f:	c7 45 fc 50 00 00 00 	movl   $0x50,-0x4(%ebp)
48ce96:	88 5c 39 ff          	mov    %bl,-0x1(%ecx,%edi,1)
48ce9a:	8b 45 08             	mov    0x8(%ebp),%eax
48ce9d:	85 c0                	test   %eax,%eax
48ce9f:	74 02                	je     0x48cea3
48cea1:	89 08                	mov    %ecx,(%eax)
48cea3:	8b 45 fc             	mov    -0x4(%ebp),%eax
48cea6:	5e                   	pop    %esi
48cea7:	5f                   	pop    %edi
48cea8:	5b                   	pop    %ebx
48cea9:	c9                   	leave
48ceaa:	c3                   	ret
48ceab:	8b ff                	mov    %edi,%edi
48cead:	55                   	push   %ebp
48ceae:	8b ec                	mov    %esp,%ebp
48ceb0:	83 ec 28             	sub    $0x28,%esp
48ceb3:	a1 14 40 4c 00       	mov    0x4c4014,%eax
48ceb8:	33 c5                	xor    %ebp,%eax
48ceba:	89 45 fc             	mov    %eax,-0x4(%ebp)
48cebd:	8b 55 08             	mov    0x8(%ebp),%edx
48cec0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48cec3:	53                   	push   %ebx
48cec4:	8b 5d 10             	mov    0x10(%ebp),%ebx
48cec7:	56                   	push   %esi
48cec8:	33 f6                	xor    %esi,%esi
48ceca:	89 55 e0             	mov    %edx,-0x20(%ebp)
48cecd:	89 4d e8             	mov    %ecx,-0x18(%ebp)
48ced0:	89 75 f0             	mov    %esi,-0x10(%ebp)
48ced3:	57                   	push   %edi
48ced4:	8b 7d 14             	mov    0x14(%ebp),%edi
48ced7:	85 d2                	test   %edx,%edx
48ced9:	74 0b                	je     0x48cee6
48cedb:	85 db                	test   %ebx,%ebx
48cedd:	75 07                	jne    0x48cee6
48cedf:	33 c0                	xor    %eax,%eax
48cee1:	e9 5d 02 00 00       	jmp    0x48d143
48cee6:	85 c9                	test   %ecx,%ecx
48cee8:	75 1e                	jne    0x48cf08
48ceea:	57                   	push   %edi
48ceeb:	56                   	push   %esi
48ceec:	56                   	push   %esi
48ceed:	56                   	push   %esi
48ceee:	56                   	push   %esi
48ceef:	56                   	push   %esi
48cef0:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
48cef4:	c7 47 18 16 00 00 00 	movl   $0x16,0x18(%edi)
48cefb:	e8 a4 c6 fe ff       	call   0x4795a4
48cf00:	83 c4 18             	add    $0x18,%esp
48cf03:	e9 38 02 00 00       	jmp    0x48d140
48cf08:	80 7f 14 00          	cmpb   $0x0,0x14(%edi)
48cf0c:	75 0d                	jne    0x48cf1b
48cf0e:	8b cf                	mov    %edi,%ecx
48cf10:	e8 fb c1 fe ff       	call   0x479110
48cf15:	8b 4d e8             	mov    -0x18(%ebp),%ecx
48cf18:	8b 55 e0             	mov    -0x20(%ebp),%edx
48cf1b:	8b 47 0c             	mov    0xc(%edi),%eax
48cf1e:	8b 58 08             	mov    0x8(%eax),%ebx
48cf21:	81 fb e9 fd 00 00    	cmp    $0xfde9,%ebx
48cf27:	89 5d ec             	mov    %ebx,-0x14(%ebp)
48cf2a:	8b 5d 10             	mov    0x10(%ebp),%ebx
48cf2d:	75 1e                	jne    0x48cf4d
48cf2f:	57                   	push   %edi
48cf30:	8d 45 d8             	lea    -0x28(%ebp),%eax
48cf33:	89 75 d8             	mov    %esi,-0x28(%ebp)
48cf36:	50                   	push   %eax
48cf37:	53                   	push   %ebx
48cf38:	8d 45 e8             	lea    -0x18(%ebp),%eax
48cf3b:	89 75 dc             	mov    %esi,-0x24(%ebp)
48cf3e:	50                   	push   %eax
48cf3f:	52                   	push   %edx
48cf40:	e8 f8 73 00 00       	call   0x49433d
48cf45:	83 c4 14             	add    $0x14,%esp
48cf48:	e9 f6 01 00 00       	jmp    0x48d143
48cf4d:	8b 98 a8 00 00 00    	mov    0xa8(%eax),%ebx
48cf53:	89 5d dc             	mov    %ebx,-0x24(%ebp)
48cf56:	8b 5d 10             	mov    0x10(%ebp),%ebx
48cf59:	85 d2                	test   %edx,%edx
48cf5b:	0f 84 7c 01 00 00    	je     0x48d0dd
48cf61:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
48cf67:	75 36                	jne    0x48cf9f
48cf69:	85 db                	test   %ebx,%ebx
48cf6b:	74 2b                	je     0x48cf98
48cf6d:	b8 ff 00 00 00       	mov    $0xff,%eax
48cf72:	66 39 01             	cmp    %ax,(%ecx)
48cf75:	0f 87 ba 01 00 00    	ja     0x48d135
48cf7b:	8a 01                	mov    (%ecx),%al
48cf7d:	88 04 32             	mov    %al,(%edx,%esi,1)
48cf80:	66 8b 01             	mov    (%ecx),%ax
48cf83:	83 c1 02             	add    $0x2,%ecx
48cf86:	89 4d e8             	mov    %ecx,-0x18(%ebp)
48cf89:	66 85 c0             	test   %ax,%ax
48cf8c:	74 0a                	je     0x48cf98
48cf8e:	46                   	inc    %esi
48cf8f:	b8 ff 00 00 00       	mov    $0xff,%eax
48cf94:	3b f3                	cmp    %ebx,%esi
48cf96:	72 da                	jb     0x48cf72
48cf98:	8b c6                	mov    %esi,%eax
48cf9a:	e9 a4 01 00 00       	jmp    0x48d143
48cf9f:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
48cfa3:	75 56                	jne    0x48cffb
48cfa5:	85 db                	test   %ebx,%ebx
48cfa7:	74 1c                	je     0x48cfc5
48cfa9:	8b c1                	mov    %ecx,%eax
48cfab:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
48cfae:	66 39 30             	cmp    %si,(%eax)
48cfb1:	74 0b                	je     0x48cfbe
48cfb3:	83 c0 02             	add    $0x2,%eax
48cfb6:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
48cfba:	75 f2                	jne    0x48cfae
48cfbc:	eb 07                	jmp    0x48cfc5
48cfbe:	8b d8                	mov    %eax,%ebx
48cfc0:	2b d9                	sub    %ecx,%ebx
48cfc2:	d1 fb                	sar    $1,%ebx
48cfc4:	43                   	inc    %ebx
48cfc5:	8d 45 f0             	lea    -0x10(%ebp),%eax
48cfc8:	50                   	push   %eax
48cfc9:	56                   	push   %esi
48cfca:	53                   	push   %ebx
48cfcb:	52                   	push   %edx
48cfcc:	53                   	push   %ebx
48cfcd:	51                   	push   %ecx
48cfce:	56                   	push   %esi
48cfcf:	ff 75 ec             	push   -0x14(%ebp)
48cfd2:	e8 33 1d 00 00       	call   0x48ed0a
48cfd7:	83 c4 20             	add    $0x20,%esp
48cfda:	85 c0                	test   %eax,%eax
48cfdc:	0f 84 53 01 00 00    	je     0x48d135
48cfe2:	39 75 f0             	cmp    %esi,-0x10(%ebp)
48cfe5:	0f 85 4a 01 00 00    	jne    0x48d135
48cfeb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
48cfee:	80 7c 01 ff 00       	cmpb   $0x0,-0x1(%ecx,%eax,1)
48cff3:	0f 85 4a 01 00 00    	jne    0x48d143
48cff9:	eb 26                	jmp    0x48d021
48cffb:	8d 45 f0             	lea    -0x10(%ebp),%eax
48cffe:	50                   	push   %eax
48cfff:	56                   	push   %esi
48d000:	53                   	push   %ebx
48d001:	52                   	push   %edx
48d002:	6a ff                	push   $0xffffffff
48d004:	51                   	push   %ecx
48d005:	56                   	push   %esi
48d006:	ff 75 ec             	push   -0x14(%ebp)
48d009:	e8 fc 1c 00 00       	call   0x48ed0a
48d00e:	83 c4 20             	add    $0x20,%esp
48d011:	89 45 ec             	mov    %eax,-0x14(%ebp)
48d014:	39 75 f0             	cmp    %esi,-0x10(%ebp)
48d017:	0f 85 18 01 00 00    	jne    0x48d135
48d01d:	85 c0                	test   %eax,%eax
48d01f:	74 06                	je     0x48d027
48d021:	48                   	dec    %eax
48d022:	e9 1c 01 00 00       	jmp    0x48d143
48d027:	ff 15 30 e1 49 00    	call   *0x49e130
48d02d:	83 f8 7a             	cmp    $0x7a,%eax
48d030:	0f 85 ff 00 00 00    	jne    0x48d135
48d036:	85 db                	test   %ebx,%ebx
48d038:	0f 84 9a 00 00 00    	je     0x48d0d8
48d03e:	8b 45 e8             	mov    -0x18(%ebp),%eax
48d041:	8b 57 0c             	mov    0xc(%edi),%edx
48d044:	8b 4a 04             	mov    0x4(%edx),%ecx
48d047:	83 f9 05             	cmp    $0x5,%ecx
48d04a:	7e 03                	jle    0x48d04f
48d04c:	6a 05                	push   $0x5
48d04e:	59                   	pop    %ecx
48d04f:	8d 5d f0             	lea    -0x10(%ebp),%ebx
48d052:	53                   	push   %ebx
48d053:	56                   	push   %esi
48d054:	51                   	push   %ecx
48d055:	8d 4d f4             	lea    -0xc(%ebp),%ecx
48d058:	51                   	push   %ecx
48d059:	6a 01                	push   $0x1
48d05b:	50                   	push   %eax
48d05c:	56                   	push   %esi
48d05d:	ff 72 08             	push   0x8(%edx)
48d060:	e8 a5 1c 00 00       	call   0x48ed0a
48d065:	8b 5d 10             	mov    0x10(%ebp),%ebx
48d068:	8b d0                	mov    %eax,%edx
48d06a:	83 c4 20             	add    $0x20,%esp
48d06d:	89 55 dc             	mov    %edx,-0x24(%ebp)
48d070:	85 d2                	test   %edx,%edx
48d072:	0f 84 bd 00 00 00    	je     0x48d135
48d078:	39 75 f0             	cmp    %esi,-0x10(%ebp)
48d07b:	0f 85 b4 00 00 00    	jne    0x48d135
48d081:	85 d2                	test   %edx,%edx
48d083:	0f 88 ac 00 00 00    	js     0x48d135
48d089:	83 fa 05             	cmp    $0x5,%edx
48d08c:	0f 87 a3 00 00 00    	ja     0x48d135
48d092:	8b 4d ec             	mov    -0x14(%ebp),%ecx
48d095:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
48d098:	3b c3                	cmp    %ebx,%eax
48d09a:	77 38                	ja     0x48d0d4
48d09c:	8b c6                	mov    %esi,%eax
48d09e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48d0a1:	85 d2                	test   %edx,%edx
48d0a3:	7e 1e                	jle    0x48d0c3
48d0a5:	8b 55 e0             	mov    -0x20(%ebp),%edx
48d0a8:	8a 44 05 f4          	mov    -0xc(%ebp,%eax,1),%al
48d0ac:	88 04 0a             	mov    %al,(%edx,%ecx,1)
48d0af:	84 c0                	test   %al,%al
48d0b1:	74 21                	je     0x48d0d4
48d0b3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48d0b6:	40                   	inc    %eax
48d0b7:	41                   	inc    %ecx
48d0b8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48d0bb:	89 4d ec             	mov    %ecx,-0x14(%ebp)
48d0be:	3b 45 dc             	cmp    -0x24(%ebp),%eax
48d0c1:	7c e5                	jl     0x48d0a8
48d0c3:	8b 45 e8             	mov    -0x18(%ebp),%eax
48d0c6:	83 c0 02             	add    $0x2,%eax
48d0c9:	89 45 e8             	mov    %eax,-0x18(%ebp)
48d0cc:	3b cb                	cmp    %ebx,%ecx
48d0ce:	0f 82 6d ff ff ff    	jb     0x48d041
48d0d4:	8b c1                	mov    %ecx,%eax
48d0d6:	eb 6b                	jmp    0x48d143
48d0d8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
48d0db:	eb f7                	jmp    0x48d0d4
48d0dd:	39 75 dc             	cmp    %esi,-0x24(%ebp)
48d0e0:	75 30                	jne    0x48d112
48d0e2:	0f b7 01             	movzwl (%ecx),%eax
48d0e5:	66 85 c0             	test   %ax,%ax
48d0e8:	0f 84 aa fe ff ff    	je     0x48cf98
48d0ee:	8b d0                	mov    %eax,%edx
48d0f0:	b8 ff 00 00 00       	mov    $0xff,%eax
48d0f5:	66 3b d0             	cmp    %ax,%dx
48d0f8:	77 3b                	ja     0x48d135
48d0fa:	83 c1 02             	add    $0x2,%ecx
48d0fd:	46                   	inc    %esi
48d0fe:	0f b7 01             	movzwl (%ecx),%eax
48d101:	8b d0                	mov    %eax,%edx
48d103:	66 85 c0             	test   %ax,%ax
48d106:	b8 ff 00 00 00       	mov    $0xff,%eax
48d10b:	75 e8                	jne    0x48d0f5
48d10d:	e9 86 fe ff ff       	jmp    0x48cf98
48d112:	8d 45 f0             	lea    -0x10(%ebp),%eax
48d115:	50                   	push   %eax
48d116:	56                   	push   %esi
48d117:	56                   	push   %esi
48d118:	56                   	push   %esi
48d119:	6a ff                	push   $0xffffffff
48d11b:	51                   	push   %ecx
48d11c:	56                   	push   %esi
48d11d:	ff 75 ec             	push   -0x14(%ebp)
48d120:	e8 e5 1b 00 00       	call   0x48ed0a
48d125:	83 c4 20             	add    $0x20,%esp
48d128:	85 c0                	test   %eax,%eax
48d12a:	74 09                	je     0x48d135
48d12c:	39 75 f0             	cmp    %esi,-0x10(%ebp)
48d12f:	0f 84 ec fe ff ff    	je     0x48d021
48d135:	c7 47 18 2a 00 00 00 	movl   $0x2a,0x18(%edi)
48d13c:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
48d140:	83 c8 ff             	or     $0xffffffff,%eax
48d143:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48d146:	5f                   	pop    %edi
48d147:	5e                   	pop    %esi
48d148:	33 cd                	xor    %ebp,%ecx
48d14a:	5b                   	pop    %ebx
48d14b:	e8 7a c8 fd ff       	call   0x4699ca
48d150:	c9                   	leave
48d151:	c3                   	ret
48d152:	8b ff                	mov    %edi,%edi
48d154:	55                   	push   %ebp
48d155:	8b ec                	mov    %esp,%ebp
48d157:	83 ec 28             	sub    $0x28,%esp
48d15a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
48d15d:	56                   	push   %esi
48d15e:	ff 75 1c             	push   0x1c(%ebp)
48d161:	e8 7a a1 fe ff       	call   0x4772e0
48d166:	8d 45 d8             	lea    -0x28(%ebp),%eax
48d169:	50                   	push   %eax
48d16a:	ff 75 18             	push   0x18(%ebp)