410cfd:	7e 4a                	jle    0x410d49
410cff:	6a 01                	push   $0x1
410d01:	56                   	push   %esi
410d02:	e8 96 03 00 00       	call   0x41109d
410d07:	8b 45 ec             	mov    -0x14(%ebp),%eax
410d0a:	59                   	pop    %ecx
410d0b:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
410d11:	59                   	pop    %ecx
410d12:	8b 00                	mov    (%eax),%eax
410d14:	8a 00                	mov    (%eax),%al
410d16:	88 06                	mov    %al,(%esi)
410d18:	8b 45 14             	mov    0x14(%ebp),%eax
410d1b:	46                   	inc    %esi
410d1c:	8b 40 04             	mov    0x4(%eax),%eax
410d1f:	85 c0                	test   %eax,%eax
410d21:	79 26                	jns    0x410d49
410d23:	38 5d 18             	cmp    %bl,0x18(%ebp)
410d26:	74 06                	je     0x410d2e
410d28:	8b f8                	mov    %eax,%edi
410d2a:	f7 df                	neg    %edi
410d2c:	eb 08                	jmp    0x410d36
410d2e:	f7 d8                	neg    %eax
410d30:	3b f8                	cmp    %eax,%edi
410d32:	7c 02                	jl     0x410d36
410d34:	8b f8                	mov    %eax,%edi
410d36:	57                   	push   %edi
410d37:	56                   	push   %esi
410d38:	e8 60 03 00 00       	call   0x41109d
410d3d:	57                   	push   %edi
410d3e:	6a 30                	push   $0x30
410d40:	56                   	push   %esi
410d41:	e8 fa 61 ff ff       	call   0x406f40
410d46:	83 c4 14             	add    $0x14,%esp
410d49:	5f                   	pop    %edi
410d4a:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
410d4e:	74 07                	je     0x410d57
410d50:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410d53:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
410d57:	5e                   	pop    %esi
410d58:	8b c3                	mov    %ebx,%eax
410d5a:	5b                   	pop    %ebx
410d5b:	c9                   	leave
410d5c:	c3                   	ret
410d5d:	55                   	push   %ebp
410d5e:	8b ec                	mov    %esp,%ebp
410d60:	83 ec 2c             	sub    $0x2c,%esp
410d63:	a1 90 08 42 00       	mov    0x420890,%eax
410d68:	33 c5                	xor    %ebp,%eax
410d6a:	89 45 fc             	mov    %eax,-0x4(%ebp)
410d6d:	8b 45 08             	mov    0x8(%ebp),%eax
410d70:	53                   	push   %ebx
410d71:	57                   	push   %edi
410d72:	8b 7d 0c             	mov    0xc(%ebp),%edi
410d75:	6a 16                	push   $0x16
410d77:	5b                   	pop    %ebx
410d78:	53                   	push   %ebx
410d79:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
410d7c:	51                   	push   %ecx
410d7d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
410d80:	51                   	push   %ecx
410d81:	ff 70 04             	push   0x4(%eax)
410d84:	ff 30                	push   (%eax)
410d86:	e8 aa 3d 00 00       	call   0x414b35
410d8b:	83 c4 14             	add    $0x14,%esp
410d8e:	85 ff                	test   %edi,%edi
410d90:	75 10                	jne    0x410da2
410d92:	e8 e6 73 ff ff       	call   0x40817d
410d97:	89 18                	mov    %ebx,(%eax)
410d99:	e8 57 a8 ff ff       	call   0x40b5f5
410d9e:	8b c3                	mov    %ebx,%eax
410da0:	eb 6c                	jmp    0x410e0e
410da2:	56                   	push   %esi
410da3:	8b 75 10             	mov    0x10(%ebp),%esi
410da6:	85 f6                	test   %esi,%esi
410da8:	75 10                	jne    0x410dba
410daa:	e8 ce 73 ff ff       	call   0x40817d
410daf:	89 18                	mov    %ebx,(%eax)
410db1:	e8 3f a8 ff ff       	call   0x40b5f5
410db6:	8b c3                	mov    %ebx,%eax
410db8:	eb 53                	jmp    0x410e0d
410dba:	83 c9 ff             	or     $0xffffffff,%ecx
410dbd:	3b f1                	cmp    %ecx,%esi
410dbf:	74 0d                	je     0x410dce
410dc1:	33 c0                	xor    %eax,%eax
410dc3:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
410dc7:	8b ce                	mov    %esi,%ecx
410dc9:	0f 94 c0             	sete   %al
410dcc:	2b c8                	sub    %eax,%ecx
410dce:	8b 5d 14             	mov    0x14(%ebp),%ebx
410dd1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
410dd4:	50                   	push   %eax
410dd5:	8b 45 d8             	mov    -0x28(%ebp),%eax
410dd8:	03 c3                	add    %ebx,%eax
410dda:	50                   	push   %eax
410ddb:	33 c0                	xor    %eax,%eax
410ddd:	83 7d d4 2d          	cmpl   $0x2d,-0x2c(%ebp)
410de1:	51                   	push   %ecx
410de2:	0f 94 c0             	sete   %al
410de5:	03 c7                	add    %edi,%eax
410de7:	50                   	push   %eax
410de8:	e8 ba 3a 00 00       	call   0x4148a7
410ded:	83 c4 10             	add    $0x10,%esp
410df0:	85 c0                	test   %eax,%eax
410df2:	74 05                	je     0x410df9
410df4:	c6 07 00             	movb   $0x0,(%edi)
410df7:	eb 14                	jmp    0x410e0d
410df9:	ff 75 18             	push   0x18(%ebp)
410dfc:	8d 45 d4             	lea    -0x2c(%ebp),%eax
410dff:	6a 00                	push   $0x0
410e01:	50                   	push   %eax
410e02:	53                   	push   %ebx
410e03:	56                   	push   %esi
410e04:	57                   	push   %edi
410e05:	e8 69 fe ff ff       	call   0x410c73
410e0a:	83 c4 18             	add    $0x18,%esp
410e0d:	5e                   	pop    %esi
410e0e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410e11:	5f                   	pop    %edi
410e12:	33 cd                	xor    %ebp,%ecx
410e14:	5b                   	pop    %ebx
410e15:	e8 1f 39 ff ff       	call   0x404739
410e1a:	c9                   	leave
410e1b:	c3                   	ret
410e1c:	55                   	push   %ebp
410e1d:	8b ec                	mov    %esp,%ebp
410e1f:	83 ec 30             	sub    $0x30,%esp
410e22:	a1 90 08 42 00       	mov    0x420890,%eax
410e27:	33 c5                	xor    %ebp,%eax
410e29:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e2c:	8b 45 08             	mov    0x8(%ebp),%eax
410e2f:	53                   	push   %ebx
410e30:	57                   	push   %edi
410e31:	8b 7d 0c             	mov    0xc(%ebp),%edi
410e34:	6a 16                	push   $0x16
410e36:	5b                   	pop    %ebx
410e37:	53                   	push   %ebx
410e38:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
410e3b:	51                   	push   %ecx
410e3c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
410e3f:	51                   	push   %ecx
410e40:	ff 70 04             	push   0x4(%eax)
410e43:	ff 30                	push   (%eax)
410e45:	e8 eb 3c 00 00       	call   0x414b35
410e4a:	83 c4 14             	add    $0x14,%esp
410e4d:	85 ff                	test   %edi,%edi
410e4f:	75 13                	jne    0x410e64
410e51:	e8 27 73 ff ff       	call   0x40817d
410e56:	89 18                	mov    %ebx,(%eax)
410e58:	e8 98 a7 ff ff       	call   0x40b5f5
410e5d:	8b c3                	mov    %ebx,%eax
410e5f:	e9 a7 00 00 00       	jmp    0x410f0b
410e64:	56                   	push   %esi
410e65:	8b 75 10             	mov    0x10(%ebp),%esi
410e68:	85 f6                	test   %esi,%esi
410e6a:	75 13                	jne    0x410e7f
410e6c:	e8 0c 73 ff ff       	call   0x40817d
410e71:	89 18                	mov    %ebx,(%eax)
410e73:	e8 7d a7 ff ff       	call   0x40b5f5
410e78:	8b c3                	mov    %ebx,%eax
410e7a:	e9 8b 00 00 00       	jmp    0x410f0a
410e7f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
410e82:	48                   	dec    %eax
410e83:	33 c9                	xor    %ecx,%ecx
410e85:	83 7d d0 2d          	cmpl   $0x2d,-0x30(%ebp)
410e89:	89 45 e0             	mov    %eax,-0x20(%ebp)
410e8c:	0f 94 c1             	sete   %cl
410e8f:	83 c8 ff             	or     $0xffffffff,%eax
410e92:	8d 1c 39             	lea    (%ecx,%edi,1),%ebx
410e95:	3b f0                	cmp    %eax,%esi
410e97:	74 04                	je     0x410e9d
410e99:	8b c6                	mov    %esi,%eax
410e9b:	2b c1                	sub    %ecx,%eax
410e9d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
410ea0:	51                   	push   %ecx
410ea1:	ff 75 14             	push   0x14(%ebp)
410ea4:	50                   	push   %eax
410ea5:	53                   	push   %ebx
410ea6:	e8 fc 39 00 00       	call   0x4148a7
410eab:	83 c4 10             	add    $0x10,%esp
410eae:	85 c0                	test   %eax,%eax
410eb0:	74 05                	je     0x410eb7
410eb2:	c6 07 00             	movb   $0x0,(%edi)
410eb5:	eb 53                	jmp    0x410f0a
410eb7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
410eba:	48                   	dec    %eax
410ebb:	39 45 e0             	cmp    %eax,-0x20(%ebp)
410ebe:	0f 9c c1             	setl   %cl
410ec1:	83 f8 fc             	cmp    $0xfffffffc,%eax
410ec4:	7c 2b                	jl     0x410ef1
410ec6:	3b 45 14             	cmp    0x14(%ebp),%eax
410ec9:	7d 26                	jge    0x410ef1
410ecb:	84 c9                	test   %cl,%cl
410ecd:	74 0a                	je     0x410ed9
410ecf:	8a 03                	mov    (%ebx),%al
410ed1:	43                   	inc    %ebx
410ed2:	84 c0                	test   %al,%al
410ed4:	75 f9                	jne    0x410ecf
410ed6:	88 43 fe             	mov    %al,-0x2(%ebx)
410ed9:	ff 75 1c             	push   0x1c(%ebp)
410edc:	8d 45 d0             	lea    -0x30(%ebp),%eax
410edf:	6a 01                	push   $0x1
410ee1:	50                   	push   %eax
410ee2:	ff 75 14             	push   0x14(%ebp)
410ee5:	56                   	push   %esi
410ee6:	57                   	push   %edi
410ee7:	e8 87 fd ff ff       	call   0x410c73
410eec:	83 c4 18             	add    $0x18,%esp
410eef:	eb 19                	jmp    0x410f0a
410ef1:	ff 75 1c             	push   0x1c(%ebp)
410ef4:	8d 45 d0             	lea    -0x30(%ebp),%eax
410ef7:	6a 01                	push   $0x1
410ef9:	50                   	push   %eax
410efa:	ff 75 18             	push   0x18(%ebp)
410efd:	ff 75 14             	push   0x14(%ebp)
410f00:	56                   	push   %esi
410f01:	57                   	push   %edi
410f02:	e8 51 fb ff ff       	call   0x410a58
410f07:	83 c4 1c             	add    $0x1c,%esp
410f0a:	5e                   	pop    %esi
410f0b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410f0e:	5f                   	pop    %edi
410f0f:	33 cd                	xor    %ebp,%ecx
410f11:	5b                   	pop    %ebx
410f12:	e8 22 38 ff ff       	call   0x404739
410f17:	c9                   	leave
410f18:	c3                   	ret
410f19:	55                   	push   %ebp
410f1a:	8b ec                	mov    %esp,%ebp
410f1c:	6a 00                	push   $0x0
410f1e:	ff 75 08             	push   0x8(%ebp)
410f21:	e8 04 00 00 00       	call   0x410f2a
410f26:	59                   	pop    %ecx
410f27:	59                   	pop    %ecx
410f28:	5d                   	pop    %ebp
410f29:	c3                   	ret
410f2a:	55                   	push   %ebp
410f2b:	8b ec                	mov    %esp,%ebp
410f2d:	83 ec 10             	sub    $0x10,%esp
410f30:	57                   	push   %edi
410f31:	ff 75 0c             	push   0xc(%ebp)
410f34:	8d 4d f0             	lea    -0x10(%ebp),%ecx
410f37:	e8 c1 42 ff ff       	call   0x4051fd
410f3c:	8b 55 08             	mov    0x8(%ebp),%edx
410f3f:	8b 7d f0             	mov    -0x10(%ebp),%edi
410f42:	8a 0a                	mov    (%edx),%cl
410f44:	84 c9                	test   %cl,%cl
410f46:	74 15                	je     0x410f5d
410f48:	8b 87 84 00 00 00    	mov    0x84(%edi),%eax
410f4e:	8b 00                	mov    (%eax),%eax
410f50:	8a 00                	mov    (%eax),%al
410f52:	3a c8                	cmp    %al,%cl
410f54:	74 07                	je     0x410f5d
410f56:	42                   	inc    %edx
410f57:	8a 0a                	mov    (%edx),%cl
410f59:	84 c9                	test   %cl,%cl
410f5b:	75 f5                	jne    0x410f52
410f5d:	8a 02                	mov    (%edx),%al
410f5f:	42                   	inc    %edx
410f60:	84 c0                	test   %al,%al
410f62:	74 34                	je     0x410f98
410f64:	eb 09                	jmp    0x410f6f
410f66:	3c 65                	cmp    $0x65,%al
410f68:	74 0b                	je     0x410f75
410f6a:	3c 45                	cmp    $0x45,%al
410f6c:	74 07                	je     0x410f75
410f6e:	42                   	inc    %edx
410f6f:	8a 02                	mov    (%edx),%al
410f71:	84 c0                	test   %al,%al
410f73:	75 f1                	jne    0x410f66
410f75:	56                   	push   %esi
410f76:	8b f2                	mov    %edx,%esi
410f78:	4a                   	dec    %edx
410f79:	80 3a 30             	cmpb   $0x30,(%edx)
410f7c:	74 fa                	je     0x410f78
410f7e:	8b 87 84 00 00 00    	mov    0x84(%edi),%eax
410f84:	8b 08                	mov    (%eax),%ecx
410f86:	8a 02                	mov    (%edx),%al
410f88:	3a 01                	cmp    (%ecx),%al
410f8a:	75 01                	jne    0x410f8d
410f8c:	4a                   	dec    %edx
410f8d:	8a 06                	mov    (%esi),%al
410f8f:	42                   	inc    %edx
410f90:	46                   	inc    %esi
410f91:	88 02                	mov    %al,(%edx)
410f93:	84 c0                	test   %al,%al
410f95:	75 f6                	jne    0x410f8d
410f97:	5e                   	pop    %esi
410f98:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
410f9c:	5f                   	pop    %edi
410f9d:	74 07                	je     0x410fa6
410f9f:	8b 45 f8             	mov    -0x8(%ebp),%eax
410fa2:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
410fa6:	c9                   	leave
410fa7:	c3                   	ret
410fa8:	55                   	push   %ebp
410fa9:	8b ec                	mov    %esp,%ebp
410fab:	6a 00                	push   $0x0
410fad:	ff 75 10             	push   0x10(%ebp)
410fb0:	ff 75 0c             	push   0xc(%ebp)
410fb3:	ff 75 08             	push   0x8(%ebp)
410fb6:	e8 05 00 00 00       	call   0x410fc0
410fbb:	83 c4 10             	add    $0x10,%esp
410fbe:	5d                   	pop    %ebp
410fbf:	c3                   	ret
410fc0:	55                   	push   %ebp
410fc1:	8b ec                	mov    %esp,%ebp
410fc3:	51                   	push   %ecx
410fc4:	51                   	push   %ecx
410fc5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410fc9:	ff 75 14             	push   0x14(%ebp)
410fcc:	ff 75 10             	push   0x10(%ebp)
410fcf:	74 19                	je     0x410fea
410fd1:	8d 45 f8             	lea    -0x8(%ebp),%eax
410fd4:	50                   	push   %eax
410fd5:	e8 7d 39 00 00       	call   0x414957
410fda:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410fdd:	8b 45 f8             	mov    -0x8(%ebp),%eax
410fe0:	89 01                	mov    %eax,(%ecx)
410fe2:	8b 45 fc             	mov    -0x4(%ebp),%eax
410fe5:	89 41 04             	mov    %eax,0x4(%ecx)
410fe8:	eb 11                	jmp    0x410ffb
410fea:	8d 45 08             	lea    0x8(%ebp),%eax
410fed:	50                   	push   %eax
410fee:	e8 f0 39 00 00       	call   0x4149e3
410ff3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410ff6:	8b 45 08             	mov    0x8(%ebp),%eax
410ff9:	89 01                	mov    %eax,(%ecx)
410ffb:	83 c4 0c             	add    $0xc,%esp
410ffe:	c9                   	leave
410fff:	c3                   	ret
411000:	55                   	push   %ebp
411001:	8b ec                	mov    %esp,%ebp
411003:	6a 00                	push   $0x0
411005:	ff 75 08             	push   0x8(%ebp)
411008:	e8 04 00 00 00       	call   0x411011
41100d:	59                   	pop    %ecx
41100e:	59                   	pop    %ecx
41100f:	5d                   	pop    %ebp
411010:	c3                   	ret
411011:	55                   	push   %ebp
411012:	8b ec                	mov    %esp,%ebp
411014:	83 ec 10             	sub    $0x10,%esp
411017:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41101a:	56                   	push   %esi
41101b:	ff 75 0c             	push   0xc(%ebp)
41101e:	e8 da 41 ff ff       	call   0x4051fd
411023:	8b 75 08             	mov    0x8(%ebp),%esi
411026:	0f be 06             	movsbl (%esi),%eax
411029:	50                   	push   %eax
41102a:	e8 ce 7d ff ff       	call   0x408dfd