451baf:	29 45 e8             	sub    %eax,-0x18(%ebp)
451bb2:	8b 46 4c             	mov    0x4c(%esi),%eax
451bb5:	8b 55 ec             	mov    -0x14(%ebp),%edx
451bb8:	2b 55 e4             	sub    -0x1c(%ebp),%edx
451bbb:	2b c2                	sub    %edx,%eax
451bbd:	03 c0                	add    %eax,%eax
451bbf:	29 45 ec             	sub    %eax,-0x14(%ebp)
451bc2:	8d 55 b8             	lea    -0x48(%ebp),%edx
451bc5:	8b c6                	mov    %esi,%eax
451bc7:	e8 34 50 ff ff       	call   0x446c00
451bcc:	8b 55 b8             	mov    -0x48(%ebp),%edx
451bcf:	8b 43 08             	mov    0x8(%ebx),%eax
451bd2:	83 c0 38             	add    $0x38,%eax
451bd5:	e8 ca 24 fb ff       	call   0x4040a4
451bda:	8b 43 08             	mov    0x8(%ebx),%eax
451bdd:	8d 78 18             	lea    0x18(%eax),%edi
451be0:	8d 75 e0             	lea    -0x20(%ebp),%esi
451be3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451be4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451be5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451be6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451be7:	eb 15                	jmp    0x451bfe
451be9:	8b 45 fc             	mov    -0x4(%ebp),%eax
451bec:	66 83 78 32 00       	cmpw   $0x0,0x32(%eax)
451bf1:	74 0b                	je     0x451bfe
451bf3:	8b d3                	mov    %ebx,%edx
451bf5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
451bf8:	8b 43 34             	mov    0x34(%ebx),%eax
451bfb:	ff 53 30             	call   *0x30(%ebx)
451bfe:	33 c0                	xor    %eax,%eax
451c00:	5a                   	pop    %edx
451c01:	59                   	pop    %ecx
451c02:	59                   	pop    %ecx
451c03:	64 89 10             	mov    %edx,%fs:(%eax)
451c06:	68 1b 1c 45 00       	push   $0x451c1b
451c0b:	8d 45 b8             	lea    -0x48(%ebp),%eax
451c0e:	e8 3d 24 fb ff       	call   0x404050
451c13:	c3                   	ret
451c14:	e9 3b 1e fb ff       	jmp    0x403a54
451c19:	eb f0                	jmp    0x451c0b
451c1b:	5f                   	pop    %edi
451c1c:	5e                   	pop    %esi
451c1d:	5b                   	pop    %ebx
451c1e:	8b e5                	mov    %ebp,%esp
451c20:	5d                   	pop    %ebp
451c21:	c3                   	ret
451c22:	8b c0                	mov    %eax,%eax
451c24:	53                   	push   %ebx
451c25:	56                   	push   %esi
451c26:	84 d2                	test   %dl,%dl
451c28:	74 08                	je     0x451c32
451c2a:	83 c4 f0             	add    $0xfffffff0,%esp
451c2d:	e8 f2 19 fb ff       	call   0x403624
451c32:	8b da                	mov    %edx,%ebx
451c34:	8b f0                	mov    %eax,%esi
451c36:	33 d2                	xor    %edx,%edx
451c38:	8b c6                	mov    %esi,%eax
451c3a:	e8 51 16 fb ff       	call   0x403290
451c3f:	c6 46 04 01          	movb   $0x1,0x4(%esi)
451c43:	c7 46 08 05 00 00 00 	movl   $0x5,0x8(%esi)
451c4a:	a1 fc 48 47 00       	mov    0x4748fc,%eax
451c4f:	83 38 02             	cmpl   $0x2,(%eax)
451c52:	75 0a                	jne    0x451c5e
451c54:	a1 f8 45 47 00       	mov    0x4745f8,%eax
451c59:	83 38 04             	cmpl   $0x4,(%eax)
451c5c:	7d 2c                	jge    0x451c8a
451c5e:	a1 fc 48 47 00       	mov    0x4748fc,%eax
451c63:	83 38 01             	cmpl   $0x1,(%eax)
451c66:	75 1e                	jne    0x451c86
451c68:	a1 f8 45 47 00       	mov    0x4745f8,%eax
451c6d:	83 38 04             	cmpl   $0x4,(%eax)
451c70:	7f 18                	jg     0x451c8a
451c72:	a1 f8 45 47 00       	mov    0x4745f8,%eax
451c77:	83 38 04             	cmpl   $0x4,(%eax)
451c7a:	75 0a                	jne    0x451c86
451c7c:	a1 c8 47 47 00       	mov    0x4747c8,%eax
451c81:	83 38 0a             	cmpl   $0xa,(%eax)
451c84:	7d 04                	jge    0x451c8a
451c86:	33 c0                	xor    %eax,%eax
451c88:	eb 02                	jmp    0x451c8c
451c8a:	b0 01                	mov    $0x1,%al
451c8c:	88 46 0d             	mov    %al,0xd(%esi)
451c8f:	33 d2                	xor    %edx,%edx
451c91:	8b c6                	mov    %esi,%eax
451c93:	e8 00 01 00 00       	call   0x451d98
451c98:	8b c6                	mov    %esi,%eax
451c9a:	84 db                	test   %bl,%bl
451c9c:	74 0f                	je     0x451cad
451c9e:	e8 d9 19 fb ff       	call   0x40367c
451ca3:	64 8f 05 00 00 00 00 	pop    %fs:0x0
451caa:	83 c4 0c             	add    $0xc,%esp
451cad:	8b c6                	mov    %esi,%eax
451caf:	5e                   	pop    %esi
451cb0:	5b                   	pop    %ebx
451cb1:	c3                   	ret
451cb2:	8b c0                	mov    %eax,%eax
451cb4:	53                   	push   %ebx
451cb5:	56                   	push   %esi
451cb6:	e8 d1 19 fb ff       	call   0x40368c
451cbb:	8b da                	mov    %edx,%ebx
451cbd:	8b f0                	mov    %eax,%esi
451cbf:	33 d2                	xor    %edx,%edx
451cc1:	8b c6                	mov    %esi,%eax
451cc3:	e8 a8 00 00 00       	call   0x451d70
451cc8:	8b d3                	mov    %ebx,%edx
451cca:	80 e2 fc             	and    $0xfc,%dl
451ccd:	8b c6                	mov    %esi,%eax
451ccf:	e8 dc 15 fb ff       	call   0x4032b0
451cd4:	84 db                	test   %bl,%bl
451cd6:	7e 07                	jle    0x451cdf
451cd8:	8b c6                	mov    %esi,%eax
451cda:	e8 95 19 fb ff       	call   0x403674
451cdf:	5e                   	pop    %esi
451ce0:	5b                   	pop    %ebx
451ce1:	c3                   	ret
451ce2:	8b c0                	mov    %eax,%eax
451ce4:	e8 2b 4b fb ff       	call   0x406814
451ce9:	c3                   	ret
451cea:	8b c0                	mov    %eax,%eax
451cec:	53                   	push   %ebx
451ced:	8b da                	mov    %edx,%ebx
451cef:	53                   	push   %ebx
451cf0:	e8 4f 4b fb ff       	call   0x406844
451cf5:	e8 1e b3 fb ff       	call   0x40d018
451cfa:	5b                   	pop    %ebx
451cfb:	c3                   	ret
451cfc:	53                   	push   %ebx
451cfd:	8b d8                	mov    %eax,%ebx
451cff:	6a 13                	push   $0x13
451d01:	a1 0c 46 47 00       	mov    0x47460c,%eax
451d06:	8b 00                	mov    (%eax),%eax
451d08:	ff d0                	call   *%eax
451d0a:	83 f8 01             	cmp    $0x1,%eax
451d0d:	1b c0                	sbb    %eax,%eax
451d0f:	40                   	inc    %eax
451d10:	88 43 0c             	mov    %al,0xc(%ebx)
451d13:	5b                   	pop    %ebx
451d14:	c3                   	ret
451d15:	8d 40 00             	lea    0x0(%eax),%eax
451d18:	53                   	push   %ebx
451d19:	56                   	push   %esi
451d1a:	8b f0                	mov    %eax,%esi
451d1c:	6a 4b                	push   $0x4b
451d1e:	a1 0c 46 47 00       	mov    0x47460c,%eax
451d23:	8b 00                	mov    (%eax),%eax
451d25:	ff d0                	call   *%eax
451d27:	83 f8 01             	cmp    $0x1,%eax
451d2a:	1b db                	sbb    %ebx,%ebx
451d2c:	43                   	inc    %ebx
451d2d:	88 5e 20             	mov    %bl,0x20(%esi)
451d30:	84 db                	test   %bl,%bl
451d32:	74 0f                	je     0x451d43
451d34:	6a 00                	push   $0x0
451d36:	8d 46 10             	lea    0x10(%esi),%eax
451d39:	50                   	push   %eax
451d3a:	6a 00                	push   $0x0
451d3c:	6a 68                	push   $0x68
451d3e:	e8 39 4e fb ff       	call   0x406b7c
451d43:	5e                   	pop    %esi
451d44:	5b                   	pop    %ebx
451d45:	c3                   	ret
451d46:	8b c0                	mov    %eax,%eax
451d48:	53                   	push   %ebx
451d49:	51                   	push   %ecx
451d4a:	8b d8                	mov    %eax,%ebx
451d4c:	54                   	push   %esp
451d4d:	8d 43 10             	lea    0x10(%ebx),%eax
451d50:	50                   	push   %eax
451d51:	8d 4b 14             	lea    0x14(%ebx),%ecx
451d54:	8d 53 24             	lea    0x24(%ebx),%edx
451d57:	8d 43 1c             	lea    0x1c(%ebx),%eax
451d5a:	e8 d9 4f fb ff       	call   0x406d38
451d5f:	89 43 18             	mov    %eax,0x18(%ebx)
451d62:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
451d66:	0f 95 c0             	setne  %al
451d69:	88 43 20             	mov    %al,0x20(%ebx)
451d6c:	5a                   	pop    %edx
451d6d:	5b                   	pop    %ebx
451d6e:	c3                   	ret
451d6f:	90                   	nop
451d70:	53                   	push   %ebx
451d71:	56                   	push   %esi
451d72:	8b f2                	mov    %edx,%esi
451d74:	8b d8                	mov    %eax,%ebx
451d76:	8b c3                	mov    %ebx,%eax
451d78:	e8 67 ff ff ff       	call   0x451ce4
451d7d:	3b f0                	cmp    %eax,%esi
451d7f:	74 11                	je     0x451d92
451d81:	85 f6                	test   %esi,%esi
451d83:	75 07                	jne    0x451d8c
451d85:	e8 02 4d fb ff       	call   0x406a8c
451d8a:	eb 06                	jmp    0x451d92
451d8c:	56                   	push   %esi
451d8d:	e8 3a 4d fb ff       	call   0x406acc
451d92:	5e                   	pop    %esi
451d93:	5b                   	pop    %ebx
451d94:	c3                   	ret
451d95:	8d 40 00             	lea    0x0(%eax),%eax
451d98:	53                   	push   %ebx
451d99:	8b d8                	mov    %eax,%ebx
451d9b:	83 ea 01             	sub    $0x1,%edx
451d9e:	72 07                	jb     0x451da7
451da0:	83 ea 67             	sub    $0x67,%edx
451da3:	74 21                	je     0x451dc6
451da5:	eb 50                	jmp    0x451df7
451da7:	8b c3                	mov    %ebx,%eax
451da9:	e8 4e ff ff ff       	call   0x451cfc
451dae:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
451db2:	75 09                	jne    0x451dbd
451db4:	8b c3                	mov    %ebx,%eax
451db6:	e8 8d ff ff ff       	call   0x451d48
451dbb:	eb 3a                	jmp    0x451df7
451dbd:	8b c3                	mov    %ebx,%eax
451dbf:	e8 54 ff ff ff       	call   0x451d18
451dc4:	5b                   	pop    %ebx
451dc5:	c3                   	ret
451dc6:	80 7b 20 00          	cmpb   $0x0,0x20(%ebx)
451dca:	74 2b                	je     0x451df7
451dcc:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
451dd0:	74 11                	je     0x451de3
451dd2:	6a 00                	push   $0x0
451dd4:	8d 43 10             	lea    0x10(%ebx),%eax
451dd7:	50                   	push   %eax
451dd8:	6a 00                	push   $0x0
451dda:	6a 68                	push   $0x68
451ddc:	e8 9b 4d fb ff       	call   0x406b7c
451de1:	eb 14                	jmp    0x451df7
451de3:	6a 00                	push   $0x0
451de5:	6a 00                	push   $0x0
451de7:	8b 43 14             	mov    0x14(%ebx),%eax
451dea:	50                   	push   %eax
451deb:	8b 43 18             	mov    0x18(%ebx),%eax
451dee:	50                   	push   %eax
451def:	e8 c8 4c fb ff       	call   0x406abc
451df4:	89 43 10             	mov    %eax,0x10(%ebx)
451df7:	5b                   	pop    %ebx
451df8:	c3                   	ret
451df9:	8d 40 00             	lea    0x0(%eax),%eax
451dfc:	55                   	push   %ebp
451dfd:	8b ec                	mov    %esp,%ebp
451dff:	51                   	push   %ecx
451e00:	53                   	push   %ebx
451e01:	a1 0c 49 47 00       	mov    0x47490c,%eax
451e06:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
451e0a:	0f 84 59 01 00 00    	je     0x451f69
451e10:	68 00 80 00 00       	push   $0x8000
451e15:	e8 32 46 fb ff       	call   0x40644c
451e1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
451e1d:	33 c0                	xor    %eax,%eax
451e1f:	55                   	push   %ebp
451e20:	68 62 1f 45 00       	push   $0x451f62
451e25:	64 ff 30             	push   %fs:(%eax)
451e28:	64 89 20             	mov    %esp,%fs:(%eax)
451e2b:	83 3d 6c 5b 47 00 00 	cmpl   $0x0,0x475b6c
451e32:	75 1c                	jne    0x451e50
451e34:	68 70 1f 45 00       	push   $0x451f70
451e39:	e8 26 45 fb ff       	call   0x406364
451e3e:	8b d8                	mov    %eax,%ebx
451e40:	68 78 1f 45 00       	push   $0x451f78
451e45:	53                   	push   %ebx
451e46:	e8 21 45 fb ff       	call   0x40636c
451e4b:	a3 6c 5b 47 00       	mov    %eax,0x475b6c
451e50:	83 3d 9c 9c 46 00 00 	cmpl   $0x0,0x469c9c
451e57:	0f 85 ee 00 00 00    	jne    0x451f4b
451e5d:	68 88 1f 45 00       	push   $0x451f88
451e62:	e8 ad 45 fb ff       	call   0x406414
451e67:	a3 9c 9c 46 00       	mov    %eax,0x469c9c
451e6c:	83 3d 9c 9c 46 00 00 	cmpl   $0x0,0x469c9c
451e73:	0f 84 d2 00 00 00    	je     0x451f4b
451e79:	68 94 1f 45 00       	push   $0x451f94
451e7e:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451e83:	50                   	push   %eax
451e84:	e8 e3 44 fb ff       	call   0x40636c
451e89:	a3 70 5b 47 00       	mov    %eax,0x475b70
451e8e:	68 a4 1f 45 00       	push   $0x451fa4
451e93:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451e98:	50                   	push   %eax
451e99:	e8 ce 44 fb ff       	call   0x40636c
451e9e:	a3 74 5b 47 00       	mov    %eax,0x475b74
451ea3:	68 b8 1f 45 00       	push   $0x451fb8
451ea8:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451ead:	50                   	push   %eax
451eae:	e8 b9 44 fb ff       	call   0x40636c
451eb3:	a3 78 5b 47 00       	mov    %eax,0x475b78
451eb8:	68 d0 1f 45 00       	push   $0x451fd0
451ebd:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451ec2:	50                   	push   %eax
451ec3:	e8 a4 44 fb ff       	call   0x40636c
451ec8:	a3 7c 5b 47 00       	mov    %eax,0x475b7c
451ecd:	68 e8 1f 45 00       	push   $0x451fe8
451ed2:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451ed7:	50                   	push   %eax
451ed8:	e8 8f 44 fb ff       	call   0x40636c
451edd:	a3 80 5b 47 00       	mov    %eax,0x475b80
451ee2:	68 fc 1f 45 00       	push   $0x451ffc
451ee7:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451eec:	50                   	push   %eax
451eed:	e8 7a 44 fb ff       	call   0x40636c
451ef2:	a3 84 5b 47 00       	mov    %eax,0x475b84
451ef7:	68 14 20 45 00       	push   $0x452014
451efc:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451f01:	50                   	push   %eax
451f02:	e8 65 44 fb ff       	call   0x40636c
451f07:	a3 88 5b 47 00       	mov    %eax,0x475b88
451f0c:	68 2c 20 45 00       	push   $0x45202c
451f11:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451f16:	50                   	push   %eax
451f17:	e8 50 44 fb ff       	call   0x40636c
451f1c:	a3 8c 5b 47 00       	mov    %eax,0x475b8c
451f21:	68 48 20 45 00       	push   $0x452048
451f26:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451f2b:	50                   	push   %eax
451f2c:	e8 3b 44 fb ff       	call   0x40636c
451f31:	a3 90 5b 47 00       	mov    %eax,0x475b90
451f36:	68 54 20 45 00       	push   $0x452054
451f3b:	a1 9c 9c 46 00       	mov    0x469c9c,%eax
451f40:	50                   	push   %eax
451f41:	e8 26 44 fb ff       	call   0x40636c
451f46:	a3 94 5b 47 00       	mov    %eax,0x475b94
451f4b:	33 c0                	xor    %eax,%eax
451f4d:	5a                   	pop    %edx
451f4e:	59                   	pop    %ecx
451f4f:	59                   	pop    %ecx
451f50:	64 89 10             	mov    %edx,%fs:(%eax)
451f53:	68 69 1f 45 00       	push   $0x451f69
451f58:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f5b:	50                   	push   %eax
451f5c:	e8 eb 44 fb ff       	call   0x40644c
451f61:	c3                   	ret
451f62:	e9 ed 1a fb ff       	jmp    0x403a54
451f67:	eb ef                	jmp    0x451f58
451f69:	5b                   	pop    %ebx
451f6a:	59                   	pop    %ecx
451f6b:	5d                   	pop    %ebp
451f6c:	c3                   	ret
451f6d:	00 00                	add    %al,(%eax)
451f6f:	00 55 53             	add    %dl,0x53(%ebp)
451f72:	45                   	inc    %ebp
451f73:	52                   	push   %edx
451f74:	33 32                	xor    (%edx),%esi
451f76:	00 00                	add    %al,(%eax)
451f78:	57                   	push   %edi
451f79:	49                   	dec    %ecx
451f7a:	4e                   	dec    %esi
451f7b:	4e                   	dec    %esi
451f7c:	4c                   	dec    %esp
451f7d:	53                   	push   %ebx
451f7e:	45                   	inc    %ebp
451f7f:	6e                   	outsb  %ds:(%esi),(%dx)
451f80:	61                   	popa