416ca0:	8b c2                	mov    %edx,%eax
416ca2:	eb 02                	jmp    0x416ca6
416ca4:	8b c7                	mov    %edi,%eax
416ca6:	5f                   	pop    %edi
416ca7:	5e                   	pop    %esi
416ca8:	5d                   	pop    %ebp
416ca9:	c2 04 00             	ret    $0x4
416cac:	55                   	push   %ebp
416cad:	8b ec                	mov    %esp,%ebp
416caf:	8b 55 08             	mov    0x8(%ebp),%edx
416cb2:	56                   	push   %esi
416cb3:	57                   	push   %edi
416cb4:	83 ca 07             	or     $0x7,%edx
416cb7:	bf fe ff ff 7f       	mov    $0x7ffffffe,%edi
416cbc:	3b d7                	cmp    %edi,%edx
416cbe:	77 1b                	ja     0x416cdb
416cc0:	8b 71 14             	mov    0x14(%ecx),%esi
416cc3:	8b c7                	mov    %edi,%eax
416cc5:	8b ce                	mov    %esi,%ecx
416cc7:	d1 e9                	shr    $1,%ecx
416cc9:	2b c1                	sub    %ecx,%eax
416ccb:	3b f0                	cmp    %eax,%esi
416ccd:	77 0c                	ja     0x416cdb
416ccf:	8d 04 31             	lea    (%ecx,%esi,1),%eax
416cd2:	3b d0                	cmp    %eax,%edx
416cd4:	0f 42 d0             	cmovb  %eax,%edx
416cd7:	8b c2                	mov    %edx,%eax
416cd9:	eb 02                	jmp    0x416cdd
416cdb:	8b c7                	mov    %edi,%eax
416cdd:	5f                   	pop    %edi
416cde:	5e                   	pop    %esi
416cdf:	5d                   	pop    %ebp
416ce0:	c2 04 00             	ret    $0x4
416ce3:	55                   	push   %ebp
416ce4:	8b ec                	mov    %esp,%ebp
416ce6:	8b 51 08             	mov    0x8(%ecx),%edx
416ce9:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
416cee:	2b 11                	sub    (%ecx),%edx
416cf0:	c1 fa 02             	sar    $0x2,%edx
416cf3:	8b ca                	mov    %edx,%ecx
416cf5:	d1 e9                	shr    $1,%ecx
416cf7:	2b c1                	sub    %ecx,%eax
416cf9:	3b d0                	cmp    %eax,%edx
416cfb:	77 08                	ja     0x416d05
416cfd:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416d00:	3b 45 08             	cmp    0x8(%ebp),%eax
416d03:	73 03                	jae    0x416d08
416d05:	8b 45 08             	mov    0x8(%ebp),%eax
416d08:	5d                   	pop    %ebp
416d09:	c2 04 00             	ret    $0x4
416d0c:	55                   	push   %ebp
416d0d:	8b ec                	mov    %esp,%ebp
416d0f:	8b 41 08             	mov    0x8(%ecx),%eax
416d12:	2b 01                	sub    (%ecx),%eax
416d14:	6a 18                	push   $0x18
416d16:	59                   	pop    %ecx
416d17:	99                   	cltd
416d18:	f7 f9                	idiv   %ecx
416d1a:	b9 aa aa aa 0a       	mov    $0xaaaaaaa,%ecx
416d1f:	8b d0                	mov    %eax,%edx
416d21:	d1 ea                	shr    $1,%edx
416d23:	2b ca                	sub    %edx,%ecx
416d25:	3b c1                	cmp    %ecx,%eax
416d27:	77 07                	ja     0x416d30
416d29:	03 c2                	add    %edx,%eax
416d2b:	3b 45 08             	cmp    0x8(%ebp),%eax
416d2e:	73 03                	jae    0x416d33
416d30:	8b 45 08             	mov    0x8(%ebp),%eax
416d33:	5d                   	pop    %ebp
416d34:	c2 04 00             	ret    $0x4
416d37:	55                   	push   %ebp
416d38:	8b ec                	mov    %esp,%ebp
416d3a:	8b 51 08             	mov    0x8(%ecx),%edx
416d3d:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
416d42:	2b 11                	sub    (%ecx),%edx
416d44:	c1 fa 03             	sar    $0x3,%edx
416d47:	8b ca                	mov    %edx,%ecx
416d49:	d1 e9                	shr    $1,%ecx
416d4b:	2b c1                	sub    %ecx,%eax
416d4d:	3b d0                	cmp    %eax,%edx
416d4f:	77 08                	ja     0x416d59
416d51:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416d54:	3b 45 08             	cmp    0x8(%ebp),%eax
416d57:	73 03                	jae    0x416d5c
416d59:	8b 45 08             	mov    0x8(%ebp),%eax
416d5c:	5d                   	pop    %ebp
416d5d:	c2 04 00             	ret    $0x4
416d60:	55                   	push   %ebp
416d61:	8b ec                	mov    %esp,%ebp
416d63:	8b 51 08             	mov    0x8(%ecx),%edx
416d66:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
416d6b:	2b 11                	sub    (%ecx),%edx
416d6d:	c1 fa 03             	sar    $0x3,%edx
416d70:	8b ca                	mov    %edx,%ecx
416d72:	d1 e9                	shr    $1,%ecx
416d74:	2b c1                	sub    %ecx,%eax
416d76:	3b d0                	cmp    %eax,%edx
416d78:	77 08                	ja     0x416d82
416d7a:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416d7d:	3b 45 08             	cmp    0x8(%ebp),%eax
416d80:	73 03                	jae    0x416d85
416d82:	8b 45 08             	mov    0x8(%ebp),%eax
416d85:	5d                   	pop    %ebp
416d86:	c2 04 00             	ret    $0x4
416d89:	55                   	push   %ebp
416d8a:	8b ec                	mov    %esp,%ebp
416d8c:	8b 51 08             	mov    0x8(%ecx),%edx
416d8f:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
416d94:	2b 11                	sub    (%ecx),%edx
416d96:	c1 fa 03             	sar    $0x3,%edx
416d99:	8b ca                	mov    %edx,%ecx
416d9b:	d1 e9                	shr    $1,%ecx
416d9d:	2b c1                	sub    %ecx,%eax
416d9f:	3b d0                	cmp    %eax,%edx
416da1:	77 08                	ja     0x416dab
416da3:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416da6:	3b 45 08             	cmp    0x8(%ebp),%eax
416da9:	73 03                	jae    0x416dae
416dab:	8b 45 08             	mov    0x8(%ebp),%eax
416dae:	5d                   	pop    %ebp
416daf:	c2 04 00             	ret    $0x4
416db2:	55                   	push   %ebp
416db3:	8b ec                	mov    %esp,%ebp
416db5:	8b 51 08             	mov    0x8(%ecx),%edx
416db8:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
416dbd:	2b 11                	sub    (%ecx),%edx
416dbf:	c1 fa 03             	sar    $0x3,%edx
416dc2:	8b ca                	mov    %edx,%ecx
416dc4:	d1 e9                	shr    $1,%ecx
416dc6:	2b c1                	sub    %ecx,%eax
416dc8:	3b d0                	cmp    %eax,%edx
416dca:	77 08                	ja     0x416dd4
416dcc:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416dcf:	3b 45 08             	cmp    0x8(%ebp),%eax
416dd2:	73 03                	jae    0x416dd7
416dd4:	8b 45 08             	mov    0x8(%ebp),%eax
416dd7:	5d                   	pop    %ebp
416dd8:	c2 04 00             	ret    $0x4
416ddb:	55                   	push   %ebp
416ddc:	8b ec                	mov    %esp,%ebp
416dde:	8b 41 08             	mov    0x8(%ecx),%eax
416de1:	2b 01                	sub    (%ecx),%eax
416de3:	6a 18                	push   $0x18
416de5:	59                   	pop    %ecx
416de6:	99                   	cltd
416de7:	f7 f9                	idiv   %ecx
416de9:	b9 aa aa aa 0a       	mov    $0xaaaaaaa,%ecx
416dee:	8b d0                	mov    %eax,%edx
416df0:	d1 ea                	shr    $1,%edx
416df2:	2b ca                	sub    %edx,%ecx
416df4:	3b c1                	cmp    %ecx,%eax
416df6:	77 07                	ja     0x416dff
416df8:	03 c2                	add    %edx,%eax
416dfa:	3b 45 08             	cmp    0x8(%ebp),%eax
416dfd:	73 03                	jae    0x416e02
416dff:	8b 45 08             	mov    0x8(%ebp),%eax
416e02:	5d                   	pop    %ebp
416e03:	c2 04 00             	ret    $0x4
416e06:	55                   	push   %ebp
416e07:	8b ec                	mov    %esp,%ebp
416e09:	8b 41 08             	mov    0x8(%ecx),%eax
416e0c:	2b 01                	sub    (%ecx),%eax
416e0e:	6a 0c                	push   $0xc
416e10:	59                   	pop    %ecx
416e11:	99                   	cltd
416e12:	f7 f9                	idiv   %ecx
416e14:	b9 55 55 55 15       	mov    $0x15555555,%ecx
416e19:	8b d0                	mov    %eax,%edx
416e1b:	d1 ea                	shr    $1,%edx
416e1d:	2b ca                	sub    %edx,%ecx
416e1f:	3b c1                	cmp    %ecx,%eax
416e21:	77 07                	ja     0x416e2a
416e23:	03 c2                	add    %edx,%eax
416e25:	3b 45 08             	cmp    0x8(%ebp),%eax
416e28:	73 03                	jae    0x416e2d
416e2a:	8b 45 08             	mov    0x8(%ebp),%eax
416e2d:	5d                   	pop    %ebp
416e2e:	c2 04 00             	ret    $0x4
416e31:	55                   	push   %ebp
416e32:	8b ec                	mov    %esp,%ebp
416e34:	8b 41 08             	mov    0x8(%ecx),%eax
416e37:	2b 01                	sub    (%ecx),%eax
416e39:	6a 0c                	push   $0xc
416e3b:	59                   	pop    %ecx
416e3c:	99                   	cltd
416e3d:	f7 f9                	idiv   %ecx
416e3f:	b9 55 55 55 15       	mov    $0x15555555,%ecx
416e44:	8b d0                	mov    %eax,%edx
416e46:	d1 ea                	shr    $1,%edx
416e48:	2b ca                	sub    %edx,%ecx
416e4a:	3b c1                	cmp    %ecx,%eax
416e4c:	77 07                	ja     0x416e55
416e4e:	03 c2                	add    %edx,%eax
416e50:	3b 45 08             	cmp    0x8(%ebp),%eax
416e53:	73 03                	jae    0x416e58
416e55:	8b 45 08             	mov    0x8(%ebp),%eax
416e58:	5d                   	pop    %ebp
416e59:	c2 04 00             	ret    $0x4
416e5c:	55                   	push   %ebp
416e5d:	8b ec                	mov    %esp,%ebp
416e5f:	8b 41 08             	mov    0x8(%ecx),%eax
416e62:	2b 01                	sub    (%ecx),%eax
416e64:	6a 0c                	push   $0xc
416e66:	59                   	pop    %ecx
416e67:	99                   	cltd
416e68:	f7 f9                	idiv   %ecx
416e6a:	b9 55 55 55 15       	mov    $0x15555555,%ecx
416e6f:	8b d0                	mov    %eax,%edx
416e71:	d1 ea                	shr    $1,%edx
416e73:	2b ca                	sub    %edx,%ecx
416e75:	3b c1                	cmp    %ecx,%eax
416e77:	77 07                	ja     0x416e80
416e79:	03 c2                	add    %edx,%eax
416e7b:	3b 45 08             	cmp    0x8(%ebp),%eax
416e7e:	73 03                	jae    0x416e83
416e80:	8b 45 08             	mov    0x8(%ebp),%eax
416e83:	5d                   	pop    %ebp
416e84:	c2 04 00             	ret    $0x4
416e87:	55                   	push   %ebp
416e88:	8b ec                	mov    %esp,%ebp
416e8a:	8b 51 08             	mov    0x8(%ecx),%edx
416e8d:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
416e92:	2b 11                	sub    (%ecx),%edx
416e94:	c1 fa 03             	sar    $0x3,%edx
416e97:	8b ca                	mov    %edx,%ecx
416e99:	d1 e9                	shr    $1,%ecx
416e9b:	2b c1                	sub    %ecx,%eax
416e9d:	3b d0                	cmp    %eax,%edx
416e9f:	77 08                	ja     0x416ea9
416ea1:	8d 04 11             	lea    (%ecx,%edx,1),%eax
416ea4:	3b 45 08             	cmp    0x8(%ebp),%eax
416ea7:	73 03                	jae    0x416eac
416ea9:	8b 45 08             	mov    0x8(%ebp),%eax
416eac:	5d                   	pop    %ebp
416ead:	c2 04 00             	ret    $0x4
416eb0:	55                   	push   %ebp
416eb1:	8b ec                	mov    %esp,%ebp
416eb3:	56                   	push   %esi
416eb4:	8b 75 08             	mov    0x8(%ebp),%esi
416eb7:	3b 75 0c             	cmp    0xc(%ebp),%esi
416eba:	0f 84 93 00 00 00    	je     0x416f53
416ec0:	57                   	push   %edi
416ec1:	8b 7d 10             	mov    0x10(%ebp),%edi
416ec4:	53                   	push   %ebx
416ec5:	85 f6                	test   %esi,%esi
416ec7:	0f 84 84 00 00 00    	je     0x416f51
416ecd:	8b 46 04             	mov    0x4(%esi),%eax
416ed0:	83 f8 0a             	cmp    $0xa,%eax
416ed3:	7c 70                	jl     0x416f45
416ed5:	83 f8 0b             	cmp    $0xb,%eax
416ed8:	7e 5c                	jle    0x416f36
416eda:	83 f8 10             	cmp    $0x10,%eax
416edd:	74 32                	je     0x416f11
416edf:	83 f8 12             	cmp    $0x12,%eax
416ee2:	74 1b                	je     0x416eff
416ee4:	83 f8 13             	cmp    $0x13,%eax
416ee7:	75 5c                	jne    0x416f45
416ee9:	3b 7e 14             	cmp    0x14(%esi),%edi
416eec:	75 57                	jne    0x416f45
416eee:	83 7f 24 ff          	cmpl   $0xffffffff,0x24(%edi)
416ef2:	75 07                	jne    0x416efb
416ef4:	c7 47 24 01 00 00 00 	movl   $0x1,0x24(%edi)
416efb:	33 ff                	xor    %edi,%edi
416efd:	eb 46                	jmp    0x416f45
416eff:	85 ff                	test   %edi,%edi
416f01:	75 04                	jne    0x416f07
416f03:	8b fe                	mov    %esi,%edi
416f05:	eb 3e                	jmp    0x416f45
416f07:	83 67 24 00          	andl   $0x0,0x24(%edi)
416f0b:	83 66 24 00          	andl   $0x0,0x24(%esi)
416f0f:	eb 34                	jmp    0x416f45
416f11:	85 ff                	test   %edi,%edi
416f13:	74 04                	je     0x416f19
416f15:	83 67 24 00          	andl   $0x0,0x24(%edi)
416f19:	8b 5e 18             	mov    0x18(%esi),%ebx
416f1c:	eb 12                	jmp    0x416f30
416f1e:	57                   	push   %edi
416f1f:	ff 73 14             	push   0x14(%ebx)
416f22:	ff 73 0c             	push   0xc(%ebx)
416f25:	e8 86 ff ff ff       	call   0x416eb0
416f2a:	8b 5b 18             	mov    0x18(%ebx),%ebx
416f2d:	83 c4 0c             	add    $0xc,%esp
416f30:	85 db                	test   %ebx,%ebx
416f32:	75 ea                	jne    0x416f1e
416f34:	eb 0f                	jmp    0x416f45
416f36:	6a 00                	push   $0x0
416f38:	6a 00                	push   $0x0
416f3a:	ff 76 14             	push   0x14(%esi)
416f3d:	e8 6e ff ff ff       	call   0x416eb0
416f42:	83 c4 0c             	add    $0xc,%esp
416f45:	8b 76 0c             	mov    0xc(%esi),%esi
416f48:	3b 75 0c             	cmp    0xc(%ebp),%esi
416f4b:	0f 85 74 ff ff ff    	jne    0x416ec5
416f51:	5b                   	pop    %ebx
416f52:	5f                   	pop    %edi
416f53:	5e                   	pop    %esi
416f54:	5d                   	pop    %ebp
416f55:	c3                   	ret
416f56:	55                   	push   %ebp
416f57:	8b ec                	mov    %esp,%ebp
416f59:	56                   	push   %esi
416f5a:	8b f1                	mov    %ecx,%esi
416f5c:	83 3e 00             	cmpl   $0x0,(%esi)
416f5f:	74 12                	je     0x416f73
416f61:	8b 46 08             	mov    0x8(%esi),%eax
416f64:	2b 06                	sub    (%esi),%eax
416f66:	83 e0 fc             	and    $0xfffffffc,%eax
416f69:	50                   	push   %eax
416f6a:	ff 36                	push   (%esi)
416f6c:	e8 b9 c5 fe ff       	call   0x40352a
416f71:	59                   	pop    %ecx
416f72:	59                   	pop    %ecx
416f73:	8b 4d 08             	mov    0x8(%ebp),%ecx
416f76:	8b 45 0c             	mov    0xc(%ebp),%eax
416f79:	89 0e                	mov    %ecx,(%esi)
416f7b:	8d 04 81             	lea    (%ecx,%eax,4),%eax
416f7e:	89 46 04             	mov    %eax,0x4(%esi)
416f81:	8b 45 10             	mov    0x10(%ebp),%eax
416f84:	8d 04 81             	lea    (%ecx,%eax,4),%eax
416f87:	89 46 08             	mov    %eax,0x8(%esi)
416f8a:	5e                   	pop    %esi
416f8b:	5d                   	pop    %ebp
416f8c:	c2 0c 00             	ret    $0xc
416f8f:	55                   	push   %ebp
416f90:	8b ec                	mov    %esp,%ebp
416f92:	56                   	push   %esi
416f93:	8b f1                	mov    %ecx,%esi
416f95:	83 3e 00             	cmpl   $0x0,(%esi)
416f98:	74 18                	je     0x416fb2
416f9a:	8b 46 08             	mov    0x8(%esi),%eax
416f9d:	2b 06                	sub    (%esi),%eax
416f9f:	6a 18                	push   $0x18
416fa1:	59                   	pop    %ecx
416fa2:	99                   	cltd
416fa3:	f7 f9                	idiv   %ecx
416fa5:	6b c0 18             	imul   $0x18,%eax,%eax
416fa8:	50                   	push   %eax
416fa9:	ff 36                	push   (%esi)
416fab:	e8 7a c5 fe ff       	call   0x40352a
416fb0:	59                   	pop    %ecx
416fb1:	59                   	pop    %ecx
416fb2:	6b 45 0c 18          	imul   $0x18,0xc(%ebp),%eax
416fb6:	8b 4d 08             	mov    0x8(%ebp),%ecx
416fb9:	89 0e                	mov    %ecx,(%esi)
416fbb:	03 c1                	add    %ecx,%eax
416fbd:	89 46 04             	mov    %eax,0x4(%esi)
416fc0:	6b 45 10 18          	imul   $0x18,0x10(%ebp),%eax
416fc4:	03 c1                	add    %ecx,%eax
416fc6:	89 46 08             	mov    %eax,0x8(%esi)
416fc9:	5e                   	pop    %esi