49494b:	75 e3                	jne    0x494930
49494d:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
494953:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
494959:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
49495f:	2b cf                	sub    %edi,%ecx
494961:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
494967:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
49496d:	3b ce                	cmp    %esi,%ecx
49496f:	0f 87 60 ff ff ff    	ja     0x4948d5
494975:	e9 79 03 00 00       	jmp    0x494cf3
49497a:	d1 e8                	shr    $1,%eax
49497c:	8b cb                	mov    %ebx,%ecx
49497e:	0f af c7             	imul   %edi,%eax
494981:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
494987:	8d 3c 30             	lea    (%eax,%esi,1),%edi
49498a:	57                   	push   %edi
49498b:	56                   	push   %esi
49498c:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
494992:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494998:	ff d3                	call   *%ebx
49499a:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4949a0:	83 c4 08             	add    $0x8,%esp
4949a3:	85 c0                	test   %eax,%eax
4949a5:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
4949ab:	7e 4d                	jle    0x4949fa
4949ad:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
4949b3:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
4949b9:	3b c7                	cmp    %edi,%eax
4949bb:	74 3d                	je     0x4949fa
4949bd:	8b 9d f4 fe ff ff    	mov    -0x10c(%ebp),%ebx
4949c3:	8b f7                	mov    %edi,%esi
4949c5:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
4949cb:	eb 03                	jmp    0x4949d0
4949cd:	8d 49 00             	lea    0x0(%ecx),%ecx
4949d0:	8a 06                	mov    (%esi),%al
4949d2:	8b d6                	mov    %esi,%edx
4949d4:	2b d7                	sub    %edi,%edx
4949d6:	8a 0a                	mov    (%edx),%cl
4949d8:	88 02                	mov    %al,(%edx)
4949da:	88 0e                	mov    %cl,(%esi)
4949dc:	46                   	inc    %esi
4949dd:	83 eb 01             	sub    $0x1,%ebx
4949e0:	75 ee                	jne    0x4949d0
4949e2:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
4949e8:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
4949ee:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4949f4:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
4949fa:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
494a00:	8b cb                	mov    %ebx,%ecx
494a02:	50                   	push   %eax
494a03:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494a09:	ff d3                	call   *%ebx
494a0b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494a11:	83 c4 08             	add    $0x8,%esp
494a14:	85 c0                	test   %eax,%eax
494a16:	7e 49                	jle    0x494a61
494a18:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
494a1e:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
494a24:	8b f2                	mov    %edx,%esi
494a26:	3b c2                	cmp    %edx,%eax
494a28:	74 37                	je     0x494a61
494a2a:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
494a30:	2b c2                	sub    %edx,%eax
494a32:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
494a38:	8b d0                	mov    %eax,%edx
494a3a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
494a40:	8a 06                	mov    (%esi),%al
494a42:	8d 76 01             	lea    0x1(%esi),%esi
494a45:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
494a49:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
494a4d:	88 4e ff             	mov    %cl,-0x1(%esi)
494a50:	83 eb 01             	sub    $0x1,%ebx
494a53:	75 eb                	jne    0x494a40
494a55:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
494a5b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494a61:	52                   	push   %edx
494a62:	57                   	push   %edi
494a63:	8b cb                	mov    %ebx,%ecx
494a65:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494a6b:	ff d3                	call   *%ebx
494a6d:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494a73:	83 c4 08             	add    $0x8,%esp
494a76:	85 c0                	test   %eax,%eax
494a78:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494a7e:	7e 35                	jle    0x494ab5
494a80:	8b d8                	mov    %eax,%ebx
494a82:	8b f2                	mov    %edx,%esi
494a84:	3b fa                	cmp    %edx,%edi
494a86:	74 2d                	je     0x494ab5
494a88:	8b c7                	mov    %edi,%eax
494a8a:	2b c2                	sub    %edx,%eax
494a8c:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
494a92:	8b d0                	mov    %eax,%edx
494a94:	8a 06                	mov    (%esi),%al
494a96:	8d 76 01             	lea    0x1(%esi),%esi
494a99:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
494a9d:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
494aa1:	88 4e ff             	mov    %cl,-0x1(%esi)
494aa4:	83 eb 01             	sub    $0x1,%ebx
494aa7:	75 eb                	jne    0x494a94
494aa9:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494aaf:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494ab5:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
494abb:	8b da                	mov    %edx,%ebx
494abd:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
494ac3:	3b fe                	cmp    %esi,%edi
494ac5:	76 3e                	jbe    0x494b05
494ac7:	eb 07                	jmp    0x494ad0
494ac9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
494ad0:	03 f0                	add    %eax,%esi
494ad2:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
494ad8:	3b f7                	cmp    %edi,%esi
494ada:	73 23                	jae    0x494aff
494adc:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
494ae2:	57                   	push   %edi
494ae3:	56                   	push   %esi
494ae4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494aea:	ff 95 f8 fe ff ff    	call   *-0x108(%ebp)
494af0:	83 c4 08             	add    $0x8,%esp
494af3:	85 c0                	test   %eax,%eax
494af5:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494afb:	7e d3                	jle    0x494ad0
494afd:	eb 42                	jmp    0x494b41
494aff:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494b05:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
494b0b:	eb 03                	jmp    0x494b10
494b0d:	8d 49 00             	lea    0x0(%ecx),%ecx
494b10:	03 f0                	add    %eax,%esi
494b12:	3b f2                	cmp    %edx,%esi
494b14:	77 1f                	ja     0x494b35
494b16:	57                   	push   %edi
494b17:	56                   	push   %esi
494b18:	8b cb                	mov    %ebx,%ecx
494b1a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494b20:	ff d3                	call   *%ebx
494b22:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494b28:	83 c4 08             	add    $0x8,%esp
494b2b:	85 c0                	test   %eax,%eax
494b2d:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494b33:	7e db                	jle    0x494b10
494b35:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
494b3b:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
494b41:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
494b47:	eb 07                	jmp    0x494b50
494b49:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
494b50:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494b56:	8b cb                	mov    %ebx,%ecx
494b58:	2b d8                	sub    %eax,%ebx
494b5a:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
494b60:	3b df                	cmp    %edi,%ebx
494b62:	76 1f                	jbe    0x494b83
494b64:	57                   	push   %edi
494b65:	53                   	push   %ebx
494b66:	8b ce                	mov    %esi,%ecx
494b68:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494b6e:	ff d6                	call   *%esi
494b70:	83 c4 08             	add    $0x8,%esp
494b73:	85 c0                	test   %eax,%eax
494b75:	7f d9                	jg     0x494b50
494b77:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494b7d:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
494b83:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
494b89:	89 9d 04 ff ff ff    	mov    %ebx,-0xfc(%ebp)
494b8f:	3b de                	cmp    %esi,%ebx
494b91:	72 4a                	jb     0x494bdd
494b93:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
494b99:	8b d3                	mov    %ebx,%edx
494b9b:	74 2b                	je     0x494bc8
494b9d:	2b f3                	sub    %ebx,%esi
494b9f:	8b d8                	mov    %eax,%ebx
494ba1:	8a 02                	mov    (%edx),%al
494ba3:	8d 52 01             	lea    0x1(%edx),%edx
494ba6:	8a 4c 16 ff          	mov    -0x1(%esi,%edx,1),%cl
494baa:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
494bae:	88 4a ff             	mov    %cl,-0x1(%edx)
494bb1:	83 eb 01             	sub    $0x1,%ebx
494bb4:	75 eb                	jne    0x494ba1
494bb6:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
494bbc:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
494bc2:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494bc8:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494bce:	3b fb                	cmp    %ebx,%edi
494bd0:	0f 85 ed fe ff ff    	jne    0x494ac3
494bd6:	8b fe                	mov    %esi,%edi
494bd8:	e9 e6 fe ff ff       	jmp    0x494ac3
494bdd:	3b f9                	cmp    %ecx,%edi
494bdf:	73 3c                	jae    0x494c1d
494be1:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
494be7:	eb 07                	jmp    0x494bf0
494be9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
494bf0:	2b c8                	sub    %eax,%ecx
494bf2:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
494bf8:	3b cf                	cmp    %edi,%ecx
494bfa:	76 21                	jbe    0x494c1d
494bfc:	57                   	push   %edi
494bfd:	51                   	push   %ecx
494bfe:	8b cb                	mov    %ebx,%ecx
494c00:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494c06:	ff d3                	call   *%ebx
494c08:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
494c0e:	83 c4 08             	add    $0x8,%esp
494c11:	85 c0                	test   %eax,%eax
494c13:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494c19:	74 d5                	je     0x494bf0
494c1b:	eb 44                	jmp    0x494c61
494c1d:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
494c23:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
494c29:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
494c30:	2b c8                	sub    %eax,%ecx
494c32:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
494c38:	3b ce                	cmp    %esi,%ecx
494c3a:	76 1f                	jbe    0x494c5b
494c3c:	57                   	push   %edi
494c3d:	51                   	push   %ecx
494c3e:	8b cb                	mov    %ebx,%ecx
494c40:	ff 15 d4 e2 49 00    	call   *0x49e2d4
494c46:	ff d3                	call   *%ebx
494c48:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
494c4e:	83 c4 08             	add    $0x8,%esp
494c51:	85 c0                	test   %eax,%eax
494c53:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
494c59:	74 d5                	je     0x494c30
494c5b:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
494c61:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
494c67:	8b ca                	mov    %edx,%ecx
494c69:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
494c6f:	2b ce                	sub    %esi,%ecx
494c71:	8b c7                	mov    %edi,%eax
494c73:	2b 85 fc fe ff ff    	sub    -0x104(%ebp),%eax
494c79:	3b c1                	cmp    %ecx,%eax
494c7b:	7c 3d                	jl     0x494cba
494c7d:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
494c83:	3b c7                	cmp    %edi,%eax
494c85:	73 18                	jae    0x494c9f
494c87:	8b 8d e8 fe ff ff    	mov    -0x118(%ebp),%ecx
494c8d:	89 44 8d 84          	mov    %eax,-0x7c(%ebp,%ecx,4)
494c91:	89 bc 8d 0c ff ff ff 	mov    %edi,-0xf4(%ebp,%ecx,4)
494c98:	41                   	inc    %ecx
494c99:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
494c9f:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
494ca5:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
494cab:	3b f1                	cmp    %ecx,%esi
494cad:	73 44                	jae    0x494cf3
494caf:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
494cb5:	e9 f8 fb ff ff       	jmp    0x4948b2
494cba:	3b f2                	cmp    %edx,%esi
494cbc:	73 18                	jae    0x494cd6
494cbe:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
494cc4:	89 74 85 84          	mov    %esi,-0x7c(%ebp,%eax,4)
494cc8:	89 94 85 0c ff ff ff 	mov    %edx,-0xf4(%ebp,%eax,4)
494ccf:	40                   	inc    %eax
494cd0:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
494cd6:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
494cdc:	3b f7                	cmp    %edi,%esi
494cde:	73 0d                	jae    0x494ced
494ce0:	8b cf                	mov    %edi,%ecx
494ce2:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
494ce8:	e9 bf fb ff ff       	jmp    0x4948ac
494ced:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
494cf3:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
494cf9:	83 e8 01             	sub    $0x1,%eax
494cfc:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
494d02:	0f 88 76 fb ff ff    	js     0x49487e
494d08:	8b 74 85 84          	mov    -0x7c(%ebp,%eax,4),%esi
494d0c:	8b 8c 85 0c ff ff ff 	mov    -0xf4(%ebp,%eax,4),%ecx
494d13:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
494d19:	e9 8e fb ff ff       	jmp    0x4948ac
494d1e:	cc                   	int3
494d1f:	cc                   	int3
494d20:	55                   	push   %ebp
494d21:	8b ec                	mov    %esp,%ebp
494d23:	56                   	push   %esi
494d24:	33 c0                	xor    %eax,%eax
494d26:	50                   	push   %eax
494d27:	50                   	push   %eax
494d28:	50                   	push   %eax
494d29:	50                   	push   %eax
494d2a:	50                   	push   %eax
494d2b:	50                   	push   %eax
494d2c:	50                   	push   %eax
494d2d:	50                   	push   %eax
494d2e:	8b 55 0c             	mov    0xc(%ebp),%edx
494d31:	8d 49 00             	lea    0x0(%ecx),%ecx
494d34:	8a 02                	mov    (%edx),%al
494d36:	0a c0                	or     %al,%al
494d38:	74 09                	je     0x494d43
494d3a:	83 c2 01             	add    $0x1,%edx
494d3d:	0f ab 04 24          	bts    %eax,(%esp)
494d41:	eb f1                	jmp    0x494d34
494d43:	8b 75 08             	mov    0x8(%ebp),%esi
494d46:	8b ff                	mov    %edi,%edi
494d48:	8a 06                	mov    (%esi),%al
494d4a:	0a c0                	or     %al,%al
494d4c:	74 0c                	je     0x494d5a
494d4e:	83 c6 01             	add    $0x1,%esi
494d51:	0f a3 04 24          	bt     %eax,(%esp)
494d55:	73 f1                	jae    0x494d48
494d57:	8d 46 ff             	lea    -0x1(%esi),%eax
494d5a:	83 c4 20             	add    $0x20,%esp
494d5d:	5e                   	pop    %esi
494d5e:	c9                   	leave
494d5f:	c3                   	ret
494d60:	e8 7b aa ff ff       	call   0x48f7e0
494d65:	33 c9                	xor    %ecx,%ecx
494d67:	84 c0                	test   %al,%al
494d69:	0f 94 c1             	sete   %cl
494d6c:	8b c1                	mov    %ecx,%eax
494d6e:	c3                   	ret
494d6f:	8b ff                	mov    %edi,%edi
494d71:	55                   	push   %ebp
494d72:	8b ec                	mov    %esp,%ebp
494d74:	83 3d c0 87 4c 00 00 	cmpl   $0x0,0x4c87c0
494d7b:	56                   	push   %esi
494d7c:	75 48                	jne    0x494dc6
494d7e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
494d82:	75 17                	jne    0x494d9b
494d84:	e8 ac 51 fe ff       	call   0x479f35
494d89:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
494d8f:	e8 8d 48 fe ff       	call   0x479621
494d94:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
494d99:	eb 3e                	jmp    0x494dd9
494d9b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
494d9f:	74 e3                	je     0x494d84
494da1:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
494da6:	39 75 10             	cmp    %esi,0x10(%ebp)
494da9:	76 14                	jbe    0x494dbf
494dab:	e8 85 51 fe ff       	call   0x479f35
494db0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
494db6:	e8 66 48 fe ff       	call   0x479621
494dbb:	8b c6                	mov    %esi,%eax
494dbd:	eb 1a                	jmp    0x494dd9
494dbf:	5e                   	pop    %esi
494dc0:	5d                   	pop    %ebp
494dc1:	e9 13 56 fe ff       	jmp    0x47a3d9
494dc6:	6a 00                	push   $0x0
494dc8:	ff 75 10             	push   0x10(%ebp)
494dcb:	ff 75 0c             	push   0xc(%ebp)
494dce:	ff 75 08             	push   0x8(%ebp)
494dd1:	e8 06 00 00 00       	call   0x494ddc
494dd6:	83 c4 10             	add    $0x10,%esp
494dd9:	5e                   	pop    %esi
494dda:	5d                   	pop    %ebp
494ddb:	c3                   	ret
494ddc:	8b ff                	mov    %edi,%edi
494dde:	55                   	push   %ebp
494ddf:	8b ec                	mov    %esp,%ebp
494de1:	83 ec 10             	sub    $0x10,%esp
494de4:	57                   	push   %edi
494de5:	8b 7d 10             	mov    0x10(%ebp),%edi
494de8:	85 ff                	test   %edi,%edi