451c79:	8b ec                	mov    %esp,%ebp
451c7b:	83 c4 cc             	add    $0xffffffcc,%esp
451c7e:	53                   	push   %ebx
451c7f:	56                   	push   %esi
451c80:	33 c9                	xor    %ecx,%ecx
451c82:	89 4d f8             	mov    %ecx,-0x8(%ebp)
451c85:	89 55 fc             	mov    %edx,-0x4(%ebp)
451c88:	8b f0                	mov    %eax,%esi
451c8a:	33 c0                	xor    %eax,%eax
451c8c:	55                   	push   %ebp
451c8d:	68 e2 1d 45 00       	push   $0x451de2
451c92:	64 ff 30             	push   %fs:(%eax)
451c95:	64 89 20             	mov    %esp,%fs:(%eax)
451c98:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
451c9c:	0f 85 2a 01 00 00    	jne    0x451dcc
451ca2:	8b 45 fc             	mov    -0x4(%ebp),%eax
451ca5:	8b 40 08             	mov    0x8(%eax),%eax
451ca8:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
451cac:	75 68                	jne    0x451d16
451cae:	8b 40 0c             	mov    0xc(%eax),%eax
451cb1:	e8 46 4c fe ff       	call   0x4368fc
451cb6:	8b d8                	mov    %eax,%ebx
451cb8:	eb 03                	jmp    0x451cbd
451cba:	8b 5b 30             	mov    0x30(%ebx),%ebx
451cbd:	85 db                	test   %ebx,%ebx
451cbf:	74 0b                	je     0x451ccc
451cc1:	8b c3                	mov    %ebx,%eax
451cc3:	e8 44 ff ff ff       	call   0x451c0c
451cc8:	84 c0                	test   %al,%al
451cca:	74 ee                	je     0x451cba
451ccc:	85 db                	test   %ebx,%ebx
451cce:	0f 84 f8 00 00 00    	je     0x451dcc
451cd4:	8d 45 f8             	lea    -0x8(%ebp),%eax
451cd7:	50                   	push   %eax
451cd8:	8d 4d f4             	lea    -0xc(%ebp),%ecx
451cdb:	8d 55 f3             	lea    -0xd(%ebp),%edx
451cde:	8b c3                	mov    %ebx,%eax
451ce0:	e8 5f ff ff ff       	call   0x451c44
451ce5:	8d 4d cc             	lea    -0x34(%ebp),%ecx
451ce8:	33 d2                	xor    %edx,%edx
451cea:	33 c0                	xor    %eax,%eax
451cec:	e8 ff 49 fc ff       	call   0x4166f0
451cf1:	8d 55 cc             	lea    -0x34(%ebp),%edx
451cf4:	8d 4d e7             	lea    -0x19(%ebp),%ecx
451cf7:	8b c3                	mov    %ebx,%eax
451cf9:	e8 2e 7c fe ff       	call   0x43992c
451cfe:	0f b7 45 e7          	movzwl -0x19(%ebp),%eax
451d02:	66 89 45 e3          	mov    %ax,-0x1d(%ebp)
451d06:	0f b7 45 eb          	movzwl -0x15(%ebp),%eax
451d0a:	66 89 45 e5          	mov    %ax,-0x1b(%ebp)
451d0e:	8b 45 e3             	mov    -0x1d(%ebp),%eax
451d11:	89 45 ef             	mov    %eax,-0x11(%ebp)
451d14:	eb 59                	jmp    0x451d6f
451d16:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
451d1a:	55                   	push   %ebp
451d1b:	8b 86 90 02 00 00    	mov    0x290(%esi),%eax
451d21:	e8 a6 fe ff ff       	call   0x451bcc
451d26:	59                   	pop    %ecx
451d27:	89 45 f4             	mov    %eax,-0xc(%ebp)
451d2a:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
451d2e:	75 10                	jne    0x451d40
451d30:	55                   	push   %ebp
451d31:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
451d37:	e8 90 fe ff ff       	call   0x451bcc
451d3c:	59                   	pop    %ecx
451d3d:	89 45 f4             	mov    %eax,-0xc(%ebp)
451d40:	8d 4d cc             	lea    -0x34(%ebp),%ecx
451d43:	33 d2                	xor    %edx,%edx
451d45:	33 c0                	xor    %eax,%eax
451d47:	e8 a4 49 fc ff       	call   0x4166f0
451d4c:	8d 55 cc             	lea    -0x34(%ebp),%edx
451d4f:	8d 4d db             	lea    -0x25(%ebp),%ecx
451d52:	8b c6                	mov    %esi,%eax
451d54:	e8 d3 7b fe ff       	call   0x43992c
451d59:	0f b7 45 db          	movzwl -0x25(%ebp),%eax
451d5d:	66 89 45 d7          	mov    %ax,-0x29(%ebp)
451d61:	0f b7 45 df          	movzwl -0x21(%ebp),%eax
451d65:	66 89 45 d9          	mov    %ax,-0x27(%ebp)
451d69:	8b 45 d7             	mov    -0x29(%ebp),%eax
451d6c:	89 45 ef             	mov    %eax,-0x11(%ebp)
451d6f:	f6 86 70 02 00 00 08 	testb  $0x8,0x270(%esi)
451d76:	74 2c                	je     0x451da4
451d78:	80 7d f3 01          	cmpb   $0x1,-0xd(%ebp)
451d7c:	75 26                	jne    0x451da4
451d7e:	8b 4d ef             	mov    -0x11(%ebp),%ecx
451d81:	ba 0d 00 00 00       	mov    $0xd,%edx
451d86:	a1 80 15 47 00       	mov    0x471580,%eax
451d8b:	e8 20 4e 00 00       	call   0x456bb0
451d90:	8b 4d f4             	mov    -0xc(%ebp),%ecx
451d93:	ba 08 00 00 00       	mov    $0x8,%edx
451d98:	a1 80 15 47 00       	mov    0x471580,%eax
451d9d:	e8 0e 4e 00 00       	call   0x456bb0
451da2:	eb 28                	jmp    0x451dcc
451da4:	80 7d f3 01          	cmpb   $0x1,-0xd(%ebp)
451da8:	75 0f                	jne    0x451db9
451daa:	8b 55 f4             	mov    -0xc(%ebp),%edx
451dad:	a1 80 15 47 00       	mov    0x471580,%eax
451db2:	e8 71 4d 00 00       	call   0x456b28
451db7:	eb 13                	jmp    0x451dcc
451db9:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
451dbd:	75 0d                	jne    0x451dcc
451dbf:	8b 55 f8             	mov    -0x8(%ebp),%edx
451dc2:	a1 80 15 47 00       	mov    0x471580,%eax
451dc7:	e8 cc 4c 00 00       	call   0x456a98
451dcc:	33 c0                	xor    %eax,%eax
451dce:	5a                   	pop    %edx
451dcf:	59                   	pop    %ecx
451dd0:	59                   	pop    %ecx
451dd1:	64 89 10             	mov    %edx,%fs:(%eax)
451dd4:	68 e9 1d 45 00       	push   $0x451de9
451dd9:	8d 45 f8             	lea    -0x8(%ebp),%eax
451ddc:	e8 3f 29 fb ff       	call   0x404720
451de1:	c3                   	ret
451de2:	e9 a1 22 fb ff       	jmp    0x404088
451de7:	eb f0                	jmp    0x451dd9
451de9:	5e                   	pop    %esi
451dea:	5b                   	pop    %ebx
451deb:	8b e5                	mov    %ebp,%esp
451ded:	5d                   	pop    %ebp
451dee:	c3                   	ret
451def:	90                   	nop
451df0:	53                   	push   %ebx
451df1:	56                   	push   %esi
451df2:	57                   	push   %edi
451df3:	51                   	push   %ecx
451df4:	89 14 24             	mov    %edx,(%esp)
451df7:	8b f0                	mov    %eax,%esi
451df9:	f6 46 1c 02          	testb  $0x2,0x1c(%esi)
451dfd:	75 53                	jne    0x451e52
451dff:	80 be 72 02 00 00 00 	cmpb   $0x0,0x272(%esi)
451e06:	74 4a                	je     0x451e52
451e08:	8b 3c 24             	mov    (%esp),%edi
451e0b:	8b 7f 08             	mov    0x8(%edi),%edi
451e0e:	8b 46 74             	mov    0x74(%esi),%eax
451e11:	8d 57 18             	lea    0x18(%edi),%edx
451e14:	8b 48 14             	mov    0x14(%eax),%ecx
451e17:	85 c9                	test   %ecx,%ecx
451e19:	76 02                	jbe    0x451e1d
451e1b:	89 0a                	mov    %ecx,(%edx)
451e1d:	8b 48 10             	mov    0x10(%eax),%ecx
451e20:	85 c9                	test   %ecx,%ecx
451e22:	76 03                	jbe    0x451e27
451e24:	89 4a 04             	mov    %ecx,0x4(%edx)
451e27:	8d 57 20             	lea    0x20(%edi),%edx
451e2a:	8b 48 0c             	mov    0xc(%eax),%ecx
451e2d:	85 c9                	test   %ecx,%ecx
451e2f:	76 02                	jbe    0x451e33
451e31:	89 0a                	mov    %ecx,(%edx)
451e33:	8b 48 08             	mov    0x8(%eax),%ecx
451e36:	85 c9                	test   %ecx,%ecx
451e38:	76 03                	jbe    0x451e3d
451e3a:	89 4a 04             	mov    %ecx,0x4(%edx)
451e3d:	8d 47 20             	lea    0x20(%edi),%eax
451e40:	50                   	push   %eax
451e41:	8d 47 24             	lea    0x24(%edi),%eax
451e44:	50                   	push   %eax
451e45:	8d 4f 1c             	lea    0x1c(%edi),%ecx
451e48:	8d 57 18             	lea    0x18(%edi),%edx
451e4b:	8b c6                	mov    %esi,%eax
451e4d:	8b 18                	mov    (%eax),%ebx
451e4f:	ff 53 38             	call   *0x38(%ebx)
451e52:	8b 14 24             	mov    (%esp),%edx
451e55:	8b c6                	mov    %esi,%eax
451e57:	8b 08                	mov    (%eax),%ecx
451e59:	ff 51 f0             	call   *-0x10(%ecx)
451e5c:	5a                   	pop    %edx
451e5d:	5f                   	pop    %edi
451e5e:	5e                   	pop    %esi
451e5f:	5b                   	pop    %ebx
451e60:	c3                   	ret
451e61:	8d 40 00             	lea    0x0(%eax),%eax
451e64:	55                   	push   %ebp
451e65:	8b ec                	mov    %esp,%ebp
451e67:	53                   	push   %ebx
451e68:	56                   	push   %esi
451e69:	8b f2                	mov    %edx,%esi
451e6b:	8b d8                	mov    %eax,%ebx
451e6d:	8b 03                	mov    (%ebx),%eax
451e6f:	03 c1                	add    %ecx,%eax
451e71:	2b c6                	sub    %esi,%eax
451e73:	99                   	cltd
451e74:	33 c2                	xor    %edx,%eax
451e76:	2b c2                	sub    %edx,%eax
451e78:	8b 55 08             	mov    0x8(%ebp),%edx
451e7b:	8b 52 fc             	mov    -0x4(%edx),%edx
451e7e:	3b 82 4c 03 00 00    	cmp    0x34c(%edx),%eax
451e84:	7d 04                	jge    0x451e8a
451e86:	2b f1                	sub    %ecx,%esi
451e88:	89 33                	mov    %esi,(%ebx)
451e8a:	5e                   	pop    %esi
451e8b:	5b                   	pop    %ebx
451e8c:	5d                   	pop    %ebp
451e8d:	c3                   	ret
451e8e:	8b c0                	mov    %eax,%eax
451e90:	55                   	push   %ebp
451e91:	8b ec                	mov    %esp,%ebp
451e93:	83 c4 dc             	add    $0xffffffdc,%esp
451e96:	53                   	push   %ebx
451e97:	56                   	push   %esi
451e98:	8b da                	mov    %edx,%ebx
451e9a:	89 45 fc             	mov    %eax,-0x4(%ebp)
451e9d:	8b 55 fc             	mov    -0x4(%ebp),%edx
451ea0:	80 ba 48 03 00 00 00 	cmpb   $0x0,0x348(%edx)
451ea7:	0f 84 bf 00 00 00    	je     0x451f6c
451ead:	8b 55 fc             	mov    -0x4(%ebp),%edx
451eb0:	83 7a 30 00          	cmpl   $0x0,0x30(%edx)
451eb4:	74 0d                	je     0x451ec3
451eb6:	8b 55 fc             	mov    -0x4(%ebp),%edx
451eb9:	f6 42 1c 10          	testb  $0x10,0x1c(%edx)
451ebd:	0f 85 a9 00 00 00    	jne    0x451f6c
451ec3:	8b 43 08             	mov    0x8(%ebx),%eax
451ec6:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
451eca:	75 0a                	jne    0x451ed6
451ecc:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
451ed0:	0f 84 96 00 00 00    	je     0x451f6c
451ed6:	8b 73 08             	mov    0x8(%ebx),%esi
451ed9:	8b 46 10             	mov    0x10(%esi),%eax
451edc:	8b 55 fc             	mov    -0x4(%ebp),%edx
451edf:	3b 42 48             	cmp    0x48(%edx),%eax
451ee2:	0f 85 84 00 00 00    	jne    0x451f6c
451ee8:	8b 46 14             	mov    0x14(%esi),%eax
451eeb:	8b 55 fc             	mov    -0x4(%ebp),%edx
451eee:	3b 42 4c             	cmp    0x4c(%edx),%eax
451ef1:	75 79                	jne    0x451f6c
451ef3:	8b 73 08             	mov    0x8(%ebx),%esi
451ef6:	8b 45 fc             	mov    -0x4(%ebp),%eax
451ef9:	e8 76 d8 ff ff       	call   0x44f774
451efe:	8d 55 ec             	lea    -0x14(%ebp),%edx
451f01:	e8 b2 19 00 00       	call   0x4538b8
451f06:	55                   	push   %ebp
451f07:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f0a:	e8 65 d8 ff ff       	call   0x44f774
451f0f:	8d 55 dc             	lea    -0x24(%ebp),%edx
451f12:	e8 a1 19 00 00       	call   0x4538b8
451f17:	8b 4d dc             	mov    -0x24(%ebp),%ecx
451f1a:	8d 46 08             	lea    0x8(%esi),%eax
451f1d:	8b 55 ec             	mov    -0x14(%ebp),%edx
451f20:	e8 3f ff ff ff       	call   0x451e64
451f25:	59                   	pop    %ecx
451f26:	55                   	push   %ebp
451f27:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f2a:	e8 45 d8 ff ff       	call   0x44f774
451f2f:	8d 55 dc             	lea    -0x24(%ebp),%edx
451f32:	e8 81 19 00 00       	call   0x4538b8
451f37:	8b 4d e0             	mov    -0x20(%ebp),%ecx
451f3a:	8d 46 0c             	lea    0xc(%esi),%eax
451f3d:	8b 55 f0             	mov    -0x10(%ebp),%edx
451f40:	e8 1f ff ff ff       	call   0x451e64
451f45:	59                   	pop    %ecx
451f46:	55                   	push   %ebp
451f47:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f4a:	8b 48 48             	mov    0x48(%eax),%ecx
451f4d:	8d 46 08             	lea    0x8(%esi),%eax
451f50:	8b 55 f4             	mov    -0xc(%ebp),%edx
451f53:	e8 0c ff ff ff       	call   0x451e64
451f58:	59                   	pop    %ecx
451f59:	55                   	push   %ebp
451f5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f5d:	8b 48 4c             	mov    0x4c(%eax),%ecx
451f60:	8d 46 0c             	lea    0xc(%esi),%eax
451f63:	8b 55 f8             	mov    -0x8(%ebp),%edx
451f66:	e8 f9 fe ff ff       	call   0x451e64
451f6b:	59                   	pop    %ecx
451f6c:	8b d3                	mov    %ebx,%edx
451f6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
451f71:	e8 fe dc fe ff       	call   0x43fc74
451f76:	5e                   	pop    %esi
451f77:	5b                   	pop    %ebx
451f78:	8b e5                	mov    %ebp,%esp
451f7a:	5d                   	pop    %ebp
451f7b:	c3                   	ret
451f7c:	53                   	push   %ebx
451f7d:	56                   	push   %esi
451f7e:	8b f2                	mov    %edx,%esi
451f80:	8b d8                	mov    %eax,%ebx
451f82:	8b d6                	mov    %esi,%edx
451f84:	8b c3                	mov    %ebx,%eax
451f86:	e8 39 07 ff ff       	call   0x4426c4
451f8b:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
451f8f:	74 32                	je     0x451fc3
451f91:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
451f95:	74 2c                	je     0x451fc3
451f97:	83 bb 90 02 00 00 00 	cmpl   $0x0,0x290(%ebx)
451f9e:	74 23                	je     0x451fc3
451fa0:	8b 83 90 02 00 00    	mov    0x290(%ebx),%eax
451fa6:	8b 40 34             	mov    0x34(%eax),%eax
451fa9:	e8 ca f2 fd ff       	call   0x431278
451fae:	85 c0                	test   %eax,%eax
451fb0:	7e 11                	jle    0x451fc3
451fb2:	8b 5e 08             	mov    0x8(%esi),%ebx
451fb5:	6a 0f                	push   $0xf
451fb7:	a1 10 d5 46 00       	mov    0x46d510,%eax
451fbc:	8b 00                	mov    (%eax),%eax
451fbe:	ff d0                	call   *%eax
451fc0:	01 43 04             	add    %eax,0x4(%ebx)
451fc3:	5e                   	pop    %esi
451fc4:	5b                   	pop    %ebx
451fc5:	c3                   	ret
451fc6:	8b c0                	mov    %eax,%eax
451fc8:	53                   	push   %ebx
451fc9:	56                   	push   %esi
451fca:	8b d8                	mov    %eax,%ebx
451fcc:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
451fd0:	75 0e                	jne    0x451fe0
451fd2:	8b c3                	mov    %ebx,%eax
451fd4:	66 be b0 ff          	mov    $0xffb0,%si
451fd8:	e8 13 1b fb ff       	call   0x403af0
451fdd:	5e                   	pop    %esi
451fde:	5b                   	pop    %ebx
451fdf:	c3                   	ret
451fe0:	80 8b 58 03 00 00 20 	orb    $0x20,0x358(%ebx)
451fe7:	5e                   	pop    %esi
451fe8:	5b                   	pop    %ebx
451fe9:	c3                   	ret
451fea:	8b c0                	mov    %eax,%eax
451fec:	53                   	push   %ebx
451fed:	56                   	push   %esi
451fee:	8b d8                	mov    %eax,%ebx
451ff0:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
451ff4:	75 0e                	jne    0x452004
451ff6:	8b c3                	mov    %ebx,%eax
451ff8:	66 be ae ff          	mov    $0xffae,%si
451ffc:	e8 ef 1a fb ff       	call   0x403af0
452001:	5e                   	pop    %esi
452002:	5b                   	pop    %ebx
452003:	c3                   	ret
452004:	80 a3 58 03 00 00 df 	andb   $0xdf,0x358(%ebx)
45200b:	5e                   	pop    %esi
45200c:	5b                   	pop    %ebx
45200d:	c3                   	ret
45200e:	8b c0                	mov    %eax,%eax
452010:	53                   	push   %ebx
452011:	56                   	push   %esi
452012:	8b f2                	mov    %edx,%esi
452014:	8b d8                	mov    %eax,%ebx
452016:	6a 12                	push   $0x12
452018:	e8 d3 4e fb ff       	call   0x406ef0
45201d:	66 85 c0             	test   %ax,%ax
452020:	7c 7c                	jl     0x45209e
452022:	0f b7 46 04          	movzwl 0x4(%esi),%eax
452026:	66 83 e8 09          	sub    $0x9,%ax
45202a:	74 0b                	je     0x452037
45202c:	83 c0 e4             	add    $0xffffffe4,%eax
45202f:	66 83 e8 04          	sub    $0x4,%ax
452033:	72 34                	jb     0x452069
452035:	eb 67                	jmp    0x45209e
452037:	6a 11                	push   $0x11
452039:	e8 b2 4e fb ff       	call   0x406ef0
45203e:	66 85 c0             	test   %ax,%ax
452041:	7c 5b                	jl     0x45209e