41697f:	74 1d                	je     0x41699e
416981:	8b 46 34             	mov    0x34(%esi),%eax
416984:	8b 5e 14             	mov    0x14(%esi),%ebx
416987:	8b 0c 07             	mov    (%edi,%eax,1),%ecx
41698a:	8b 04 1f             	mov    (%edi,%ebx,1),%eax
41698d:	3b c8                	cmp    %eax,%ecx
41698f:	75 38                	jne    0x4169c9
416991:	8b 46 34             	mov    0x34(%esi),%eax
416994:	8b 44 07 04          	mov    0x4(%edi,%eax,1),%eax
416998:	3b 44 1f 04          	cmp    0x4(%edi,%ebx,1),%eax
41699c:	75 10                	jne    0x4169ae
41699e:	42                   	inc    %edx
41699f:	83 c7 08             	add    $0x8,%edi
4169a2:	3b 56 68             	cmp    0x68(%esi),%edx
4169a5:	72 b5                	jb     0x41695c
4169a7:	32 c0                	xor    %al,%al
4169a9:	5f                   	pop    %edi
4169aa:	5e                   	pop    %esi
4169ab:	5b                   	pop    %ebx
4169ac:	c9                   	leave
4169ad:	c3                   	ret
4169ae:	8b 46 34             	mov    0x34(%esi),%eax
4169b1:	8b 4c d3 04          	mov    0x4(%ebx,%edx,8),%ecx
4169b5:	2b 4e 4c             	sub    0x4c(%esi),%ecx
4169b8:	83 e1 fe             	and    $0xfffffffe,%ecx
4169bb:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
4169bf:	2b 46 4c             	sub    0x4c(%esi),%eax
4169c2:	83 e0 fe             	and    $0xfffffffe,%eax
4169c5:	3b c1                	cmp    %ecx,%eax
4169c7:	eb 0e                	jmp    0x4169d7
4169c9:	2b 46 4c             	sub    0x4c(%esi),%eax
4169cc:	2b 4e 4c             	sub    0x4c(%esi),%ecx
4169cf:	83 e0 fe             	and    $0xfffffffe,%eax
4169d2:	83 e1 fe             	and    $0xfffffffe,%ecx
4169d5:	3b c8                	cmp    %eax,%ecx
4169d7:	0f 9c c0             	setl   %al
4169da:	eb cd                	jmp    0x4169a9
4169dc:	55                   	push   %ebp
4169dd:	8b ec                	mov    %esp,%ebp
4169df:	56                   	push   %esi
4169e0:	8b f1                	mov    %ecx,%esi
4169e2:	33 c0                	xor    %eax,%eax
4169e4:	57                   	push   %edi
4169e5:	8b 7d 08             	mov    0x8(%ebp),%edi
4169e8:	89 06                	mov    %eax,(%esi)
4169ea:	89 46 04             	mov    %eax,0x4(%esi)
4169ed:	89 46 08             	mov    %eax,0x8(%esi)
4169f0:	85 ff                	test   %edi,%edi
4169f2:	75 04                	jne    0x4169f8
4169f4:	32 c0                	xor    %al,%al
4169f6:	eb 1b                	jmp    0x416a13
4169f8:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
4169fe:	77 19                	ja     0x416a19
416a00:	57                   	push   %edi
416a01:	e8 82 bc fe ff       	call   0x402688
416a06:	89 06                	mov    %eax,(%esi)
416a08:	89 46 04             	mov    %eax,0x4(%esi)
416a0b:	03 c7                	add    %edi,%eax
416a0d:	89 46 08             	mov    %eax,0x8(%esi)
416a10:	b0 01                	mov    $0x1,%al
416a12:	59                   	pop    %ecx
416a13:	5f                   	pop    %edi
416a14:	5e                   	pop    %esi
416a15:	5d                   	pop    %ebp
416a16:	c2 04 00             	ret    $0x4
416a19:	e8 04 6d 00 00       	call   0x41d722
416a1e:	cc                   	int3
416a1f:	55                   	push   %ebp
416a20:	8b ec                	mov    %esp,%ebp
416a22:	56                   	push   %esi
416a23:	8b f1                	mov    %ecx,%esi
416a25:	33 c0                	xor    %eax,%eax
416a27:	57                   	push   %edi
416a28:	8b 7d 08             	mov    0x8(%ebp),%edi
416a2b:	89 06                	mov    %eax,(%esi)
416a2d:	89 46 04             	mov    %eax,0x4(%esi)
416a30:	89 46 08             	mov    %eax,0x8(%esi)
416a33:	85 ff                	test   %edi,%edi
416a35:	75 04                	jne    0x416a3b
416a37:	32 c0                	xor    %al,%al
416a39:	eb 1b                	jmp    0x416a56
416a3b:	81 ff ff ff ff 3f    	cmp    $0x3fffffff,%edi
416a41:	77 19                	ja     0x416a5c
416a43:	57                   	push   %edi
416a44:	e8 0b 89 00 00       	call   0x41f354
416a49:	89 06                	mov    %eax,(%esi)
416a4b:	89 46 04             	mov    %eax,0x4(%esi)
416a4e:	8d 04 b8             	lea    (%eax,%edi,4),%eax
416a51:	89 46 08             	mov    %eax,0x8(%esi)
416a54:	b0 01                	mov    $0x1,%al
416a56:	5f                   	pop    %edi
416a57:	5e                   	pop    %esi
416a58:	5d                   	pop    %ebp
416a59:	c2 04 00             	ret    $0x4
416a5c:	e8 cc 6c 00 00       	call   0x41d72d
416a61:	cc                   	int3
416a62:	55                   	push   %ebp
416a63:	8b ec                	mov    %esp,%ebp
416a65:	56                   	push   %esi
416a66:	8b f1                	mov    %ecx,%esi
416a68:	33 c0                	xor    %eax,%eax
416a6a:	57                   	push   %edi
416a6b:	8b 7d 08             	mov    0x8(%ebp),%edi
416a6e:	89 06                	mov    %eax,(%esi)
416a70:	89 46 04             	mov    %eax,0x4(%esi)
416a73:	89 46 08             	mov    %eax,0x8(%esi)
416a76:	85 ff                	test   %edi,%edi
416a78:	75 04                	jne    0x416a7e
416a7a:	32 c0                	xor    %al,%al
416a7c:	eb 1b                	jmp    0x416a99
416a7e:	81 ff ff ff ff 3f    	cmp    $0x3fffffff,%edi
416a84:	77 19                	ja     0x416a9f
416a86:	57                   	push   %edi
416a87:	e8 e9 88 00 00       	call   0x41f375
416a8c:	89 06                	mov    %eax,(%esi)
416a8e:	89 46 04             	mov    %eax,0x4(%esi)
416a91:	8d 04 b8             	lea    (%eax,%edi,4),%eax
416a94:	89 46 08             	mov    %eax,0x8(%esi)
416a97:	b0 01                	mov    $0x1,%al
416a99:	5f                   	pop    %edi
416a9a:	5e                   	pop    %esi
416a9b:	5d                   	pop    %ebp
416a9c:	c2 04 00             	ret    $0x4
416a9f:	e8 94 6c 00 00       	call   0x41d738
416aa4:	cc                   	int3
416aa5:	55                   	push   %ebp
416aa6:	8b ec                	mov    %esp,%ebp
416aa8:	56                   	push   %esi
416aa9:	8b f1                	mov    %ecx,%esi
416aab:	33 c0                	xor    %eax,%eax
416aad:	57                   	push   %edi
416aae:	8b 7d 08             	mov    0x8(%ebp),%edi
416ab1:	89 06                	mov    %eax,(%esi)
416ab3:	89 46 04             	mov    %eax,0x4(%esi)
416ab6:	89 46 08             	mov    %eax,0x8(%esi)
416ab9:	85 ff                	test   %edi,%edi
416abb:	75 04                	jne    0x416ac1
416abd:	32 c0                	xor    %al,%al
416abf:	eb 1b                	jmp    0x416adc
416ac1:	81 ff ff ff ff 1f    	cmp    $0x1fffffff,%edi
416ac7:	77 19                	ja     0x416ae2
416ac9:	57                   	push   %edi
416aca:	e8 e6 88 00 00       	call   0x41f3b5
416acf:	89 06                	mov    %eax,(%esi)
416ad1:	89 46 04             	mov    %eax,0x4(%esi)
416ad4:	8d 04 f8             	lea    (%eax,%edi,8),%eax
416ad7:	89 46 08             	mov    %eax,0x8(%esi)
416ada:	b0 01                	mov    $0x1,%al
416adc:	5f                   	pop    %edi
416add:	5e                   	pop    %esi
416ade:	5d                   	pop    %ebp
416adf:	c2 04 00             	ret    $0x4
416ae2:	e8 67 6c 00 00       	call   0x41d74e
416ae7:	cc                   	int3
416ae8:	55                   	push   %ebp
416ae9:	8b ec                	mov    %esp,%ebp
416aeb:	56                   	push   %esi
416aec:	8b f1                	mov    %ecx,%esi
416aee:	33 c0                	xor    %eax,%eax
416af0:	57                   	push   %edi
416af1:	8b 7d 08             	mov    0x8(%ebp),%edi
416af4:	89 06                	mov    %eax,(%esi)
416af6:	89 46 04             	mov    %eax,0x4(%esi)
416af9:	89 46 08             	mov    %eax,0x8(%esi)
416afc:	85 ff                	test   %edi,%edi
416afe:	75 04                	jne    0x416b04
416b00:	32 c0                	xor    %al,%al
416b02:	eb 1b                	jmp    0x416b1f
416b04:	81 ff ff ff ff 1f    	cmp    $0x1fffffff,%edi
416b0a:	77 19                	ja     0x416b25
416b0c:	57                   	push   %edi
416b0d:	e8 c4 88 00 00       	call   0x41f3d6
416b12:	89 06                	mov    %eax,(%esi)
416b14:	89 46 04             	mov    %eax,0x4(%esi)
416b17:	8d 04 f8             	lea    (%eax,%edi,8),%eax
416b1a:	89 46 08             	mov    %eax,0x8(%esi)
416b1d:	b0 01                	mov    $0x1,%al
416b1f:	5f                   	pop    %edi
416b20:	5e                   	pop    %esi
416b21:	5d                   	pop    %ebp
416b22:	c2 04 00             	ret    $0x4
416b25:	e8 2f 6c 00 00       	call   0x41d759
416b2a:	cc                   	int3
416b2b:	55                   	push   %ebp
416b2c:	8b ec                	mov    %esp,%ebp
416b2e:	56                   	push   %esi
416b2f:	8b f1                	mov    %ecx,%esi
416b31:	33 c0                	xor    %eax,%eax
416b33:	57                   	push   %edi
416b34:	8b 7d 08             	mov    0x8(%ebp),%edi
416b37:	89 06                	mov    %eax,(%esi)
416b39:	89 46 04             	mov    %eax,0x4(%esi)
416b3c:	89 46 08             	mov    %eax,0x8(%esi)
416b3f:	85 ff                	test   %edi,%edi
416b41:	75 04                	jne    0x416b47
416b43:	32 c0                	xor    %al,%al
416b45:	eb 1b                	jmp    0x416b62
416b47:	81 ff ff ff ff 1f    	cmp    $0x1fffffff,%edi
416b4d:	77 19                	ja     0x416b68
416b4f:	57                   	push   %edi
416b50:	e8 a2 88 00 00       	call   0x41f3f7
416b55:	89 06                	mov    %eax,(%esi)
416b57:	89 46 04             	mov    %eax,0x4(%esi)
416b5a:	8d 04 f8             	lea    (%eax,%edi,8),%eax
416b5d:	89 46 08             	mov    %eax,0x8(%esi)
416b60:	b0 01                	mov    $0x1,%al
416b62:	5f                   	pop    %edi
416b63:	5e                   	pop    %esi
416b64:	5d                   	pop    %ebp
416b65:	c2 04 00             	ret    $0x4
416b68:	e8 f7 6b 00 00       	call   0x41d764
416b6d:	cc                   	int3
416b6e:	55                   	push   %ebp
416b6f:	8b ec                	mov    %esp,%ebp
416b71:	56                   	push   %esi
416b72:	8b f1                	mov    %ecx,%esi
416b74:	33 c0                	xor    %eax,%eax
416b76:	57                   	push   %edi
416b77:	8b 7d 08             	mov    0x8(%ebp),%edi
416b7a:	89 06                	mov    %eax,(%esi)
416b7c:	89 46 04             	mov    %eax,0x4(%esi)
416b7f:	89 46 08             	mov    %eax,0x8(%esi)
416b82:	85 ff                	test   %edi,%edi
416b84:	75 04                	jne    0x416b8a
416b86:	32 c0                	xor    %al,%al
416b88:	eb 1d                	jmp    0x416ba7
416b8a:	81 ff aa aa aa 0a    	cmp    $0xaaaaaaa,%edi
416b90:	77 1b                	ja     0x416bad
416b92:	57                   	push   %edi
416b93:	e8 a1 88 00 00       	call   0x41f439
416b98:	6b cf 18             	imul   $0x18,%edi,%ecx
416b9b:	89 06                	mov    %eax,(%esi)
416b9d:	89 46 04             	mov    %eax,0x4(%esi)
416ba0:	03 c8                	add    %eax,%ecx
416ba2:	b0 01                	mov    $0x1,%al
416ba4:	89 4e 08             	mov    %ecx,0x8(%esi)
416ba7:	5f                   	pop    %edi
416ba8:	5e                   	pop    %esi
416ba9:	5d                   	pop    %ebp
416baa:	c2 04 00             	ret    $0x4
416bad:	e8 c8 6b 00 00       	call   0x41d77a
416bb2:	cc                   	int3
416bb3:	55                   	push   %ebp
416bb4:	8b ec                	mov    %esp,%ebp
416bb6:	56                   	push   %esi
416bb7:	8b f1                	mov    %ecx,%esi
416bb9:	33 c0                	xor    %eax,%eax
416bbb:	57                   	push   %edi
416bbc:	8b 7d 08             	mov    0x8(%ebp),%edi
416bbf:	89 06                	mov    %eax,(%esi)
416bc1:	89 46 04             	mov    %eax,0x4(%esi)
416bc4:	89 46 08             	mov    %eax,0x8(%esi)
416bc7:	85 ff                	test   %edi,%edi
416bc9:	75 04                	jne    0x416bcf
416bcb:	32 c0                	xor    %al,%al
416bcd:	eb 1d                	jmp    0x416bec
416bcf:	81 ff 55 55 55 15    	cmp    $0x15555555,%edi
416bd5:	77 1b                	ja     0x416bf2
416bd7:	57                   	push   %edi
416bd8:	e8 b9 88 00 00       	call   0x41f496
416bdd:	6b cf 0c             	imul   $0xc,%edi,%ecx
416be0:	89 06                	mov    %eax,(%esi)
416be2:	89 46 04             	mov    %eax,0x4(%esi)
416be5:	03 c8                	add    %eax,%ecx
416be7:	b0 01                	mov    $0x1,%al
416be9:	89 4e 08             	mov    %ecx,0x8(%esi)
416bec:	5f                   	pop    %edi
416bed:	5e                   	pop    %esi
416bee:	5d                   	pop    %ebp
416bef:	c2 04 00             	ret    $0x4
416bf2:	e8 a4 6b 00 00       	call   0x41d79b
416bf7:	cc                   	int3
416bf8:	55                   	push   %ebp
416bf9:	8b ec                	mov    %esp,%ebp
416bfb:	56                   	push   %esi
416bfc:	8b f1                	mov    %ecx,%esi
416bfe:	33 c0                	xor    %eax,%eax
416c00:	57                   	push   %edi
416c01:	8b 7d 08             	mov    0x8(%ebp),%edi
416c04:	89 06                	mov    %eax,(%esi)
416c06:	89 46 04             	mov    %eax,0x4(%esi)
416c09:	89 46 08             	mov    %eax,0x8(%esi)
416c0c:	85 ff                	test   %edi,%edi
416c0e:	75 04                	jne    0x416c14
416c10:	32 c0                	xor    %al,%al
416c12:	eb 1b                	jmp    0x416c2f
416c14:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
416c1a:	77 19                	ja     0x416c35
416c1c:	57                   	push   %edi
416c1d:	e8 d3 88 00 00       	call   0x41f4f5
416c22:	89 06                	mov    %eax,(%esi)
416c24:	89 46 04             	mov    %eax,0x4(%esi)
416c27:	8d 04 78             	lea    (%eax,%edi,2),%eax
416c2a:	89 46 08             	mov    %eax,0x8(%esi)
416c2d:	b0 01                	mov    $0x1,%al
416c2f:	5f                   	pop    %edi
416c30:	5e                   	pop    %esi
416c31:	5d                   	pop    %ebp
416c32:	c2 04 00             	ret    $0x4
416c35:	e8 82 6b 00 00       	call   0x41d7bc
416c3a:	cc                   	int3
416c3b:	56                   	push   %esi
416c3c:	57                   	push   %edi
416c3d:	8b f9                	mov    %ecx,%edi
416c3f:	8d 77 08             	lea    0x8(%edi),%esi
416c42:	56                   	push   %esi
416c43:	e8 28 1f ff ff       	call   0x408b70
416c48:	56                   	push   %esi
416c49:	89 07                	mov    %eax,(%edi)
416c4b:	e8 6c 20 ff ff       	call   0x408cbc
416c50:	59                   	pop    %ecx
416c51:	59                   	pop    %ecx
416c52:	89 47 04             	mov    %eax,0x4(%edi)
416c55:	5f                   	pop    %edi
416c56:	5e                   	pop    %esi
416c57:	c3                   	ret
416c58:	56                   	push   %esi
416c59:	57                   	push   %edi
416c5a:	8b f9                	mov    %ecx,%edi
416c5c:	8d 77 08             	lea    0x8(%edi),%esi
416c5f:	56                   	push   %esi
416c60:	e8 b1 1f ff ff       	call   0x408c16
416c65:	56                   	push   %esi
416c66:	89 07                	mov    %eax,(%edi)
416c68:	e8 f5 20 ff ff       	call   0x408d62
416c6d:	59                   	pop    %ecx
416c6e:	59                   	pop    %ecx
416c6f:	89 47 04             	mov    %eax,0x4(%edi)
416c72:	5f                   	pop    %edi
416c73:	5e                   	pop    %esi
416c74:	c3                   	ret
416c75:	55                   	push   %ebp
416c76:	8b ec                	mov    %esp,%ebp
416c78:	8b 55 08             	mov    0x8(%ebp),%edx
416c7b:	56                   	push   %esi
416c7c:	57                   	push   %edi
416c7d:	83 ca 0f             	or     $0xf,%edx
416c80:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
416c85:	3b d7                	cmp    %edi,%edx
416c87:	77 1b                	ja     0x416ca4
416c89:	8b 71 14             	mov    0x14(%ecx),%esi
416c8c:	8b c7                	mov    %edi,%eax
416c8e:	8b ce                	mov    %esi,%ecx
416c90:	d1 e9                	shr    $1,%ecx
416c92:	2b c1                	sub    %ecx,%eax
416c94:	3b f0                	cmp    %eax,%esi
416c96:	77 0c                	ja     0x416ca4
416c98:	8d 04 31             	lea    (%ecx,%esi,1),%eax
416c9b:	3b d0                	cmp    %eax,%edx
416c9d:	0f 42 d0             	cmovb  %eax,%edx