539c54:	8b 49 04             	mov    0x4(%ecx),%ecx
539c57:	89 08                	mov    %ecx,(%eax)
539c59:	c2 04 00             	ret    $0x4
539c5c:	cc                   	int3
539c5d:	cc                   	int3
539c5e:	cc                   	int3
539c5f:	cc                   	int3
539c60:	8b 44 24 08          	mov    0x8(%esp),%eax
539c64:	83 78 1c 10          	cmpl   $0x10,0x1c(%eax)
539c68:	53                   	push   %ebx
539c69:	8b 58 18             	mov    0x18(%eax),%ebx
539c6c:	55                   	push   %ebp
539c6d:	56                   	push   %esi
539c6e:	8d 70 08             	lea    0x8(%eax),%esi
539c71:	8b e9                	mov    %ecx,%ebp
539c73:	57                   	push   %edi
539c74:	72 02                	jb     0x539c78
539c76:	8b 36                	mov    (%esi),%esi
539c78:	33 d2                	xor    %edx,%edx
539c7a:	bf c5 9d 1c 81       	mov    $0x811c9dc5,%edi
539c7f:	85 db                	test   %ebx,%ebx
539c81:	74 11                	je     0x539c94
539c83:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
539c87:	42                   	inc    %edx
539c88:	33 cf                	xor    %edi,%ecx
539c8a:	69 f9 93 01 00 01    	imul   $0x1000193,%ecx,%edi
539c90:	3b d3                	cmp    %ebx,%edx
539c92:	72 ef                	jb     0x539c83
539c94:	8b 4d 18             	mov    0x18(%ebp),%ecx
539c97:	23 cf                	and    %edi,%ecx
539c99:	8d 14 cd 00 00 00 00 	lea    0x0(,%ecx,8),%edx
539ca0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
539ca3:	03 ca                	add    %edx,%ecx
539ca5:	39 41 04             	cmp    %eax,0x4(%ecx)
539ca8:	75 1d                	jne    0x539cc7
539caa:	39 01                	cmp    %eax,(%ecx)
539cac:	75 11                	jne    0x539cbf
539cae:	8b 45 04             	mov    0x4(%ebp),%eax
539cb1:	89 01                	mov    %eax,(%ecx)
539cb3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
539cb6:	8b 45 04             	mov    0x4(%ebp),%eax
539cb9:	89 44 11 04          	mov    %eax,0x4(%ecx,%edx,1)
539cbd:	eb 10                	jmp    0x539ccf
539cbf:	8b 40 04             	mov    0x4(%eax),%eax
539cc2:	89 41 04             	mov    %eax,0x4(%ecx)
539cc5:	eb 08                	jmp    0x539ccf
539cc7:	39 01                	cmp    %eax,(%ecx)
539cc9:	75 08                	jne    0x539cd3
539ccb:	8b 00                	mov    (%eax),%eax
539ccd:	89 01                	mov    %eax,(%ecx)
539ccf:	8b 44 24 18          	mov    0x18(%esp),%eax
539cd3:	8b 74 24 14          	mov    0x14(%esp),%esi
539cd7:	8d 4d 04             	lea    0x4(%ebp),%ecx
539cda:	50                   	push   %eax
539cdb:	56                   	push   %esi
539cdc:	e8 d3 c2 ed ff       	call   0x415fb4
539ce1:	5f                   	pop    %edi
539ce2:	8b c6                	mov    %esi,%eax
539ce4:	5e                   	pop    %esi
539ce5:	5d                   	pop    %ebp
539ce6:	5b                   	pop    %ebx
539ce7:	c2 08 00             	ret    $0x8
539cea:	cc                   	int3
539ceb:	cc                   	int3
539cec:	cc                   	int3
539ced:	cc                   	int3
539cee:	cc                   	int3
539cef:	cc                   	int3
539cf0:	cc                   	int3
539cf1:	cc                   	int3
539cf2:	cc                   	int3
539cf3:	cc                   	int3
539cf4:	cc                   	int3
539cf5:	cc                   	int3
539cf6:	cc                   	int3
539cf7:	cc                   	int3
539cf8:	cc                   	int3
539cf9:	cc                   	int3
539cfa:	cc                   	int3
539cfb:	cc                   	int3
539cfc:	cc                   	int3
539cfd:	cc                   	int3
539cfe:	cc                   	int3
539cff:	cc                   	int3
539d00:	cc                   	int3
539d01:	cc                   	int3
539d02:	cc                   	int3
539d03:	cc                   	int3
539d04:	cc                   	int3
539d05:	cc                   	int3
539d06:	cc                   	int3
539d07:	cc                   	int3
539d08:	cc                   	int3
539d09:	cc                   	int3
539d0a:	cc                   	int3
539d0b:	cc                   	int3
539d0c:	cc                   	int3
539d0d:	cc                   	int3
539d0e:	cc                   	int3
539d0f:	cc                   	int3
539d10:	56                   	push   %esi
539d11:	8b 74 24 0c          	mov    0xc(%esp),%esi
539d15:	57                   	push   %edi
539d16:	8b f9                	mov    %ecx,%edi
539d18:	8b 06                	mov    (%esi),%eax
539d1a:	89 44 24 10          	mov    %eax,0x10(%esp)
539d1e:	8b 56 04             	mov    0x4(%esi),%edx
539d21:	8b 06                	mov    (%esi),%eax
539d23:	89 02                	mov    %eax,(%edx)
539d25:	8b 0e                	mov    (%esi),%ecx
539d27:	8b 46 04             	mov    0x4(%esi),%eax
539d2a:	89 41 04             	mov    %eax,0x4(%ecx)
539d2d:	ff 4f 04             	decl   0x4(%edi)
539d30:	8d 7e 08             	lea    0x8(%esi),%edi
539d33:	8b 47 14             	mov    0x14(%edi),%eax
539d36:	83 f8 10             	cmp    $0x10,%eax
539d39:	72 0b                	jb     0x539d46
539d3b:	40                   	inc    %eax
539d3c:	8b cf                	mov    %edi,%ecx
539d3e:	50                   	push   %eax
539d3f:	ff 37                	push   (%edi)
539d41:	e8 d6 a8 ef ff       	call   0x43461c
539d46:	c7 47 14 0f 00 00 00 	movl   $0xf,0x14(%edi)
539d4d:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
539d51:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
539d58:	72 02                	jb     0x539d5c
539d5a:	8b 3f                	mov    (%edi),%edi
539d5c:	56                   	push   %esi
539d5d:	c6 07 00             	movb   $0x0,(%edi)
539d60:	e8 2a 7a ec ff       	call   0x40178f
539d65:	8b 44 24 10          	mov    0x10(%esp),%eax
539d69:	83 c4 04             	add    $0x4,%esp
539d6c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
539d70:	5f                   	pop    %edi
539d71:	89 08                	mov    %ecx,(%eax)
539d73:	5e                   	pop    %esi
539d74:	c2 08 00             	ret    $0x8
539d77:	cc                   	int3
539d78:	cc                   	int3
539d79:	cc                   	int3
539d7a:	cc                   	int3
539d7b:	cc                   	int3
539d7c:	cc                   	int3
539d7d:	cc                   	int3
539d7e:	cc                   	int3
539d7f:	cc                   	int3
539d80:	cc                   	int3
539d81:	cc                   	int3
539d82:	cc                   	int3
539d83:	cc                   	int3
539d84:	cc                   	int3
539d85:	cc                   	int3
539d86:	cc                   	int3
539d87:	cc                   	int3
539d88:	cc                   	int3
539d89:	cc                   	int3
539d8a:	cc                   	int3
539d8b:	cc                   	int3
539d8c:	cc                   	int3
539d8d:	cc                   	int3
539d8e:	cc                   	int3
539d8f:	cc                   	int3
539d90:	ff 74 24 08          	push   0x8(%esp)
539d94:	ff 74 24 08          	push   0x8(%esp)
539d98:	e8 b5 a1 ed ff       	call   0x413f52
539d9d:	8b 44 24 04          	mov    0x4(%esp),%eax
539da1:	c2 08 00             	ret    $0x8
539da4:	cc                   	int3
539da5:	cc                   	int3
539da6:	cc                   	int3
539da7:	cc                   	int3
539da8:	cc                   	int3
539da9:	cc                   	int3
539daa:	cc                   	int3
539dab:	cc                   	int3
539dac:	cc                   	int3
539dad:	cc                   	int3
539dae:	cc                   	int3
539daf:	cc                   	int3
539db0:	8b 01                	mov    (%ecx),%eax
539db2:	8b 00                	mov    (%eax),%eax
539db4:	83 c0 08             	add    $0x8,%eax
539db7:	c3                   	ret
539db8:	cc                   	int3
539db9:	cc                   	int3
539dba:	cc                   	int3
539dbb:	cc                   	int3
539dbc:	cc                   	int3
539dbd:	cc                   	int3
539dbe:	cc                   	int3
539dbf:	cc                   	int3
539dc0:	ff 74 24 10          	push   0x10(%esp)
539dc4:	ff 74 24 10          	push   0x10(%esp)
539dc8:	ff 74 24 10          	push   0x10(%esp)
539dcc:	ff 74 24 10          	push   0x10(%esp)
539dd0:	e8 f6 37 ed ff       	call   0x40d5cb
539dd5:	8b 44 24 04          	mov    0x4(%esp),%eax
539dd9:	c2 10 00             	ret    $0x10
539ddc:	cc                   	int3
539ddd:	cc                   	int3
539dde:	cc                   	int3
539ddf:	cc                   	int3
539de0:	cc                   	int3
539de1:	cc                   	int3
539de2:	cc                   	int3
539de3:	cc                   	int3
539de4:	cc                   	int3
539de5:	cc                   	int3
539de6:	cc                   	int3
539de7:	cc                   	int3
539de8:	cc                   	int3
539de9:	cc                   	int3
539dea:	cc                   	int3
539deb:	cc                   	int3
539dec:	cc                   	int3
539ded:	cc                   	int3
539dee:	cc                   	int3
539def:	cc                   	int3
539df0:	ff 74 24 10          	push   0x10(%esp)
539df4:	ff 74 24 10          	push   0x10(%esp)
539df8:	ff 74 24 10          	push   0x10(%esp)
539dfc:	ff 74 24 10          	push   0x10(%esp)
539e00:	e8 8d bb ed ff       	call   0x415992
539e05:	8b 44 24 04          	mov    0x4(%esp),%eax
539e09:	c2 10 00             	ret    $0x10
539e0c:	cc                   	int3
539e0d:	cc                   	int3
539e0e:	cc                   	int3
539e0f:	cc                   	int3
539e10:	cc                   	int3
539e11:	cc                   	int3
539e12:	cc                   	int3
539e13:	cc                   	int3
539e14:	cc                   	int3
539e15:	cc                   	int3
539e16:	cc                   	int3
539e17:	cc                   	int3
539e18:	cc                   	int3
539e19:	cc                   	int3
539e1a:	cc                   	int3
539e1b:	cc                   	int3
539e1c:	cc                   	int3
539e1d:	cc                   	int3
539e1e:	cc                   	int3
539e1f:	cc                   	int3
539e20:	51                   	push   %ecx
539e21:	8b 41 08             	mov    0x8(%ecx),%eax
539e24:	66 0f 6e c0          	movd   %eax,%xmm0
539e28:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
539e2c:	c1 e8 1f             	shr    $0x1f,%eax
539e2f:	f2 0f 58 04 c5 60 2d 	addsd  0xbd2d60(,%eax,8),%xmm0
539e36:	bd 00
539e38:	8b 41 1c             	mov    0x1c(%ecx),%eax
539e3b:	66 0f 5a c8          	cvtpd2ps %xmm0,%xmm1
539e3f:	66 0f 6e c0          	movd   %eax,%xmm0
539e43:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
539e47:	c1 e8 1f             	shr    $0x1f,%eax
539e4a:	f2 0f 58 04 c5 60 2d 	addsd  0xbd2d60(,%eax,8),%xmm0
539e51:	bd 00
539e53:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
539e57:	f3 0f 5e c8          	divss  %xmm0,%xmm1
539e5b:	f3 0f 11 0c 24       	movss  %xmm1,(%esp)
539e60:	d9 04 24             	flds   (%esp)
539e63:	59                   	pop    %ecx
539e64:	c3                   	ret
539e65:	cc                   	int3
539e66:	cc                   	int3
539e67:	cc                   	int3
539e68:	cc                   	int3
539e69:	cc                   	int3
539e6a:	cc                   	int3
539e6b:	cc                   	int3
539e6c:	cc                   	int3
539e6d:	cc                   	int3
539e6e:	cc                   	int3
539e6f:	cc                   	int3
539e70:	cc                   	int3
539e71:	cc                   	int3
539e72:	cc                   	int3
539e73:	cc                   	int3
539e74:	cc                   	int3
539e75:	cc                   	int3
539e76:	cc                   	int3
539e77:	cc                   	int3
539e78:	cc                   	int3
539e79:	cc                   	int3
539e7a:	cc                   	int3
539e7b:	cc                   	int3
539e7c:	cc                   	int3
539e7d:	cc                   	int3
539e7e:	cc                   	int3
539e7f:	cc                   	int3
539e80:	83 ec 0c             	sub    $0xc,%esp
539e83:	53                   	push   %ebx
539e84:	8b 5c 24 18          	mov    0x18(%esp),%ebx
539e88:	55                   	push   %ebp
539e89:	56                   	push   %esi
539e8a:	57                   	push   %edi
539e8b:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
539e8f:	8b f9                	mov    %ecx,%edi
539e91:	8b 6b 10             	mov    0x10(%ebx),%ebp
539e94:	72 04                	jb     0x539e9a
539e96:	8b 33                	mov    (%ebx),%esi
539e98:	eb 02                	jmp    0x539e9c
539e9a:	8b f3                	mov    %ebx,%esi
539e9c:	33 c9                	xor    %ecx,%ecx
539e9e:	ba c5 9d 1c 81       	mov    $0x811c9dc5,%edx
539ea3:	85 ed                	test   %ebp,%ebp
539ea5:	74 11                	je     0x539eb8
539ea7:	0f b6 04 0e          	movzbl (%esi,%ecx,1),%eax
539eab:	41                   	inc    %ecx
539eac:	33 c2                	xor    %edx,%eax
539eae:	69 d0 93 01 00 01    	imul   $0x1000193,%eax,%edx
539eb4:	3b cd                	cmp    %ebp,%ecx
539eb6:	72 ef                	jb     0x539ea7
539eb8:	8b 4f 18             	mov    0x18(%edi),%ecx
539ebb:	23 ca                	and    %edx,%ecx
539ebd:	8b 57 0c             	mov    0xc(%edi),%edx
539ec0:	8b 04 ca             	mov    (%edx,%ecx,8),%eax
539ec3:	03 c9                	add    %ecx,%ecx
539ec5:	8b 34 8a             	mov    (%edx,%ecx,4),%esi
539ec8:	41                   	inc    %ecx
539ec9:	89 74 24 10          	mov    %esi,0x10(%esp)
539ecd:	8b 77 04             	mov    0x4(%edi),%esi
539ed0:	89 74 24 24          	mov    %esi,0x24(%esp)
539ed4:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
539ed7:	89 4c 24 18          	mov    %ecx,0x18(%esp)
539edb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
539ee0:	39 74 24 10          	cmp    %esi,0x10(%esp)
539ee4:	75 04                	jne    0x539eea
539ee6:	8b ce                	mov    %esi,%ecx
539ee8:	eb 04                	jmp    0x539eee
539eea:	8b 09                	mov    (%ecx),%ecx
539eec:	8b 09                	mov    (%ecx),%ecx
539eee:	3b c1                	cmp    %ecx,%eax
539ef0:	0f 84 2d 01 00 00    	je     0x53a023
539ef6:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
539efa:	8d 50 08             	lea    0x8(%eax),%edx
539efd:	72 04                	jb     0x539f03
539eff:	8b 3b                	mov    (%ebx),%edi
539f01:	eb 02                	jmp    0x539f05
539f03:	8b fb                	mov    %ebx,%edi
539f05:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
539f09:	8d 4a 10             	lea    0x10(%edx),%ecx
539f0c:	72 02                	jb     0x539f10
539f0e:	8b 12                	mov    (%edx),%edx
539f10:	8b 09                	mov    (%ecx),%ecx
539f12:	8b f5                	mov    %ebp,%esi
539f14:	3b cd                	cmp    %ebp,%ecx
539f16:	89 4c 24 14          	mov    %ecx,0x14(%esp)