4a7d37:	52                   	push   %edx
4a7d38:	6a 00                	push   $0x0
4a7d3a:	6a 00                	push   $0x0
4a7d3c:	ff 15 d0 30 4b 00    	call   *0x4b30d0
4a7d42:	8b 54 24 0c          	mov    0xc(%esp),%edx
4a7d46:	33 c9                	xor    %ecx,%ecx
4a7d48:	85 c0                	test   %eax,%eax
4a7d4a:	0f 95 c1             	setne  %cl
4a7d4d:	83 ff 03             	cmp    $0x3,%edi
4a7d50:	89 0a                	mov    %ecx,(%edx)
4a7d52:	7c 0f                	jl     0x4a7d63
4a7d54:	8b 4e 20             	mov    0x20(%esi),%ecx
4a7d57:	85 c9                	test   %ecx,%ecx
4a7d59:	74 08                	je     0x4a7d63
4a7d5b:	8b 4e 18             	mov    0x18(%esi),%ecx
4a7d5e:	5f                   	pop    %edi
4a7d5f:	5e                   	pop    %esi
4a7d60:	89 01                	mov    %eax,(%ecx)
4a7d62:	c3                   	ret
4a7d63:	50                   	push   %eax
4a7d64:	ff 15 80 31 4b 00    	call   *0x4b3180
4a7d6a:	5f                   	pop    %edi
4a7d6b:	5e                   	pop    %esi
4a7d6c:	c3                   	ret
4a7d6d:	90                   	nop
4a7d6e:	90                   	nop
4a7d6f:	90                   	nop
4a7d70:	8b 44 24 0c          	mov    0xc(%esp),%eax
4a7d74:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4a7d78:	8b 54 24 04          	mov    0x4(%esp),%edx
4a7d7c:	50                   	push   %eax
4a7d7d:	51                   	push   %ecx
4a7d7e:	52                   	push   %edx
4a7d7f:	e8 0c 00 00 00       	call   0x4a7d90
4a7d84:	c2 0c 00             	ret    $0xc
4a7d87:	90                   	nop
4a7d88:	90                   	nop
4a7d89:	90                   	nop
4a7d8a:	90                   	nop
4a7d8b:	90                   	nop
4a7d8c:	90                   	nop
4a7d8d:	90                   	nop
4a7d8e:	90                   	nop
4a7d8f:	90                   	nop
4a7d90:	8b 44 24 04          	mov    0x4(%esp),%eax
4a7d94:	56                   	push   %esi
4a7d95:	33 f6                	xor    %esi,%esi
4a7d97:	48                   	dec    %eax
4a7d98:	74 17                	je     0x4a7db1
4a7d9a:	83 e8 05             	sub    $0x5,%eax
4a7d9d:	74 07                	je     0x4a7da6
4a7d9f:	83 c8 ff             	or     $0xffffffff,%eax
4a7da2:	5e                   	pop    %esi
4a7da3:	c2 0c 00             	ret    $0xc
4a7da6:	e8 15 00 00 00       	call   0x4a7dc0
4a7dab:	8b c6                	mov    %esi,%eax
4a7dad:	5e                   	pop    %esi
4a7dae:	c2 0c 00             	ret    $0xc
4a7db1:	8b 44 24 0c          	mov    0xc(%esp),%eax
4a7db5:	a3 7c c9 51 00       	mov    %eax,0x51c97c
4a7dba:	8b c6                	mov    %esi,%eax
4a7dbc:	5e                   	pop    %esi
4a7dbd:	c2 0c 00             	ret    $0xc
4a7dc0:	56                   	push   %esi
4a7dc1:	8b 35 78 c9 51 00    	mov    0x51c978,%esi
4a7dc7:	85 f6                	test   %esi,%esi
4a7dc9:	74 25                	je     0x4a7df0
4a7dcb:	57                   	push   %edi
4a7dcc:	8b 3d 70 31 4b 00    	mov    0x4b3170,%edi
4a7dd2:	56                   	push   %esi
4a7dd3:	ff d7                	call   *%edi
4a7dd5:	8b c6                	mov    %esi,%eax
4a7dd7:	8b 76 18             	mov    0x18(%esi),%esi
4a7dda:	50                   	push   %eax
4a7ddb:	e8 ed 06 00 00       	call   0x4a84cd
4a7de0:	83 c4 04             	add    $0x4,%esp
4a7de3:	85 f6                	test   %esi,%esi
4a7de5:	75 eb                	jne    0x4a7dd2
4a7de7:	89 35 78 c9 51 00    	mov    %esi,0x51c978
4a7ded:	5f                   	pop    %edi
4a7dee:	5e                   	pop    %esi
4a7def:	c3                   	ret
4a7df0:	c7 05 78 c9 51 00 00 	movl   $0x0,0x51c978
4a7df7:	00 00 00
4a7dfa:	5e                   	pop    %esi
4a7dfb:	c3                   	ret
4a7dfc:	90                   	nop
4a7dfd:	90                   	nop
4a7dfe:	90                   	nop
4a7dff:	90                   	nop
4a7e00:	55                   	push   %ebp
4a7e01:	8b ec                	mov    %esp,%ebp
4a7e03:	6a ff                	push   $0xffffffff
4a7e05:	68 c0 35 4b 00       	push   $0x4b35c0
4a7e0a:	68 80 97 4a 00       	push   $0x4a9780
4a7e0f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4a7e15:	50                   	push   %eax
4a7e16:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4a7e1d:	83 ec 58             	sub    $0x58,%esp
4a7e20:	53                   	push   %ebx
4a7e21:	56                   	push   %esi
4a7e22:	57                   	push   %edi
4a7e23:	89 65 e8             	mov    %esp,-0x18(%ebp)
4a7e26:	ff 15 64 31 4b 00    	call   *0x4b3164
4a7e2c:	33 d2                	xor    %edx,%edx
4a7e2e:	8a d4                	mov    %ah,%dl
4a7e30:	89 15 a4 c9 51 00    	mov    %edx,0x51c9a4
4a7e36:	8b c8                	mov    %eax,%ecx
4a7e38:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4a7e3e:	89 0d a0 c9 51 00    	mov    %ecx,0x51c9a0
4a7e44:	c1 e1 08             	shl    $0x8,%ecx
4a7e47:	03 ca                	add    %edx,%ecx
4a7e49:	89 0d 9c c9 51 00    	mov    %ecx,0x51c99c
4a7e4f:	c1 e8 10             	shr    $0x10,%eax
4a7e52:	a3 98 c9 51 00       	mov    %eax,0x51c998
4a7e57:	6a 01                	push   $0x1
4a7e59:	e8 21 25 00 00       	call   0x4aa37f
4a7e5e:	59                   	pop    %ecx
4a7e5f:	85 c0                	test   %eax,%eax
4a7e61:	75 08                	jne    0x4a7e6b
4a7e63:	6a 1c                	push   $0x1c
4a7e65:	e8 c3 00 00 00       	call   0x4a7f2d
4a7e6a:	59                   	pop    %ecx
4a7e6b:	e8 cc 22 00 00       	call   0x4aa13c
4a7e70:	85 c0                	test   %eax,%eax
4a7e72:	75 08                	jne    0x4a7e7c
4a7e74:	6a 10                	push   $0x10
4a7e76:	e8 b2 00 00 00       	call   0x4a7f2d
4a7e7b:	59                   	pop    %ecx
4a7e7c:	33 f6                	xor    %esi,%esi
4a7e7e:	89 75 fc             	mov    %esi,-0x4(%ebp)
4a7e81:	e8 fa 20 00 00       	call   0x4a9f80
4a7e86:	ff 15 c4 30 4b 00    	call   *0x4b30c4
4a7e8c:	a3 94 e0 51 00       	mov    %eax,0x51e094
4a7e91:	e8 b8 1f 00 00       	call   0x4a9e4e
4a7e96:	a3 80 c9 51 00       	mov    %eax,0x51c980
4a7e9b:	e8 61 1d 00 00       	call   0x4a9c01
4a7ea0:	e8 a3 1c 00 00       	call   0x4a9b48
4a7ea5:	e8 ae 19 00 00       	call   0x4a9858
4a7eaa:	89 75 d0             	mov    %esi,-0x30(%ebp)
4a7ead:	8d 45 a4             	lea    -0x5c(%ebp),%eax
4a7eb0:	50                   	push   %eax
4a7eb1:	ff 15 b0 30 4b 00    	call   *0x4b30b0
4a7eb7:	e8 34 1c 00 00       	call   0x4a9af0
4a7ebc:	89 45 9c             	mov    %eax,-0x64(%ebp)
4a7ebf:	f6 45 d0 01          	testb  $0x1,-0x30(%ebp)
4a7ec3:	74 06                	je     0x4a7ecb
4a7ec5:	0f b7 45 d4          	movzwl -0x2c(%ebp),%eax
4a7ec9:	eb 03                	jmp    0x4a7ece
4a7ecb:	6a 0a                	push   $0xa
4a7ecd:	58                   	pop    %eax
4a7ece:	50                   	push   %eax
4a7ecf:	ff 75 9c             	push   -0x64(%ebp)
4a7ed2:	56                   	push   %esi
4a7ed3:	56                   	push   %esi
4a7ed4:	ff 15 80 30 4b 00    	call   *0x4b3080
4a7eda:	50                   	push   %eax
4a7edb:	e8 20 91 f5 ff       	call   0x401000
4a7ee0:	89 45 a0             	mov    %eax,-0x60(%ebp)
4a7ee3:	50                   	push   %eax
4a7ee4:	e8 9c 19 00 00       	call   0x4a9885
4a7ee9:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a7eec:	8b 08                	mov    (%eax),%ecx
4a7eee:	8b 09                	mov    (%ecx),%ecx
4a7ef0:	89 4d 98             	mov    %ecx,-0x68(%ebp)
4a7ef3:	50                   	push   %eax
4a7ef4:	51                   	push   %ecx
4a7ef5:	e8 7e 1a 00 00       	call   0x4a9978
4a7efa:	59                   	pop    %ecx
4a7efb:	59                   	pop    %ecx
4a7efc:	c3                   	ret
4a7efd:	8b 65 e8             	mov    -0x18(%ebp),%esp
4a7f00:	ff 75 98             	push   -0x68(%ebp)
4a7f03:	e8 8e 19 00 00       	call   0x4a9896
4a7f08:	83 3d 88 c9 51 00 01 	cmpl   $0x1,0x51c988
4a7f0f:	75 05                	jne    0x4a7f16
4a7f11:	e8 c6 24 00 00       	call   0x4aa3dc
4a7f16:	ff 74 24 04          	push   0x4(%esp)
4a7f1a:	e8 f6 24 00 00       	call   0x4aa415
4a7f1f:	68 ff 00 00 00       	push   $0xff
4a7f24:	ff 15 c4 a1 50 00    	call   *0x50a1c4
4a7f2a:	59                   	pop    %ecx
4a7f2b:	59                   	pop    %ecx
4a7f2c:	c3                   	ret
4a7f2d:	83 3d 88 c9 51 00 01 	cmpl   $0x1,0x51c988
4a7f34:	75 05                	jne    0x4a7f3b
4a7f36:	e8 a1 24 00 00       	call   0x4aa3dc
4a7f3b:	ff 74 24 04          	push   0x4(%esp)
4a7f3f:	e8 d1 24 00 00       	call   0x4aa415
4a7f44:	59                   	pop    %ecx
4a7f45:	68 ff 00 00 00       	push   $0xff
4a7f4a:	ff 15 84 30 4b 00    	call   *0x4b3084
4a7f50:	c3                   	ret
4a7f51:	55                   	push   %ebp
4a7f52:	8b ec                	mov    %esp,%ebp
4a7f54:	51                   	push   %ecx
4a7f55:	51                   	push   %ecx
4a7f56:	53                   	push   %ebx
4a7f57:	56                   	push   %esi
4a7f58:	57                   	push   %edi
4a7f59:	6a 00                	push   $0x0
4a7f5b:	6a 00                	push   $0x0
4a7f5d:	e8 e4 2e 00 00       	call   0x4aae46
4a7f62:	be ff ff 00 00       	mov    $0xffff,%esi
4a7f67:	8b d8                	mov    %eax,%ebx
4a7f69:	56                   	push   %esi
4a7f6a:	ff 35 cc a1 50 00    	push   0x50a1cc
4a7f70:	e8 d1 2e 00 00       	call   0x4aae46
4a7f75:	8b 45 0e             	mov    0xe(%ebp),%eax
4a7f78:	83 c4 10             	add    $0x10,%esp
4a7f7b:	66 25 f0 7f          	and    $0x7ff0,%ax
4a7f7f:	66 3d f0 7f          	cmp    $0x7ff0,%ax
4a7f83:	0f 85 9d 00 00 00    	jne    0x4a8026
4a7f89:	dd 05 88 a4 50 00    	fldl   0x50a488
4a7f8f:	8b 7d 10             	mov    0x10(%ebp),%edi
4a7f92:	51                   	push   %ecx
4a7f93:	51                   	push   %ecx
4a7f94:	dd 1f                	fstpl  (%edi)
4a7f96:	dd 45 08             	fldl   0x8(%ebp)
4a7f99:	dd 1c 24             	fstpl  (%esp)
4a7f9c:	e8 6d 2d 00 00       	call   0x4aad0e
4a7fa1:	59                   	pop    %ecx
4a7fa2:	85 c0                	test   %eax,%eax
4a7fa4:	59                   	pop    %ecx
4a7fa5:	7e 4f                	jle    0x4a7ff6
4a7fa7:	83 f8 02             	cmp    $0x2,%eax
4a7faa:	7e 22                	jle    0x4a7fce
4a7fac:	83 f8 03             	cmp    $0x3,%eax
4a7faf:	75 45                	jne    0x4a7ff6
4a7fb1:	dd 45 08             	fldl   0x8(%ebp)
4a7fb4:	53                   	push   %ebx
4a7fb5:	51                   	push   %ecx
4a7fb6:	dd 1f                	fstpl  (%edi)
4a7fb8:	dd 45 08             	fldl   0x8(%ebp)
4a7fbb:	51                   	push   %ecx
4a7fbc:	dd 1c 24             	fstpl  (%esp)
4a7fbf:	6a 1c                	push   $0x1c
4a7fc1:	e8 b4 25 00 00       	call   0x4aa57a
4a7fc6:	83 c4 10             	add    $0x10,%esp
4a7fc9:	e9 9f 00 00 00       	jmp    0x4a806d
4a7fce:	dd 45 08             	fldl   0x8(%ebp)
4a7fd1:	51                   	push   %ecx
4a7fd2:	51                   	push   %ecx
4a7fd3:	dd 1f                	fstpl  (%edi)
4a7fd5:	dd 45 08             	fldl   0x8(%ebp)
4a7fd8:	dd 1c 24             	fstpl  (%esp)
4a7fdb:	51                   	push   %ecx
4a7fdc:	51                   	push   %ecx
4a7fdd:	d9 ee                	fldz
4a7fdf:	dd 1c 24             	fstpl  (%esp)
4a7fe2:	e8 4b 2c 00 00       	call   0x4aac32
4a7fe7:	dd 5d f8             	fstpl  -0x8(%ebp)
4a7fea:	56                   	push   %esi
4a7feb:	53                   	push   %ebx
4a7fec:	e8 55 2e 00 00       	call   0x4aae46
4a7ff1:	83 c4 18             	add    $0x18,%esp
4a7ff4:	eb 74                	jmp    0x4a806a
4a7ff6:	dd 45 08             	fldl   0x8(%ebp)
4a7ff9:	dc 05 70 35 4b 00    	faddl  0x4b3570
4a7fff:	53                   	push   %ebx
4a8000:	51                   	push   %ecx
4a8001:	51                   	push   %ecx
4a8002:	dd 5d f8             	fstpl  -0x8(%ebp)
4a8005:	dd 45 f8             	fldl   -0x8(%ebp)
4a8008:	dd 1f                	fstpl  (%edi)
4a800a:	dd 45 f8             	fldl   -0x8(%ebp)
4a800d:	dd 1c 24             	fstpl  (%esp)
4a8010:	dd 45 08             	fldl   0x8(%ebp)
4a8013:	51                   	push   %ecx
4a8014:	51                   	push   %ecx
4a8015:	dd 1c 24             	fstpl  (%esp)
4a8018:	6a 1c                	push   $0x1c
4a801a:	6a 08                	push   $0x8
4a801c:	e8 ad 25 00 00       	call   0x4aa5ce
4a8021:	83 c4 1c             	add    $0x1c,%esp
4a8024:	eb 47                	jmp    0x4a806d
4a8026:	dd 45 08             	fldl   0x8(%ebp)
4a8029:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4a802f:	dd 45 08             	fldl   0x8(%ebp)
4a8032:	df e0                	fnstsw %ax
4a8034:	9e                   	sahf
4a8035:	75 0a                	jne    0x4a8041
4a8037:	8b 45 10             	mov    0x10(%ebp),%eax
4a803a:	dd 18                	fstpl  (%eax)
4a803c:	dd 45 08             	fldl   0x8(%ebp)
4a803f:	eb 1d                	jmp    0x4a805e
4a8041:	51                   	push   %ecx
4a8042:	51                   	push   %ecx
4a8043:	dd 1c 24             	fstpl  (%esp)
4a8046:	e8 1d 25 00 00       	call   0x4aa568
4a804b:	dd 5d f8             	fstpl  -0x8(%ebp)
4a804e:	dd 45 f8             	fldl   -0x8(%ebp)
4a8051:	8b 45 10             	mov    0x10(%ebp),%eax
4a8054:	59                   	pop    %ecx
4a8055:	59                   	pop    %ecx
4a8056:	dd 18                	fstpl  (%eax)
4a8058:	dd 45 08             	fldl   0x8(%ebp)
4a805b:	dc 65 f8             	fsubl  -0x8(%ebp)
4a805e:	dd 5d f8             	fstpl  -0x8(%ebp)
4a8061:	56                   	push   %esi
4a8062:	53                   	push   %ebx
4a8063:	e8 de 2d 00 00       	call   0x4aae46
4a8068:	59                   	pop    %ecx
4a8069:	59                   	pop    %ecx
4a806a:	dd 45 f8             	fldl   -0x8(%ebp)
4a806d:	5f                   	pop    %edi
4a806e:	5e                   	pop    %esi
4a806f:	5b                   	pop    %ebx
4a8070:	c9                   	leave
4a8071:	c3                   	ret
4a8072:	e8 13 00 00 00       	call   0x4a808a
4a8077:	e8 93 2e 00 00       	call   0x4aaf0f
4a807c:	a3 90 c9 51 00       	mov    %eax,0x51c990
4a8081:	e8 39 2e 00 00       	call   0x4aaebf
4a8086:	db e2                	fnclex
4a8088:	c3                   	ret
4a8089:	c3                   	ret
4a808a:	b8 e8 b2 4a 00       	mov    $0x4ab2e8,%eax
4a808f:	c7 05 c4 a4 50 00 92 	movl   $0x4aaf92,0x50a4c4
4a8096:	af 4a 00
4a8099:	a3 c0 a4 50 00       	mov    %eax,0x50a4c0
4a809e:	c7 05 c8 a4 50 00 f8 	movl   $0x4aaff8,0x50a4c8
4a80a5:	af 4a 00
4a80a8:	c7 05 cc a4 50 00 38 	movl   $0x4aaf38,0x50a4cc
4a80af:	af 4a 00
4a80b2:	c7 05 d0 a4 50 00 e0 	movl   $0x4aafe0,0x50a4d0
4a80b9:	af 4a 00
4a80bc:	a3 d4 a4 50 00       	mov    %eax,0x50a4d4
4a80c1:	c3                   	ret
4a80c2:	55                   	push   %ebp
4a80c3:	8b ec                	mov    %esp,%ebp
4a80c5:	51                   	push   %ecx
4a80c6:	51                   	push   %ecx
4a80c7:	53                   	push   %ebx
4a80c8:	56                   	push   %esi
4a80c9:	be ff ff 00 00       	mov    $0xffff,%esi
4a80ce:	56                   	push   %esi
4a80cf:	ff 35 e4 a1 50 00    	push   0x50a1e4
4a80d5:	e8 6c 2d 00 00       	call   0x4aae46
4a80da:	dd 45 08             	fldl   0x8(%ebp)
4a80dd:	59                   	pop    %ecx
4a80de:	8b d8                	mov    %eax,%ebx
4a80e0:	8b 45 0e             	mov    0xe(%ebp),%eax
4a80e3:	59                   	pop    %ecx
4a80e4:	51                   	push   %ecx
4a80e5:	66 25 f0 7f          	and    $0x7ff0,%ax
4a80e9:	51                   	push   %ecx
4a80ea:	66 3d f0 7f          	cmp    $0x7ff0,%ax
4a80ee:	dd 1c 24             	fstpl  (%esp)
4a80f1:	75 55                	jne    0x4a8148