4f0d76:	33 c9                	xor    %ecx,%ecx
4f0d78:	8b 30                	mov    (%eax),%esi
4f0d7a:	ff 56 10             	call   *0x10(%esi)
4f0d7d:	8d 54 24 08          	lea    0x8(%esp),%edx
4f0d81:	8b 43 04             	mov    0x4(%ebx),%eax
4f0d84:	b9 04 00 00 00       	mov    $0x4,%ecx
4f0d89:	8b 30                	mov    (%eax),%esi
4f0d8b:	ff 56 08             	call   *0x8(%esi)
4f0d8e:	8d 54 24 0c          	lea    0xc(%esp),%edx
4f0d92:	8b 43 04             	mov    0x4(%ebx),%eax
4f0d95:	b9 04 00 00 00       	mov    $0x4,%ecx
4f0d9a:	8b 30                	mov    (%eax),%esi
4f0d9c:	ff 56 08             	call   *0x8(%esi)
4f0d9f:	80 3b 00             	cmpb   $0x0,(%ebx)
4f0da2:	75 1a                	jne    0x4f0dbe
4f0da4:	8b 44 24 08          	mov    0x8(%esp),%eax
4f0da8:	e8 43 ff 0f 00       	call   0x5f0cf0
4f0dad:	89 44 24 08          	mov    %eax,0x8(%esp)
4f0db1:	8b 44 24 0c          	mov    0xc(%esp),%eax
4f0db5:	e8 36 ff 0f 00       	call   0x5f0cf0
4f0dba:	89 44 24 0c          	mov    %eax,0xc(%esp)
4f0dbe:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4f0dc3:	75 08                	jne    0x4f0dcd
4f0dc5:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
4f0dcc:	00
4f0dcd:	db 44 24 08          	fildl  0x8(%esp)
4f0dd1:	db 44 24 0c          	fildl  0xc(%esp)
4f0dd5:	de f9                	fdivrp %st,%st(1)
4f0dd7:	dd 1c 24             	fstpl  (%esp)
4f0dda:	9b dd 04 24          	fldl   (%esp)
4f0dde:	83 c4 10             	add    $0x10,%esp
4f0de1:	5e                   	pop    %esi
4f0de2:	5b                   	pop    %ebx
4f0de3:	c3                   	ret
4f0de4:	53                   	push   %ebx
4f0de5:	56                   	push   %esi
4f0de6:	57                   	push   %edi
4f0de7:	55                   	push   %ebp
4f0de8:	83 c4 f8             	add    $0xfffffff8,%esp
4f0deb:	8b e9                	mov    %ecx,%ebp
4f0ded:	8b d8                	mov    %eax,%ebx
4f0def:	33 c0                	xor    %eax,%eax
4f0df1:	89 04 24             	mov    %eax,(%esp)
4f0df4:	8b c3                	mov    %ebx,%eax
4f0df6:	92                   	xchg   %eax,%edx
4f0df7:	e8 c4 fd ff ff       	call   0x4f0bc0
4f0dfc:	8b f0                	mov    %eax,%esi
4f0dfe:	85 f6                	test   %esi,%esi
4f0e00:	0f 8c 11 01 00 00    	jl     0x4f0f17
4f0e06:	8d 3c 76             	lea    (%esi,%esi,2),%edi
4f0e09:	8b 43 08             	mov    0x8(%ebx),%eax
4f0e0c:	66 83 7c b8 02 04    	cmpw   $0x4,0x2(%eax,%edi,4)
4f0e12:	75 43                	jne    0x4f0e57
4f0e14:	8b 43 08             	mov    0x8(%ebx),%eax
4f0e17:	8b 54 b8 08          	mov    0x8(%eax,%edi,4),%edx
4f0e1b:	03 53 10             	add    0x10(%ebx),%edx
4f0e1e:	8b c5                	mov    %ebp,%eax
4f0e20:	c1 e0 02             	shl    $0x2,%eax
4f0e23:	03 d0                	add    %eax,%edx
4f0e25:	8b 43 04             	mov    0x4(%ebx),%eax
4f0e28:	33 c9                	xor    %ecx,%ecx
4f0e2a:	8b 30                	mov    (%eax),%esi
4f0e2c:	ff 56 10             	call   *0x10(%esi)
4f0e2f:	8b d4                	mov    %esp,%edx
4f0e31:	8b 43 04             	mov    0x4(%ebx),%eax
4f0e34:	b9 04 00 00 00       	mov    $0x4,%ecx
4f0e39:	8b 30                	mov    (%eax),%esi
4f0e3b:	ff 56 08             	call   *0x8(%esi)
4f0e3e:	80 3b 00             	cmpb   $0x0,(%ebx)
4f0e41:	0f 85 d0 00 00 00    	jne    0x4f0f17
4f0e47:	8b 04 24             	mov    (%esp),%eax
4f0e4a:	e8 a1 fe 0f 00       	call   0x5f0cf0
4f0e4f:	89 04 24             	mov    %eax,(%esp)
4f0e52:	e9 c0 00 00 00       	jmp    0x4f0f17
4f0e57:	8d 04 76             	lea    (%esi,%esi,2),%eax
4f0e5a:	8b 53 08             	mov    0x8(%ebx),%edx
4f0e5d:	66 83 7c 82 02 03    	cmpw   $0x3,0x2(%edx,%eax,4)
4f0e63:	0f 85 ae 00 00 00    	jne    0x4f0f17
4f0e69:	8b 43 08             	mov    0x8(%ebx),%eax
4f0e6c:	83 7c b8 04 01       	cmpl   $0x1,0x4(%eax,%edi,4)
4f0e71:	75 15                	jne    0x4f0e88
4f0e73:	8b 43 08             	mov    0x8(%ebx),%eax
4f0e76:	8d 14 b8             	lea    (%eax,%edi,4),%edx
4f0e79:	8b c3                	mov    %ebx,%eax
4f0e7b:	e8 d8 fd ff ff       	call   0x4f0c58
4f0e80:	89 04 24             	mov    %eax,(%esp)
4f0e83:	e9 8f 00 00 00       	jmp    0x4f0f17
4f0e88:	8d 04 76             	lea    (%esi,%esi,2),%eax
4f0e8b:	8b 53 08             	mov    0x8(%ebx),%edx
4f0e8e:	83 7c 82 04 02       	cmpl   $0x2,0x4(%edx,%eax,4)
4f0e93:	75 3b                	jne    0x4f0ed0
4f0e95:	8b 43 08             	mov    0x8(%ebx),%eax
4f0e98:	8b 44 b8 08          	mov    0x8(%eax,%edi,4),%eax
4f0e9c:	89 04 24             	mov    %eax,(%esp)
4f0e9f:	80 3b 00             	cmpb   $0x0,(%ebx)
4f0ea2:	74 16                	je     0x4f0eba
4f0ea4:	85 ed                	test   %ebp,%ebp
4f0ea6:	75 09                	jne    0x4f0eb1
4f0ea8:	81 24 24 ff ff 00 00 	andl   $0xffff,(%esp)
4f0eaf:	eb 66                	jmp    0x4f0f17
4f0eb1:	4d                   	dec    %ebp
4f0eb2:	75 63                	jne    0x4f0f17
4f0eb4:	c1 2c 24 10          	shrl   $0x10,(%esp)
4f0eb8:	eb 5d                	jmp    0x4f0f17
4f0eba:	85 ed                	test   %ebp,%ebp
4f0ebc:	75 06                	jne    0x4f0ec4
4f0ebe:	c1 2c 24 10          	shrl   $0x10,(%esp)
4f0ec2:	eb 53                	jmp    0x4f0f17
4f0ec4:	4d                   	dec    %ebp
4f0ec5:	75 50                	jne    0x4f0f17
4f0ec7:	81 24 24 ff ff 00 00 	andl   $0xffff,(%esp)
4f0ece:	eb 47                	jmp    0x4f0f17
4f0ed0:	8b 43 08             	mov    0x8(%ebx),%eax
4f0ed3:	8b 54 b8 08          	mov    0x8(%eax,%edi,4),%edx
4f0ed7:	03 53 10             	add    0x10(%ebx),%edx
4f0eda:	8b c5                	mov    %ebp,%eax
4f0edc:	03 c0                	add    %eax,%eax
4f0ede:	03 d0                	add    %eax,%edx
4f0ee0:	8b 43 04             	mov    0x4(%ebx),%eax
4f0ee3:	33 c9                	xor    %ecx,%ecx
4f0ee5:	8b 30                	mov    (%eax),%esi
4f0ee7:	ff 56 10             	call   *0x10(%esi)
4f0eea:	8d 54 24 04          	lea    0x4(%esp),%edx
4f0eee:	8b 43 04             	mov    0x4(%ebx),%eax
4f0ef1:	b9 02 00 00 00       	mov    $0x2,%ecx
4f0ef6:	8b 30                	mov    (%eax),%esi
4f0ef8:	ff 56 08             	call   *0x8(%esi)
4f0efb:	80 3b 00             	cmpb   $0x0,(%ebx)
4f0efe:	75 0f                	jne    0x4f0f0f
4f0f00:	66 8b 44 24 04       	mov    0x4(%esp),%ax
4f0f05:	e8 de fd 0f 00       	call   0x5f0ce8
4f0f0a:	66 89 44 24 04       	mov    %ax,0x4(%esp)
4f0f0f:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
4f0f14:	89 04 24             	mov    %eax,(%esp)
4f0f17:	8b 04 24             	mov    (%esp),%eax
4f0f1a:	59                   	pop    %ecx
4f0f1b:	5a                   	pop    %edx
4f0f1c:	5d                   	pop    %ebp
4f0f1d:	5f                   	pop    %edi
4f0f1e:	5e                   	pop    %esi
4f0f1f:	5b                   	pop    %ebx
4f0f20:	c3                   	ret
4f0f21:	8d 40 00             	lea    0x0(%eax),%eax
4f0f24:	53                   	push   %ebx
4f0f25:	56                   	push   %esi
4f0f26:	57                   	push   %edi
4f0f27:	83 c4 ec             	add    $0xffffffec,%esp
4f0f2a:	8b f2                	mov    %edx,%esi
4f0f2c:	8d 7c 24 06          	lea    0x6(%esp),%edi
4f0f30:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4f0f31:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4f0f32:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4f0f33:	8b d8                	mov    %eax,%ebx
4f0f35:	66 8b 44 24 08       	mov    0x8(%esp),%ax
4f0f3a:	66 83 f8 04          	cmp    $0x4,%ax
4f0f3e:	75 40                	jne    0x4f0f80
4f0f40:	8b 53 10             	mov    0x10(%ebx),%edx
4f0f43:	03 54 24 0e          	add    0xe(%esp),%edx
4f0f47:	8b c1                	mov    %ecx,%eax
4f0f49:	c1 e0 02             	shl    $0x2,%eax
4f0f4c:	03 d0                	add    %eax,%edx
4f0f4e:	8b 43 04             	mov    0x4(%ebx),%eax
4f0f51:	33 c9                	xor    %ecx,%ecx
4f0f53:	8b 30                	mov    (%eax),%esi
4f0f55:	ff 56 10             	call   *0x10(%esi)
4f0f58:	8b d4                	mov    %esp,%edx
4f0f5a:	8b 43 04             	mov    0x4(%ebx),%eax
4f0f5d:	b9 04 00 00 00       	mov    $0x4,%ecx
4f0f62:	8b 30                	mov    (%eax),%esi
4f0f64:	ff 56 08             	call   *0x8(%esi)
4f0f67:	80 3b 00             	cmpb   $0x0,(%ebx)
4f0f6a:	0f 85 b7 00 00 00    	jne    0x4f1027
4f0f70:	8b 04 24             	mov    (%esp),%eax
4f0f73:	e8 78 fd 0f 00       	call   0x5f0cf0
4f0f78:	89 04 24             	mov    %eax,(%esp)
4f0f7b:	e9 a7 00 00 00       	jmp    0x4f1027
4f0f80:	66 83 f8 03          	cmp    $0x3,%ax
4f0f84:	0f 85 9d 00 00 00    	jne    0x4f1027
4f0f8a:	8b 44 24 0a          	mov    0xa(%esp),%eax
4f0f8e:	83 f8 01             	cmp    $0x1,%eax
4f0f91:	75 13                	jne    0x4f0fa6
4f0f93:	8b c3                	mov    %ebx,%eax
4f0f95:	8d 54 24 06          	lea    0x6(%esp),%edx
4f0f99:	e8 ba fc ff ff       	call   0x4f0c58
4f0f9e:	89 04 24             	mov    %eax,(%esp)
4f0fa1:	e9 81 00 00 00       	jmp    0x4f1027
4f0fa6:	83 f8 02             	cmp    $0x2,%eax
4f0fa9:	75 38                	jne    0x4f0fe3
4f0fab:	8b 44 24 0e          	mov    0xe(%esp),%eax
4f0faf:	89 04 24             	mov    %eax,(%esp)
4f0fb2:	80 3b 00             	cmpb   $0x0,(%ebx)
4f0fb5:	74 16                	je     0x4f0fcd
4f0fb7:	85 c9                	test   %ecx,%ecx
4f0fb9:	75 09                	jne    0x4f0fc4
4f0fbb:	81 24 24 ff ff 00 00 	andl   $0xffff,(%esp)
4f0fc2:	eb 63                	jmp    0x4f1027
4f0fc4:	49                   	dec    %ecx
4f0fc5:	75 60                	jne    0x4f1027
4f0fc7:	c1 2c 24 10          	shrl   $0x10,(%esp)
4f0fcb:	eb 5a                	jmp    0x4f1027
4f0fcd:	85 c9                	test   %ecx,%ecx
4f0fcf:	75 06                	jne    0x4f0fd7
4f0fd1:	c1 2c 24 10          	shrl   $0x10,(%esp)
4f0fd5:	eb 50                	jmp    0x4f1027
4f0fd7:	49                   	dec    %ecx
4f0fd8:	75 4d                	jne    0x4f1027
4f0fda:	81 24 24 ff ff 00 00 	andl   $0xffff,(%esp)
4f0fe1:	eb 44                	jmp    0x4f1027
4f0fe3:	8b 53 10             	mov    0x10(%ebx),%edx
4f0fe6:	03 54 24 0e          	add    0xe(%esp),%edx
4f0fea:	8b c1                	mov    %ecx,%eax
4f0fec:	03 c0                	add    %eax,%eax
4f0fee:	03 d0                	add    %eax,%edx
4f0ff0:	8b 43 04             	mov    0x4(%ebx),%eax
4f0ff3:	33 c9                	xor    %ecx,%ecx
4f0ff5:	8b 30                	mov    (%eax),%esi
4f0ff7:	ff 56 10             	call   *0x10(%esi)
4f0ffa:	8d 54 24 04          	lea    0x4(%esp),%edx
4f0ffe:	8b 43 04             	mov    0x4(%ebx),%eax
4f1001:	b9 02 00 00 00       	mov    $0x2,%ecx
4f1006:	8b 30                	mov    (%eax),%esi
4f1008:	ff 56 08             	call   *0x8(%esi)
4f100b:	80 3b 00             	cmpb   $0x0,(%ebx)
4f100e:	75 0f                	jne    0x4f101f
4f1010:	66 8b 44 24 04       	mov    0x4(%esp),%ax
4f1015:	e8 ce fc 0f 00       	call   0x5f0ce8
4f101a:	66 89 44 24 04       	mov    %ax,0x4(%esp)
4f101f:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
4f1024:	89 04 24             	mov    %eax,(%esp)
4f1027:	8b 04 24             	mov    (%esp),%eax
4f102a:	83 c4 14             	add    $0x14,%esp
4f102d:	5f                   	pop    %edi
4f102e:	5e                   	pop    %esi
4f102f:	5b                   	pop    %ebx
4f1030:	c3                   	ret
4f1031:	8d 40 00             	lea    0x0(%eax),%eax
4f1034:	53                   	push   %ebx
4f1035:	56                   	push   %esi
4f1036:	57                   	push   %edi
4f1037:	55                   	push   %ebp
4f1038:	83 c4 f8             	add    $0xfffffff8,%esp
4f103b:	89 14 24             	mov    %edx,(%esp)
4f103e:	8b d8                	mov    %eax,%ebx
4f1040:	8b d3                	mov    %ebx,%edx
4f1042:	8b c1                	mov    %ecx,%eax
4f1044:	e8 77 fb ff ff       	call   0x4f0bc0
4f1049:	8b f0                	mov    %eax,%esi
4f104b:	85 f6                	test   %esi,%esi
4f104d:	7d 08                	jge    0x4f1057
4f104f:	33 c0                	xor    %eax,%eax
4f1051:	89 44 24 04          	mov    %eax,0x4(%esp)
4f1055:	eb 66                	jmp    0x4f10bd
4f1057:	8d 3c 76             	lea    (%esi,%esi,2),%edi
4f105a:	8b 43 08             	mov    0x8(%ebx),%eax
4f105d:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
4f1061:	89 44 24 04          	mov    %eax,0x4(%esp)
4f1065:	8b 44 24 04          	mov    0x4(%esp),%eax
4f1069:	c1 e0 02             	shl    $0x2,%eax
4f106c:	e8 3b 17 f1 ff       	call   0x4027ac
4f1071:	8b 14 24             	mov    (%esp),%edx
4f1074:	89 02                	mov    %eax,(%edx)
4f1076:	83 7c 24 04 01       	cmpl   $0x1,0x4(%esp)
4f107b:	75 16                	jne    0x4f1093
4f107d:	8b 43 08             	mov    0x8(%ebx),%eax
4f1080:	8d 14 b8             	lea    (%eax,%edi,4),%edx
4f1083:	8b c3                	mov    %ebx,%eax
4f1085:	e8 ce fb ff ff       	call   0x4f0c58
4f108a:	8b 14 24             	mov    (%esp),%edx
4f108d:	8b 12                	mov    (%edx),%edx
4f108f:	89 02                	mov    %eax,(%edx)
4f1091:	eb 2a                	jmp    0x4f10bd
4f1093:	8b 6c 24 04          	mov    0x4(%esp),%ebp
4f1097:	4d                   	dec    %ebp
4f1098:	85 ed                	test   %ebp,%ebp
4f109a:	7c 21                	jl     0x4f10bd
4f109c:	45                   	inc    %ebp
4f109d:	33 ff                	xor    %edi,%edi
4f109f:	8d 04 76             	lea    (%esi,%esi,2),%eax
4f10a2:	8b 53 08             	mov    0x8(%ebx),%edx
4f10a5:	8d 14 82             	lea    (%edx,%eax,4),%edx
4f10a8:	8b c3                	mov    %ebx,%eax
4f10aa:	8b cf                	mov    %edi,%ecx
4f10ac:	e8 73 fe ff ff       	call   0x4f0f24
4f10b1:	8b 14 24             	mov    (%esp),%edx
4f10b4:	8b 12                	mov    (%edx),%edx
4f10b6:	89 04 ba             	mov    %eax,(%edx,%edi,4)
4f10b9:	47                   	inc    %edi
4f10ba:	4d                   	dec    %ebp
4f10bb:	75 e2                	jne    0x4f109f
4f10bd:	8b 44 24 04          	mov    0x4(%esp),%eax
4f10c1:	59                   	pop    %ecx
4f10c2:	5a                   	pop    %edx
4f10c3:	5d                   	pop    %ebp
4f10c4:	5f                   	pop    %edi
4f10c5:	5e                   	pop    %esi
4f10c6:	5b                   	pop    %ebx
4f10c7:	c3                   	ret
4f10c8:	53                   	push   %ebx
4f10c9:	56                   	push   %esi
4f10ca:	57                   	push   %edi
4f10cb:	55                   	push   %ebp
4f10cc:	83 c4 f8             	add    $0xfffffff8,%esp
4f10cf:	89 0c 24             	mov    %ecx,(%esp)
4f10d2:	8b d8                	mov    %eax,%ebx
4f10d4:	8b c3                	mov    %ebx,%eax
4f10d6:	92                   	xchg   %eax,%edx
4f10d7:	e8 e4 fa ff ff       	call   0x4f0bc0
4f10dc:	8b f0                	mov    %eax,%esi
4f10de:	85 f6                	test   %esi,%esi
4f10e0:	7d 08                	jge    0x4f10ea
4f10e2:	33 c0                	xor    %eax,%eax
4f10e4:	89 44 24 04          	mov    %eax,0x4(%esp)
4f10e8:	eb 46                	jmp    0x4f1130
4f10ea:	8d 3c 76             	lea    (%esi,%esi,2),%edi
4f10ed:	8b 43 08             	mov    0x8(%ebx),%eax
4f10f0:	8b 54 b8 08          	mov    0x8(%eax,%edi,4),%edx
4f10f4:	03 53 10             	add    0x10(%ebx),%edx
4f10f7:	8b 43 04             	mov    0x4(%ebx),%eax
4f10fa:	33 c9                	xor    %ecx,%ecx
4f10fc:	8b 28                	mov    (%eax),%ebp
4f10fe:	ff 55 10             	call   *0x10(%ebp)
4f1101:	8b 43 08             	mov    0x8(%ebx),%eax
4f1104:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
4f1108:	e8 9f 16 f1 ff       	call   0x4027ac
4f110d:	89 44 24 04          	mov    %eax,0x4(%esp)
4f1111:	8b 43 08             	mov    0x8(%ebx),%eax
4f1114:	8b 4c b8 04          	mov    0x4(%eax,%edi,4),%ecx
4f1118:	8b 54 24 04          	mov    0x4(%esp),%edx
4f111c:	8b 43 04             	mov    0x4(%ebx),%eax
4f111f:	8b 28                	mov    (%eax),%ebp
4f1121:	ff 55 08             	call   *0x8(%ebp)
4f1124:	8b 43 08             	mov    0x8(%ebx),%eax
4f1127:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
4f112b:	8b 14 24             	mov    (%esp),%edx
4f112e:	89 02                	mov    %eax,(%edx)
4f1130:	8b 44 24 04          	mov    0x4(%esp),%eax
4f1134:	59                   	pop    %ecx
4f1135:	5a                   	pop    %edx
4f1136:	5d                   	pop    %ebp
4f1137:	5f                   	pop    %edi
4f1138:	5e                   	pop    %esi
4f1139:	5b                   	pop    %ebx
4f113a:	c3                   	ret
4f113b:	90                   	nop
4f113c:	55                   	push   %ebp
4f113d:	8b ec                	mov    %esp,%ebp
4f113f:	83 c4 e0             	add    $0xffffffe0,%esp
4f1142:	53                   	push   %ebx
4f1143:	56                   	push   %esi
4f1144:	57                   	push   %edi