451c06:	e9 a1 31 ff ff       	jmp    0x444dac
451c0b:	85 c9                	test   %ecx,%ecx
451c0d:	74 07                	je     0x451c16
451c0f:	8b 01                	mov    (%ecx),%eax
451c11:	6a 01                	push   $0x1
451c13:	ff 50 04             	call   *0x4(%eax)
451c16:	c3                   	ret
451c17:	56                   	push   %esi
451c18:	33 f6                	xor    %esi,%esi
451c1a:	39 74 24 0c          	cmp    %esi,0xc(%esp)
451c1e:	57                   	push   %edi
451c1f:	8b f9                	mov    %ecx,%edi
451c21:	74 4b                	je     0x451c6e
451c23:	e8 38 f0 fe ff       	call   0x440c60
451c28:	50                   	push   %eax
451c29:	56                   	push   %esi
451c2a:	56                   	push   %esi
451c2b:	8b 74 24 18          	mov    0x18(%esp),%esi
451c2f:	56                   	push   %esi
451c30:	ff 15 08 07 4b 00    	call   *0x4b0708
451c36:	8b cf                	mov    %edi,%ecx
451c38:	e8 09 f0 fe ff       	call   0x440c46
451c3d:	a9 00 00 20 00       	test   $0x200000,%eax
451c42:	b9 00 00 80 00       	mov    $0x800000,%ecx
451c47:	74 0e                	je     0x451c57
451c49:	85 c1                	test   %eax,%ecx
451c4b:	8b 15 d8 c3 4a 00    	mov    0x4ac3d8,%edx
451c51:	74 01                	je     0x451c54
451c53:	4a                   	dec    %edx
451c54:	01 56 08             	add    %edx,0x8(%esi)
451c57:	a9 00 00 10 00       	test   $0x100000,%eax
451c5c:	74 1a                	je     0x451c78
451c5e:	85 c1                	test   %eax,%ecx
451c60:	8b 15 dc c3 4a 00    	mov    0x4ac3dc,%edx
451c66:	74 01                	je     0x451c69
451c68:	4a                   	dec    %edx
451c69:	01 56 0c             	add    %edx,0xc(%esi)
451c6c:	eb 0a                	jmp    0x451c78
451c6e:	56                   	push   %esi
451c6f:	ff 74 24 10          	push   0x10(%esp)
451c73:	e8 74 19 ff ff       	call   0x4435ec
451c78:	5f                   	pop    %edi
451c79:	5e                   	pop    %esi
451c7a:	c2 08 00             	ret    $0x8
451c7d:	b8 81 42 48 00       	mov    $0x484281,%eax
451c82:	e8 f5 5f fc ff       	call   0x417c7c
451c87:	83 ec 58             	sub    $0x58,%esp
451c8a:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
451c8f:	56                   	push   %esi
451c90:	8b f1                	mov    %ecx,%esi
451c92:	89 45 f0             	mov    %eax,-0x10(%ebp)
451c95:	56                   	push   %esi
451c96:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
451c99:	e8 9a d8 ff ff       	call   0x44f538
451c9e:	8b 06                	mov    (%esi),%eax
451ca0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
451ca4:	6a 00                	push   $0x0
451ca6:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
451ca9:	51                   	push   %ecx
451caa:	8b ce                	mov    %esi,%ecx
451cac:	ff 90 54 01 00 00    	call   *0x154(%eax)
451cb2:	8b 06                	mov    (%esi),%eax
451cb4:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
451cb7:	51                   	push   %ecx
451cb8:	8b ce                	mov    %esi,%ecx
451cba:	ff 90 68 01 00 00    	call   *0x168(%eax)
451cc0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
451cc4:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
451cc7:	e8 c7 d8 ff ff       	call   0x44f593
451ccc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
451ccf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
451cd6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
451cd9:	5e                   	pop    %esi
451cda:	e8 ff 5e fc ff       	call   0x417bde
451cdf:	c9                   	leave
451ce0:	c3                   	ret
451ce1:	8b 11                	mov    (%ecx),%edx
451ce3:	33 c0                	xor    %eax,%eax
451ce5:	50                   	push   %eax
451ce6:	50                   	push   %eax
451ce7:	50                   	push   %eax
451ce8:	ff 92 64 01 00 00    	call   *0x164(%edx)
451cee:	c3                   	ret
451cef:	ff 74 24 04          	push   0x4(%esp)
451cf3:	8b 01                	mov    (%ecx),%eax
451cf5:	ff 90 68 01 00 00    	call   *0x168(%eax)
451cfb:	c2 08 00             	ret    $0x8
451cfe:	c2 04 00             	ret    $0x4
451d01:	33 c0                	xor    %eax,%eax
451d03:	c2 04 00             	ret    $0x4
451d06:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
451d0b:	56                   	push   %esi
451d0c:	8b f1                	mov    %ecx,%esi
451d0e:	74 10                	je     0x451d20
451d10:	e8 20 42 ff ff       	call   0x445f35
451d15:	85 c0                	test   %eax,%eax
451d17:	74 07                	je     0x451d20
451d19:	8b ce                	mov    %esi,%ecx
451d1b:	e8 a8 f0 fe ff       	call   0x440dc8
451d20:	5e                   	pop    %esi
451d21:	c2 0c 00             	ret    $0xc
451d24:	c2 08 00             	ret    $0x8
451d27:	33 c0                	xor    %eax,%eax
451d29:	c2 0c 00             	ret    $0xc
451d2c:	33 c0                	xor    %eax,%eax
451d2e:	c2 0c 00             	ret    $0xc
451d31:	b8 00 00 00 80       	mov    $0x80000000,%eax
451d36:	c2 0c 00             	ret    $0xc
451d39:	33 c0                	xor    %eax,%eax
451d3b:	c2 10 00             	ret    $0x10
451d3e:	33 c0                	xor    %eax,%eax
451d40:	c2 10 00             	ret    $0x10
451d43:	33 c0                	xor    %eax,%eax
451d45:	c2 10 00             	ret    $0x10
451d48:	83 c8 ff             	or     $0xffffffff,%eax
451d4b:	c2 14 00             	ret    $0x14
451d4e:	c3                   	ret
451d4f:	33 c0                	xor    %eax,%eax
451d51:	40                   	inc    %eax
451d52:	c2 04 00             	ret    $0x4
451d55:	c2 08 00             	ret    $0x8
451d58:	c2 08 00             	ret    $0x8
451d5b:	b8 a0 0b 49 00       	mov    $0x490ba0,%eax
451d60:	c3                   	ret
451d61:	c2 04 00             	ret    $0x4
451d64:	e9 96 2e ff ff       	jmp    0x444bff
451d69:	b8 93 42 48 00       	mov    $0x484293,%eax
451d6e:	e8 09 5f fc ff       	call   0x417c7c
451d73:	51                   	push   %ecx
451d74:	56                   	push   %esi
451d75:	8b f1                	mov    %ecx,%esi
451d77:	89 75 f0             	mov    %esi,-0x10(%ebp)
451d7a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
451d7e:	e8 53 bb 01 00       	call   0x46d8d6
451d83:	39 b0 e4 00 00 00    	cmp    %esi,0xe4(%eax)
451d89:	75 2b                	jne    0x451db6
451d8b:	57                   	push   %edi
451d8c:	8b 88 e8 00 00 00    	mov    0xe8(%eax),%ecx
451d92:	8b 51 04             	mov    0x4(%ecx),%edx
451d95:	8b 39                	mov    (%ecx),%edi
451d97:	89 ba e4 00 00 00    	mov    %edi,0xe4(%edx)
451d9d:	8b 51 04             	mov    0x4(%ecx),%edx
451da0:	8b 79 08             	mov    0x8(%ecx),%edi
451da3:	89 ba e8 00 00 00    	mov    %edi,0xe8(%edx)
451da9:	83 61 04 00          	andl   $0x0,0x4(%ecx)
451dad:	39 b0 e4 00 00 00    	cmp    %esi,0xe4(%eax)
451db3:	74 d7                	je     0x451d8c
451db5:	5f                   	pop    %edi
451db6:	8b 4e 50             	mov    0x50(%esi),%ecx
451db9:	85 c9                	test   %ecx,%ecx
451dbb:	74 06                	je     0x451dc3
451dbd:	56                   	push   %esi
451dbe:	e8 1b 05 00 00       	call   0x4522de
451dc3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
451dc7:	8b ce                	mov    %esi,%ecx
451dc9:	e8 34 38 ff ff       	call   0x445602
451dce:	8b 4d f4             	mov    -0xc(%ebp),%ecx
451dd1:	5e                   	pop    %esi
451dd2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
451dd9:	c9                   	leave
451dda:	c3                   	ret
451ddb:	56                   	push   %esi
451ddc:	8b f1                	mov    %ecx,%esi
451dde:	e8 1c 2e ff ff       	call   0x444bff
451de3:	83 f8 ff             	cmp    $0xffffffff,%eax
451de6:	75 04                	jne    0x451dec
451de8:	0b c0                	or     %eax,%eax
451dea:	eb 1b                	jmp    0x451e07
451dec:	8b 44 24 08          	mov    0x8(%esp),%eax
451df0:	8b 00                	mov    (%eax),%eax
451df2:	85 c0                	test   %eax,%eax
451df4:	74 0f                	je     0x451e05
451df6:	8b 40 04             	mov    0x4(%eax),%eax
451df9:	85 c0                	test   %eax,%eax
451dfb:	74 08                	je     0x451e05
451dfd:	56                   	push   %esi
451dfe:	8b c8                	mov    %eax,%ecx
451e00:	e8 b9 04 00 00       	call   0x4522be
451e05:	33 c0                	xor    %eax,%eax
451e07:	5e                   	pop    %esi
451e08:	c2 04 00             	ret    $0x4
451e0b:	b8 a5 42 48 00       	mov    $0x4842a5,%eax
451e10:	e8 67 5e fc ff       	call   0x417c7c
451e15:	83 ec 0c             	sub    $0xc,%esp
451e18:	56                   	push   %esi
451e19:	ff 75 14             	push   0x14(%ebp)
451e1c:	8b f1                	mov    %ecx,%esi
451e1e:	ff 75 10             	push   0x10(%ebp)
451e21:	ff 75 0c             	push   0xc(%ebp)
451e24:	ff 75 08             	push   0x8(%ebp)
451e27:	e8 15 04 ff ff       	call   0x442241
451e2c:	85 c0                	test   %eax,%eax
451e2e:	74 05                	je     0x451e35
451e30:	33 c0                	xor    %eax,%eax
451e32:	40                   	inc    %eax
451e33:	eb 37                	jmp    0x451e6c
451e35:	83 7e 50 00          	cmpl   $0x0,0x50(%esi)
451e39:	74 2f                	je     0x451e6a
451e3b:	56                   	push   %esi
451e3c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
451e3f:	e8 f3 42 fc ff       	call   0x416137
451e44:	ff 75 14             	push   0x14(%ebp)
451e47:	8b 4e 50             	mov    0x50(%esi),%ecx
451e4a:	ff 75 10             	push   0x10(%ebp)
451e4d:	8b 01                	mov    (%ecx),%eax
451e4f:	ff 75 0c             	push   0xc(%ebp)
451e52:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
451e56:	ff 75 08             	push   0x8(%ebp)
451e59:	ff 50 0c             	call   *0xc(%eax)
451e5c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
451e5f:	8b f0                	mov    %eax,%esi
451e61:	e8 03 43 fc ff       	call   0x416169
451e66:	8b c6                	mov    %esi,%eax
451e68:	eb 02                	jmp    0x451e6c
451e6a:	33 c0                	xor    %eax,%eax
451e6c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
451e6f:	5e                   	pop    %esi
451e70:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
451e77:	c9                   	leave
451e78:	c2 10 00             	ret    $0x10
451e7b:	6a 01                	push   $0x1
451e7d:	6a 00                	push   $0x0
451e7f:	ff 71 1c             	push   0x1c(%ecx)
451e82:	ff 15 14 06 4b 00    	call   *0x4b0614
451e88:	c2 0c 00             	ret    $0xc
451e8b:	55                   	push   %ebp
451e8c:	56                   	push   %esi
451e8d:	8b f1                	mov    %ecx,%esi
451e8f:	e8 6b 2d ff ff       	call   0x444bff
451e94:	8b e8                	mov    %eax,%ebp
451e96:	83 fd 03             	cmp    $0x3,%ebp
451e99:	74 56                	je     0x451ef1
451e9b:	83 fd 04             	cmp    $0x4,%ebp
451e9e:	74 51                	je     0x451ef1
451ea0:	53                   	push   %ebx
451ea1:	8b ce                	mov    %esi,%ecx
451ea3:	e8 a4 38 ff ff       	call   0x44574c
451ea8:	8b d8                	mov    %eax,%ebx
451eaa:	85 db                	test   %ebx,%ebx
451eac:	74 42                	je     0x451ef0
451eae:	57                   	push   %edi
451eaf:	8b cb                	mov    %ebx,%ecx
451eb1:	e8 c6 e8 00 00       	call   0x46077c
451eb6:	8b f8                	mov    %eax,%edi
451eb8:	ff 15 d4 07 4b 00    	call   *0x4b07d4
451ebe:	3b fe                	cmp    %esi,%edi
451ec0:	5f                   	pop    %edi
451ec1:	75 23                	jne    0x451ee6
451ec3:	8b 4e 1c             	mov    0x1c(%esi),%ecx
451ec6:	3b c8                	cmp    %eax,%ecx
451ec8:	74 1c                	je     0x451ee6
451eca:	50                   	push   %eax
451ecb:	51                   	push   %ecx
451ecc:	ff 15 b4 06 4b 00    	call   *0x4b06b4
451ed2:	85 c0                	test   %eax,%eax
451ed4:	75 10                	jne    0x451ee6
451ed6:	8b 06                	mov    (%esi),%eax
451ed8:	56                   	push   %esi
451ed9:	56                   	push   %esi
451eda:	6a 01                	push   $0x1
451edc:	8b ce                	mov    %esi,%ecx
451ede:	ff 90 5c 01 00 00    	call   *0x15c(%eax)
451ee4:	eb 0a                	jmp    0x451ef0
451ee6:	6a 01                	push   $0x1
451ee8:	56                   	push   %esi
451ee9:	8b cb                	mov    %ebx,%ecx
451eeb:	e8 93 e8 00 00       	call   0x460783
451ef0:	5b                   	pop    %ebx
451ef1:	5e                   	pop    %esi
451ef2:	8b c5                	mov    %ebp,%eax
451ef4:	5d                   	pop    %ebp
451ef5:	c2 0c 00             	ret    $0xc
451ef8:	53                   	push   %ebx
451ef9:	56                   	push   %esi
451efa:	8b 35 d8 07 4b 00    	mov    0x4b07d8,%esi
451f00:	57                   	push   %edi
451f01:	8b 7c 24 10          	mov    0x10(%esp),%edi
451f05:	ff 77 1c             	push   0x1c(%edi)
451f08:	ff d6                	call   *%esi
451f0a:	50                   	push   %eax
451f0b:	e8 92 2d ff ff       	call   0x444ca2
451f10:	8b d8                	mov    %eax,%ebx
451f12:	68 74 0b 49 00       	push   $0x490b74
451f17:	8b cb                	mov    %ebx,%ecx
451f19:	e8 e0 ea fe ff       	call   0x4409fe
451f1e:	85 c0                	test   %eax,%eax
451f20:	74 2f                	je     0x451f51
451f22:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
451f27:	74 15                	je     0x451f3e
451f29:	8b c3                	mov    %ebx,%eax
451f2b:	5f                   	pop    %edi
451f2c:	5e                   	pop    %esi
451f2d:	5b                   	pop    %ebx
451f2e:	c2 08 00             	ret    $0x8
451f31:	ff 77 1c             	push   0x1c(%edi)
451f34:	ff 15 90 08 4b 00    	call   *0x4b0890
451f3a:	85 c0                	test   %eax,%eax
451f3c:	75 13                	jne    0x451f51
451f3e:	ff 77 1c             	push   0x1c(%edi)
451f41:	ff d6                	call   *%esi
451f43:	50                   	push   %eax
451f44:	e8 59 2d ff ff       	call   0x444ca2
451f49:	8b f8                	mov    %eax,%edi
451f4b:	85 ff                	test   %edi,%edi
451f4d:	75 e2                	jne    0x451f31
451f4f:	eb d8                	jmp    0x451f29
451f51:	33 c0                	xor    %eax,%eax
451f53:	eb d6                	jmp    0x451f2b
451f55:	56                   	push   %esi
451f56:	8b f1                	mov    %ecx,%esi
451f58:	e8 e9 ec fe ff       	call   0x440c46
451f5d:	8b 54 24 08          	mov    0x8(%esp),%edx
451f61:	f7 da                	neg    %edx
451f63:	1b d2                	sbb    %edx,%edx
451f65:	b9 00 00 10 00       	mov    $0x100000,%ecx
451f6a:	23 d1                	and    %ecx,%edx
451f6c:	03 d1                	add    %ecx,%edx
451f6e:	85 c2                	test   %eax,%edx
451f70:	74 04                	je     0x451f76
451f72:	33 c0                	xor    %eax,%eax
451f74:	eb 54                	jmp    0x451fca
451f76:	57                   	push   %edi
451f77:	6a 01                	push   $0x1
451f79:	56                   	push   %esi
451f7a:	e8 79 ff ff ff       	call   0x451ef8
451f7f:	8b f8                	mov    %eax,%edi
451f81:	85 ff                	test   %edi,%edi
451f83:	74 42                	je     0x451fc7
451f85:	ff 76 1c             	push   0x1c(%esi)
451f88:	ff 15 0c 08 4b 00    	call   *0x4b080c
451f8e:	0f b7 c0             	movzwl %ax,%eax
451f91:	3d 00 e9 00 00       	cmp    $0xe900,%eax
451f96:	72 2f                	jb     0x451fc7
451f98:	3d ff e9 00 00       	cmp    $0xe9ff,%eax
451f9d:	77 28                	ja     0x451fc7
451f9f:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
451fa4:	75 0a                	jne    0x451fb0
451fa6:	83 e0 0f             	and    $0xf,%eax
451fa9:	05 00 ea 00 00       	add    $0xea00,%eax
451fae:	eb 0d                	jmp    0x451fbd
451fb0:	05 00 17 ff ff       	add    $0xffff1700,%eax
451fb5:	c1 e8 04             	shr    $0x4,%eax
451fb8:	05 10 ea 00 00       	add    $0xea10,%eax
451fbd:	50                   	push   %eax
451fbe:	8b cf                	mov    %edi,%ecx
451fc0:	e8 17 eb fe ff       	call   0x440adc
451fc5:	eb 02                	jmp    0x451fc9
451fc7:	33 c0                	xor    %eax,%eax
451fc9:	5f                   	pop    %edi
451fca:	5e                   	pop    %esi