537cd3:	cc                   	int3
537cd4:	cc                   	int3
537cd5:	cc                   	int3
537cd6:	cc                   	int3
537cd7:	cc                   	int3
537cd8:	cc                   	int3
537cd9:	cc                   	int3
537cda:	cc                   	int3
537cdb:	cc                   	int3
537cdc:	cc                   	int3
537cdd:	cc                   	int3
537cde:	cc                   	int3
537cdf:	cc                   	int3
537ce0:	8b c1                	mov    %ecx,%eax
537ce2:	c3                   	ret
537ce3:	cc                   	int3
537ce4:	cc                   	int3
537ce5:	cc                   	int3
537ce6:	cc                   	int3
537ce7:	cc                   	int3
537ce8:	cc                   	int3
537ce9:	cc                   	int3
537cea:	cc                   	int3
537ceb:	cc                   	int3
537cec:	cc                   	int3
537ced:	cc                   	int3
537cee:	cc                   	int3
537cef:	cc                   	int3
537cf0:	8b c1                	mov    %ecx,%eax
537cf2:	c3                   	ret
537cf3:	cc                   	int3
537cf4:	cc                   	int3
537cf5:	cc                   	int3
537cf6:	cc                   	int3
537cf7:	cc                   	int3
537cf8:	cc                   	int3
537cf9:	cc                   	int3
537cfa:	cc                   	int3
537cfb:	cc                   	int3
537cfc:	cc                   	int3
537cfd:	cc                   	int3
537cfe:	cc                   	int3
537cff:	cc                   	int3
537d00:	56                   	push   %esi
537d01:	8b 71 08             	mov    0x8(%ecx),%esi
537d04:	ba ff ff ff 3f       	mov    $0x3fffffff,%edx
537d09:	2b 31                	sub    (%ecx),%esi
537d0b:	c1 fe 02             	sar    $0x2,%esi
537d0e:	8b c6                	mov    %esi,%eax
537d10:	d1 e8                	shr    $1,%eax
537d12:	2b d0                	sub    %eax,%edx
537d14:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
537d17:	33 c0                	xor    %eax,%eax
537d19:	3b d6                	cmp    %esi,%edx
537d1b:	5e                   	pop    %esi
537d1c:	0f 43 c1             	cmovae %ecx,%eax
537d1f:	3b 44 24 04          	cmp    0x4(%esp),%eax
537d23:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
537d28:	c2 04 00             	ret    $0x4
537d2b:	cc                   	int3
537d2c:	cc                   	int3
537d2d:	cc                   	int3
537d2e:	cc                   	int3
537d2f:	cc                   	int3
537d30:	cc                   	int3
537d31:	cc                   	int3
537d32:	cc                   	int3
537d33:	cc                   	int3
537d34:	cc                   	int3
537d35:	cc                   	int3
537d36:	cc                   	int3
537d37:	cc                   	int3
537d38:	cc                   	int3
537d39:	cc                   	int3
537d3a:	cc                   	int3
537d3b:	cc                   	int3
537d3c:	cc                   	int3
537d3d:	cc                   	int3
537d3e:	cc                   	int3
537d3f:	cc                   	int3
537d40:	8b 51 08             	mov    0x8(%ecx),%edx
537d43:	b8 4f ec c4 4e       	mov    $0x4ec4ec4f,%eax
537d48:	2b 11                	sub    (%ecx),%edx
537d4a:	f7 ea                	imul   %edx
537d4c:	56                   	push   %esi
537d4d:	c1 fa 04             	sar    $0x4,%edx
537d50:	8b f2                	mov    %edx,%esi
537d52:	c1 ee 1f             	shr    $0x1f,%esi
537d55:	03 f2                	add    %edx,%esi
537d57:	ba c4 4e ec 04       	mov    $0x4ec4ec4,%edx
537d5c:	8b c6                	mov    %esi,%eax
537d5e:	d1 e8                	shr    $1,%eax
537d60:	2b d0                	sub    %eax,%edx
537d62:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
537d65:	33 c0                	xor    %eax,%eax
537d67:	3b d6                	cmp    %esi,%edx
537d69:	5e                   	pop    %esi
537d6a:	0f 43 c1             	cmovae %ecx,%eax
537d6d:	3b 44 24 04          	cmp    0x4(%esp),%eax
537d71:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
537d76:	c2 04 00             	ret    $0x4
537d79:	cc                   	int3
537d7a:	cc                   	int3
537d7b:	cc                   	int3
537d7c:	cc                   	int3
537d7d:	cc                   	int3
537d7e:	cc                   	int3
537d7f:	cc                   	int3
537d80:	cc                   	int3
537d81:	cc                   	int3
537d82:	cc                   	int3
537d83:	cc                   	int3
537d84:	cc                   	int3
537d85:	cc                   	int3
537d86:	cc                   	int3
537d87:	cc                   	int3
537d88:	cc                   	int3
537d89:	cc                   	int3
537d8a:	cc                   	int3
537d8b:	cc                   	int3
537d8c:	cc                   	int3
537d8d:	cc                   	int3
537d8e:	cc                   	int3
537d8f:	cc                   	int3
537d90:	8b 51 08             	mov    0x8(%ecx),%edx
537d93:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
537d98:	2b 11                	sub    (%ecx),%edx
537d9a:	f7 ea                	imul   %edx
537d9c:	56                   	push   %esi
537d9d:	c1 fa 03             	sar    $0x3,%edx
537da0:	8b f2                	mov    %edx,%esi
537da2:	c1 ee 1f             	shr    $0x1f,%esi
537da5:	03 f2                	add    %edx,%esi
537da7:	ba 55 55 55 05       	mov    $0x5555555,%edx
537dac:	8b c6                	mov    %esi,%eax
537dae:	d1 e8                	shr    $1,%eax
537db0:	2b d0                	sub    %eax,%edx
537db2:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
537db5:	33 c0                	xor    %eax,%eax
537db7:	3b d6                	cmp    %esi,%edx
537db9:	5e                   	pop    %esi
537dba:	0f 43 c1             	cmovae %ecx,%eax
537dbd:	3b 44 24 04          	cmp    0x4(%esp),%eax
537dc1:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
537dc6:	c2 04 00             	ret    $0x4
537dc9:	cc                   	int3
537dca:	cc                   	int3
537dcb:	cc                   	int3
537dcc:	cc                   	int3
537dcd:	cc                   	int3
537dce:	cc                   	int3
537dcf:	cc                   	int3
537dd0:	cc                   	int3
537dd1:	cc                   	int3
537dd2:	cc                   	int3
537dd3:	cc                   	int3
537dd4:	cc                   	int3
537dd5:	cc                   	int3
537dd6:	cc                   	int3
537dd7:	cc                   	int3
537dd8:	cc                   	int3
537dd9:	cc                   	int3
537dda:	cc                   	int3
537ddb:	cc                   	int3
537ddc:	cc                   	int3
537ddd:	cc                   	int3
537dde:	cc                   	int3
537ddf:	cc                   	int3
537de0:	56                   	push   %esi
537de1:	8b 71 08             	mov    0x8(%ecx),%esi
537de4:	ba ff ff ff 3f       	mov    $0x3fffffff,%edx
537de9:	2b 31                	sub    (%ecx),%esi
537deb:	c1 fe 02             	sar    $0x2,%esi
537dee:	8b c6                	mov    %esi,%eax
537df0:	d1 e8                	shr    $1,%eax
537df2:	2b d0                	sub    %eax,%edx
537df4:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
537df7:	33 c0                	xor    %eax,%eax
537df9:	3b d6                	cmp    %esi,%edx
537dfb:	5e                   	pop    %esi
537dfc:	0f 43 c1             	cmovae %ecx,%eax
537dff:	3b 44 24 04          	cmp    0x4(%esp),%eax
537e03:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
537e08:	c2 04 00             	ret    $0x4
537e0b:	cc                   	int3
537e0c:	cc                   	int3
537e0d:	cc                   	int3
537e0e:	cc                   	int3
537e0f:	cc                   	int3
537e10:	cc                   	int3
537e11:	cc                   	int3
537e12:	cc                   	int3
537e13:	cc                   	int3
537e14:	cc                   	int3
537e15:	cc                   	int3
537e16:	cc                   	int3
537e17:	cc                   	int3
537e18:	cc                   	int3
537e19:	cc                   	int3
537e1a:	cc                   	int3
537e1b:	cc                   	int3
537e1c:	cc                   	int3
537e1d:	cc                   	int3
537e1e:	cc                   	int3
537e1f:	cc                   	int3
537e20:	8b 54 24 04          	mov    0x4(%esp),%edx
537e24:	53                   	push   %ebx
537e25:	56                   	push   %esi
537e26:	57                   	push   %edi
537e27:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
537e2b:	8b d9                	mov    %ecx,%ebx
537e2d:	8b 7a 10             	mov    0x10(%edx),%edi
537e30:	72 02                	jb     0x537e34
537e32:	8b 12                	mov    (%edx),%edx
537e34:	33 c9                	xor    %ecx,%ecx
537e36:	be c5 9d 1c 81       	mov    $0x811c9dc5,%esi
537e3b:	85 ff                	test   %edi,%edi
537e3d:	74 12                	je     0x537e51
537e3f:	90                   	nop
537e40:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
537e44:	41                   	inc    %ecx
537e45:	33 c6                	xor    %esi,%eax
537e47:	69 f0 93 01 00 01    	imul   $0x1000193,%eax,%esi
537e4d:	3b cf                	cmp    %edi,%ecx
537e4f:	72 ef                	jb     0x537e40
537e51:	8b 43 18             	mov    0x18(%ebx),%eax
537e54:	5f                   	pop    %edi
537e55:	23 c6                	and    %esi,%eax
537e57:	5e                   	pop    %esi
537e58:	5b                   	pop    %ebx
537e59:	c2 04 00             	ret    $0x4
537e5c:	cc                   	int3
537e5d:	cc                   	int3
537e5e:	cc                   	int3
537e5f:	cc                   	int3
537e60:	cc                   	int3
537e61:	cc                   	int3
537e62:	cc                   	int3
537e63:	cc                   	int3
537e64:	cc                   	int3
537e65:	cc                   	int3
537e66:	cc                   	int3
537e67:	cc                   	int3
537e68:	cc                   	int3
537e69:	cc                   	int3
537e6a:	cc                   	int3
537e6b:	cc                   	int3
537e6c:	cc                   	int3
537e6d:	cc                   	int3
537e6e:	cc                   	int3
537e6f:	cc                   	int3
537e70:	8b 51 04             	mov    0x4(%ecx),%edx
537e73:	b8 c6 71 1c 07       	mov    $0x71c71c6,%eax
537e78:	56                   	push   %esi
537e79:	8b 74 24 08          	mov    0x8(%esp),%esi
537e7d:	2b c2                	sub    %edx,%eax
537e7f:	3b c6                	cmp    %esi,%eax
537e81:	72 0a                	jb     0x537e8d
537e83:	8d 04 32             	lea    (%edx,%esi,1),%eax
537e86:	89 41 04             	mov    %eax,0x4(%ecx)
537e89:	5e                   	pop    %esi
537e8a:	c2 04 00             	ret    $0x4
537e8d:	68 0c 61 bd 00       	push   $0xbd610c
537e92:	e8 7f 19 ef ff       	call   0x429816
537e97:	cc                   	int3
537e98:	cc                   	int3
537e99:	cc                   	int3
537e9a:	cc                   	int3
537e9b:	cc                   	int3
537e9c:	cc                   	int3
537e9d:	cc                   	int3
537e9e:	cc                   	int3
537e9f:	cc                   	int3
537ea0:	cc                   	int3
537ea1:	cc                   	int3
537ea2:	cc                   	int3
537ea3:	cc                   	int3
537ea4:	cc                   	int3
537ea5:	cc                   	int3
537ea6:	cc                   	int3
537ea7:	cc                   	int3
537ea8:	cc                   	int3
537ea9:	cc                   	int3
537eaa:	cc                   	int3
537eab:	cc                   	int3
537eac:	cc                   	int3
537ead:	cc                   	int3
537eae:	cc                   	int3
537eaf:	cc                   	int3
537eb0:	51                   	push   %ecx
537eb1:	53                   	push   %ebx
537eb2:	8b d9                	mov    %ecx,%ebx
537eb4:	55                   	push   %ebp
537eb5:	8b 6c 24 10          	mov    0x10(%esp),%ebp
537eb9:	56                   	push   %esi
537eba:	8b 43 14             	mov    0x14(%ebx),%eax
537ebd:	2b 43 0c             	sub    0xc(%ebx),%eax
537ec0:	57                   	push   %edi
537ec1:	8d 3c 6d 00 00 00 00 	lea    0x0(,%ebp,2),%edi
537ec8:	c1 f8 02             	sar    $0x2,%eax
537ecb:	3b c7                	cmp    %edi,%eax
537ecd:	73 11                	jae    0x537ee0
537ecf:	81 ff ff ff ff 3f    	cmp    $0x3fffffff,%edi
537ed5:	77 3d                	ja     0x537f14
537ed7:	57                   	push   %edi
537ed8:	8d 4b 0c             	lea    0xc(%ebx),%ecx
537edb:	e8 3a ab ef ff       	call   0x432a1a
537ee0:	8b 43 04             	mov    0x4(%ebx),%eax
537ee3:	8d 4b 0c             	lea    0xc(%ebx),%ecx
537ee6:	89 44 24 18          	mov    %eax,0x18(%esp)
537eea:	8b 43 0c             	mov    0xc(%ebx),%eax
537eed:	89 43 10             	mov    %eax,0x10(%ebx)
537ef0:	8d 44 24 18          	lea    0x18(%esp),%eax
537ef4:	50                   	push   %eax
537ef5:	57                   	push   %edi
537ef6:	ff 73 0c             	push   0xc(%ebx)
537ef9:	8d 44 24 1c          	lea    0x1c(%esp),%eax
537efd:	50                   	push   %eax
537efe:	e8 8f da ed ff       	call   0x415992
537f03:	5f                   	pop    %edi
537f04:	5e                   	pop    %esi
537f05:	8d 45 ff             	lea    -0x1(%ebp),%eax
537f08:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
537f0b:	5d                   	pop    %ebp
537f0c:	89 43 18             	mov    %eax,0x18(%ebx)
537f0f:	5b                   	pop    %ebx
537f10:	59                   	pop    %ecx
537f11:	c2 04 00             	ret    $0x4
537f14:	68 58 20 bd 00       	push   $0xbd2058
537f19:	e8 f8 18 ef ff       	call   0x429816
537f1e:	cc                   	int3
537f1f:	cc                   	int3
537f20:	cc                   	int3
537f21:	cc                   	int3
537f22:	cc                   	int3
537f23:	cc                   	int3
537f24:	cc                   	int3
537f25:	cc                   	int3
537f26:	cc                   	int3
537f27:	cc                   	int3
537f28:	cc                   	int3
537f29:	cc                   	int3
537f2a:	cc                   	int3
537f2b:	cc                   	int3
537f2c:	cc                   	int3
537f2d:	cc                   	int3
537f2e:	cc                   	int3
537f2f:	cc                   	int3
537f30:	cc                   	int3
537f31:	cc                   	int3