4639b2:	6a 00                	push   $0x0
4639b4:	e8 9e 3b fb ff       	call   0x417557
4639b9:	cc                   	int3
4639ba:	55                   	push   %ebp
4639bb:	8b ec                	mov    %esp,%ebp
4639bd:	51                   	push   %ecx
4639be:	56                   	push   %esi
4639bf:	8b 75 08             	mov    0x8(%ebp),%esi
4639c2:	8b 46 18             	mov    0x18(%esi),%eax
4639c5:	f7 d0                	not    %eax
4639c7:	a8 01                	test   $0x1,%al
4639c9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4639cc:	74 08                	je     0x4639d6
4639ce:	56                   	push   %esi
4639cf:	e8 88 ff ff ff       	call   0x46395c
4639d4:	eb 40                	jmp    0x463a16
4639d6:	8b 4e 24             	mov    0x24(%esi),%ecx
4639d9:	8b 01                	mov    (%ecx),%eax
4639db:	53                   	push   %ebx
4639dc:	57                   	push   %edi
4639dd:	ff 50 30             	call   *0x30(%eax)
4639e0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4639e3:	8b d8                	mov    %eax,%ebx
4639e5:	8b fa                	mov    %edx,%edi
4639e7:	e8 5b 26 fb ff       	call   0x416047
4639ec:	33 c9                	xor    %ecx,%ecx
4639ee:	3b f9                	cmp    %ecx,%edi
4639f0:	72 18                	jb     0x463a0a
4639f2:	77 04                	ja     0x4639f8
4639f4:	3b d8                	cmp    %eax,%ebx
4639f6:	76 12                	jbe    0x463a0a
4639f8:	6a ff                	push   $0xffffffff
4639fa:	51                   	push   %ecx
4639fb:	68 05 f1 00 00       	push   $0xf105
463a00:	e8 b8 1e ff ff       	call   0x4558bd
463a05:	e8 65 b2 fe ff       	call   0x44ec6f
463a0a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
463a0d:	53                   	push   %ebx
463a0e:	56                   	push   %esi
463a0f:	e8 b9 f9 ff ff       	call   0x4633cd
463a14:	5f                   	pop    %edi
463a15:	5b                   	pop    %ebx
463a16:	5e                   	pop    %esi
463a17:	c9                   	leave
463a18:	c2 04 00             	ret    $0x4
463a1b:	55                   	push   %ebp
463a1c:	8b ec                	mov    %esp,%ebp
463a1e:	81 ec 90 04 00 00    	sub    $0x490,%esp
463a24:	56                   	push   %esi
463a25:	57                   	push   %edi
463a26:	8b f9                	mov    %ecx,%edi
463a28:	89 7d dc             	mov    %edi,-0x24(%ebp)
463a2b:	e8 16 d2 fd ff       	call   0x440c46
463a30:	c1 e8 07             	shr    $0x7,%eax
463a33:	f7 d0                	not    %eax
463a35:	83 e0 01             	and    $0x1,%eax
463a38:	8b cf                	mov    %edi,%ecx
463a3a:	89 45 d8             	mov    %eax,-0x28(%ebp)
463a3d:	e8 d7 fe ff ff       	call   0x463919
463a42:	8b f0                	mov    %eax,%esi
463a44:	39 75 10             	cmp    %esi,0x10(%ebp)
463a47:	72 05                	jb     0x463a4e
463a49:	e9 ab 02 00 00       	jmp    0x463cf9
463a4e:	8b cf                	mov    %edi,%ecx
463a50:	e8 34 fe ff ff       	call   0x463889
463a55:	39 75 14             	cmp    %esi,0x14(%ebp)
463a58:	89 45 fc             	mov    %eax,-0x4(%ebp)
463a5b:	76 03                	jbe    0x463a60
463a5d:	89 75 14             	mov    %esi,0x14(%ebp)
463a60:	8b 75 08             	mov    0x8(%ebp),%esi
463a63:	53                   	push   %ebx
463a64:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
463a6a:	50                   	push   %eax
463a6b:	ff 76 08             	push   0x8(%esi)
463a6e:	ff 15 5c ff 4a 00    	call   *0x4aff5c
463a74:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
463a7a:	8b 4d 80             	mov    -0x80(%ebp),%ecx
463a7d:	33 db                	xor    %ebx,%ebx
463a7f:	53                   	push   %ebx
463a80:	53                   	push   %ebx
463a81:	03 c8                	add    %eax,%ecx
463a83:	6a 01                	push   $0x1
463a85:	68 18 09 49 00       	push   $0x490918
463a8a:	8d 45 e0             	lea    -0x20(%ebp),%eax
463a8d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
463a90:	50                   	push   %eax
463a91:	8b ce                	mov    %esi,%ecx
463a93:	e8 fd 23 fb ff       	call   0x415e95
463a98:	8b c8                	mov    %eax,%ecx
463a9a:	8b 47 5c             	mov    0x5c(%edi),%eax
463a9d:	0f af 01             	imul   (%ecx),%eax
463aa0:	6a 08                	push   $0x8
463aa2:	59                   	pop    %ecx
463aa3:	99                   	cltd
463aa4:	f7 f9                	idiv   %ecx
463aa6:	6a 04                	push   $0x4
463aa8:	59                   	pop    %ecx
463aa9:	99                   	cltd
463aaa:	f7 f9                	idiv   %ecx
463aac:	89 45 f0             	mov    %eax,-0x10(%ebp)
463aaf:	8d 85 70 fb ff ff    	lea    -0x490(%ebp),%eax
463ab5:	50                   	push   %eax
463ab6:	68 ff 00 00 00       	push   $0xff
463abb:	53                   	push   %ebx
463abc:	ff 76 08             	push   0x8(%esi)
463abf:	ff 15 8c ff 4a 00    	call   *0x4aff8c
463ac5:	8b 7d 0c             	mov    0xc(%ebp),%edi
463ac8:	8b 47 04             	mov    0x4(%edi),%eax
463acb:	89 45 08             	mov    %eax,0x8(%ebp)
463ace:	8b 47 08             	mov    0x8(%edi),%eax
463ad1:	2b 07                	sub    (%edi),%eax
463ad3:	8b ce                	mov    %esi,%ecx
463ad5:	89 45 e8             	mov    %eax,-0x18(%ebp)
463ad8:	8b 45 10             	mov    0x10(%ebp),%eax
463adb:	89 45 10             	mov    %eax,0x10(%ebp)
463ade:	8b 06                	mov    (%esi),%eax
463ae0:	ff 50 1c             	call   *0x1c(%eax)
463ae3:	57                   	push   %edi
463ae4:	8b ce                	mov    %esi,%ecx
463ae6:	e8 86 ae fe ff       	call   0x44e971
463aeb:	8b d8                	mov    %eax,%ebx
463aed:	4b                   	dec    %ebx
463aee:	f7 db                	neg    %ebx
463af0:	1b db                	sbb    %ebx,%ebx
463af2:	43                   	inc    %ebx
463af3:	ff 75 10             	push   0x10(%ebp)
463af6:	ff 75 14             	push   0x14(%ebp)
463af9:	ff 75 fc             	push   -0x4(%ebp)
463afc:	e8 e0 f7 ff ff       	call   0x4632e1
463b01:	39 45 10             	cmp    %eax,0x10(%ebp)
463b04:	89 45 0c             	mov    %eax,0xc(%ebp)
463b07:	75 0b                	jne    0x463b14
463b09:	8b 45 f4             	mov    -0xc(%ebp),%eax
463b0c:	01 45 08             	add    %eax,0x8(%ebp)
463b0f:	e9 a3 01 00 00       	jmp    0x463cb7
463b14:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
463b18:	0f 84 0b 01 00 00    	je     0x463c29
463b1e:	8b 45 08             	mov    0x8(%ebp),%eax
463b21:	8b 4d f4             	mov    -0xc(%ebp),%ecx
463b24:	03 c1                	add    %ecx,%eax
463b26:	89 45 ec             	mov    %eax,-0x14(%ebp)
463b29:	ff 75 0c             	push   0xc(%ebp)
463b2c:	8d 85 70 fb ff ff    	lea    -0x490(%ebp),%eax
463b32:	ff 75 10             	push   0x10(%ebp)
463b35:	ff 75 fc             	push   -0x4(%ebp)
463b38:	ff 75 f0             	push   -0x10(%ebp)
463b3b:	ff 75 e8             	push   -0x18(%ebp)
463b3e:	50                   	push   %eax
463b3f:	56                   	push   %esi
463b40:	e8 5a f9 ff ff       	call   0x46349f
463b45:	3b 45 0c             	cmp    0xc(%ebp),%eax
463b48:	89 45 e4             	mov    %eax,-0x1c(%ebp)
463b4b:	89 45 f8             	mov    %eax,-0x8(%ebp)
463b4e:	74 33                	je     0x463b83
463b50:	3b 45 10             	cmp    0x10(%ebp),%eax
463b53:	76 23                	jbe    0x463b78
463b55:	8b 4d f8             	mov    -0x8(%ebp),%ecx
463b58:	8b 45 fc             	mov    -0x4(%ebp),%eax
463b5b:	0f be 04 01          	movsbl (%ecx,%eax,1),%eax
463b5f:	50                   	push   %eax
463b60:	e8 eb 6c fb ff       	call   0x41a850
463b65:	85 c0                	test   %eax,%eax
463b67:	59                   	pop    %ecx
463b68:	75 0b                	jne    0x463b75
463b6a:	ff 4d f8             	decl   -0x8(%ebp)
463b6d:	8b 45 f8             	mov    -0x8(%ebp),%eax
463b70:	3b 45 10             	cmp    0x10(%ebp),%eax
463b73:	77 e0                	ja     0x463b55
463b75:	8b 45 e4             	mov    -0x1c(%ebp),%eax
463b78:	8b 4d 10             	mov    0x10(%ebp),%ecx
463b7b:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
463b7e:	75 03                	jne    0x463b83
463b80:	89 45 f8             	mov    %eax,-0x8(%ebp)
463b83:	85 db                	test   %ebx,%ebx
463b85:	8b 07                	mov    (%edi),%eax
463b87:	89 45 b8             	mov    %eax,-0x48(%ebp)
463b8a:	8b 45 08             	mov    0x8(%ebp),%eax
463b8d:	89 45 bc             	mov    %eax,-0x44(%ebp)
463b90:	8b 47 08             	mov    0x8(%edi),%eax
463b93:	89 45 c0             	mov    %eax,-0x40(%ebp)
463b96:	8b 45 ec             	mov    -0x14(%ebp),%eax
463b99:	89 45 c4             	mov    %eax,-0x3c(%ebp)
463b9c:	75 38                	jne    0x463bd6
463b9e:	8b 06                	mov    (%esi),%eax
463ba0:	8d 4d b8             	lea    -0x48(%ebp),%ecx
463ba3:	51                   	push   %ecx
463ba4:	8b ce                	mov    %esi,%ecx
463ba6:	ff 50 58             	call   *0x58(%eax)
463ba9:	85 c0                	test   %eax,%eax
463bab:	74 29                	je     0x463bd6
463bad:	ff 75 b8             	push   -0x48(%ebp)
463bb0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
463bb3:	8b 16                	mov    (%esi),%edx
463bb5:	8d 45 f0             	lea    -0x10(%ebp),%eax
463bb8:	50                   	push   %eax
463bb9:	8b 45 10             	mov    0x10(%ebp),%eax
463bbc:	6a 01                	push   $0x1
463bbe:	2b c8                	sub    %eax,%ecx
463bc0:	51                   	push   %ecx
463bc1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
463bc4:	03 c1                	add    %ecx,%eax
463bc6:	50                   	push   %eax
463bc7:	ff 75 08             	push   0x8(%ebp)
463bca:	8d 45 a8             	lea    -0x58(%ebp),%eax
463bcd:	ff 75 b8             	push   -0x48(%ebp)
463bd0:	8b ce                	mov    %esi,%ecx
463bd2:	50                   	push   %eax
463bd3:	ff 52 64             	call   *0x64(%edx)
463bd6:	8b 45 f4             	mov    -0xc(%ebp),%eax
463bd9:	01 45 08             	add    %eax,0x8(%ebp)
463bdc:	01 45 ec             	add    %eax,-0x14(%ebp)
463bdf:	8b 45 f8             	mov    -0x8(%ebp),%eax
463be2:	3b 45 0c             	cmp    0xc(%ebp),%eax
463be5:	89 45 10             	mov    %eax,0x10(%ebp)
463be8:	73 34                	jae    0x463c1e
463bea:	8b 4d 10             	mov    0x10(%ebp),%ecx
463bed:	8b 45 fc             	mov    -0x4(%ebp),%eax
463bf0:	0f be 04 01          	movsbl (%ecx,%eax,1),%eax
463bf4:	50                   	push   %eax
463bf5:	e8 56 6c fb ff       	call   0x41a850
463bfa:	85 c0                	test   %eax,%eax
463bfc:	59                   	pop    %ecx
463bfd:	74 0b                	je     0x463c0a
463bff:	ff 45 10             	incl   0x10(%ebp)
463c02:	8b 45 10             	mov    0x10(%ebp),%eax
463c05:	3b 45 0c             	cmp    0xc(%ebp),%eax
463c08:	72 e0                	jb     0x463bea
463c0a:	8b 45 0c             	mov    0xc(%ebp),%eax
463c0d:	39 45 10             	cmp    %eax,0x10(%ebp)
463c10:	73 0c                	jae    0x463c1e
463c12:	8b 45 ec             	mov    -0x14(%ebp),%eax
463c15:	3b 47 0c             	cmp    0xc(%edi),%eax
463c18:	0f 8e 0b ff ff ff    	jle    0x463b29
463c1e:	8b 45 10             	mov    0x10(%ebp),%eax
463c21:	89 45 0c             	mov    %eax,0xc(%ebp)
463c24:	e9 8e 00 00 00       	jmp    0x463cb7
463c29:	8b 07                	mov    (%edi),%eax
463c2b:	8b 4f 08             	mov    0x8(%edi),%ecx
463c2e:	89 45 c8             	mov    %eax,-0x38(%ebp)
463c31:	8b 45 08             	mov    0x8(%ebp),%eax
463c34:	89 4d d0             	mov    %ecx,-0x30(%ebp)
463c37:	8b 4d f4             	mov    -0xc(%ebp),%ecx
463c3a:	89 45 cc             	mov    %eax,-0x34(%ebp)
463c3d:	03 c1                	add    %ecx,%eax
463c3f:	85 db                	test   %ebx,%ebx
463c41:	89 45 e4             	mov    %eax,-0x1c(%ebp)
463c44:	89 45 d4             	mov    %eax,-0x2c(%ebp)
463c47:	75 68                	jne    0x463cb1
463c49:	8b 06                	mov    (%esi),%eax
463c4b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
463c4e:	51                   	push   %ecx
463c4f:	8b ce                	mov    %esi,%ecx
463c51:	ff 50 58             	call   *0x58(%eax)
463c54:	85 c0                	test   %eax,%eax
463c56:	74 59                	je     0x463cb1
463c58:	ff 75 0c             	push   0xc(%ebp)
463c5b:	8d 85 70 fb ff ff    	lea    -0x490(%ebp),%eax
463c61:	ff 75 10             	push   0x10(%ebp)
463c64:	ff 75 fc             	push   -0x4(%ebp)
463c67:	ff 75 f0             	push   -0x10(%ebp)
463c6a:	ff 75 e8             	push   -0x18(%ebp)
463c6d:	50                   	push   %eax
463c6e:	56                   	push   %esi
463c6f:	e8 2b f8 ff ff       	call   0x46349f
463c74:	3b 45 0c             	cmp    0xc(%ebp),%eax
463c77:	73 12                	jae    0x463c8b
463c79:	8b 4d fc             	mov    -0x4(%ebp),%ecx
463c7c:	0f b6 0c 08          	movzbl (%eax,%ecx,1),%ecx
463c80:	f6 81 e1 e1 4a 00 04 	testb  $0x4,0x4ae1e1(%ecx)
463c87:	74 01                	je     0x463c8a
463c89:	40                   	inc    %eax
463c8a:	40                   	inc    %eax
463c8b:	ff 75 c8             	push   -0x38(%ebp)
463c8e:	8b 16                	mov    (%esi),%edx
463c90:	8d 4d f0             	lea    -0x10(%ebp),%ecx
463c93:	51                   	push   %ecx
463c94:	8b 4d 10             	mov    0x10(%ebp),%ecx
463c97:	6a 01                	push   $0x1
463c99:	2b c1                	sub    %ecx,%eax
463c9b:	50                   	push   %eax
463c9c:	8b 45 fc             	mov    -0x4(%ebp),%eax
463c9f:	03 c8                	add    %eax,%ecx
463ca1:	51                   	push   %ecx
463ca2:	ff 75 08             	push   0x8(%ebp)
463ca5:	8d 45 b0             	lea    -0x50(%ebp),%eax
463ca8:	ff 75 c8             	push   -0x38(%ebp)
463cab:	8b ce                	mov    %esi,%ecx
463cad:	50                   	push   %eax
463cae:	ff 52 64             	call   *0x64(%edx)
463cb1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
463cb4:	89 45 08             	mov    %eax,0x8(%ebp)
463cb7:	ff 75 0c             	push   0xc(%ebp)
463cba:	ff 75 14             	push   0x14(%ebp)
463cbd:	ff 75 fc             	push   -0x4(%ebp)
463cc0:	e8 3d f6 ff ff       	call   0x463302
463cc5:	3b 45 14             	cmp    0x14(%ebp),%eax
463cc8:	89 45 10             	mov    %eax,0x10(%ebp)
463ccb:	73 11                	jae    0x463cde
463ccd:	8b 45 08             	mov    0x8(%ebp),%eax
463cd0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
463cd3:	03 c1                	add    %ecx,%eax
463cd5:	3b 47 0c             	cmp    0xc(%edi),%eax
463cd8:	0f 8e 15 fe ff ff    	jle    0x463af3
463cde:	8b 06                	mov    (%esi),%eax
463ce0:	6a ff                	push   $0xffffffff
463ce2:	8b ce                	mov    %esi,%ecx
463ce4:	ff 50 20             	call   *0x20(%eax)
463ce7:	8b 4d dc             	mov    -0x24(%ebp),%ecx
463cea:	e8 14 fc ff ff       	call   0x463903
463cef:	8b 45 08             	mov    0x8(%ebp),%eax
463cf2:	89 47 0c             	mov    %eax,0xc(%edi)
463cf5:	8b 45 10             	mov    0x10(%ebp),%eax
463cf8:	5b                   	pop    %ebx
463cf9:	5f                   	pop    %edi
463cfa:	5e                   	pop    %esi
463cfb:	c9                   	leave
463cfc:	c2 10 00             	ret    $0x10
463cff:	55                   	push   %ebp
463d00:	8b ec                	mov    %esp,%ebp
463d02:	51                   	push   %ecx
463d03:	51                   	push   %ecx
463d04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
463d08:	53                   	push   %ebx
463d09:	56                   	push   %esi
463d0a:	8b f1                	mov    %ecx,%esi
463d0c:	8b 46 7c             	mov    0x7c(%esi),%eax
463d0f:	85 c0                	test   %eax,%eax
463d11:	57                   	push   %edi
463d12:	74 14                	je     0x463d28
463d14:	8b 7d 08             	mov    0x8(%ebp),%edi
463d17:	8b 1f                	mov    (%edi),%ebx
463d19:	50                   	push   %eax
463d1a:	e8 37 b9 fe ff       	call   0x44f656
463d1f:	50                   	push   %eax
463d20:	8b cf                	mov    %edi,%ecx
463d22:	ff 53 28             	call   *0x28(%ebx)
463d25:	89 45 fc             	mov    %eax,-0x4(%ebp)
463d28:	8b 4d 08             	mov    0x8(%ebp),%ecx
463d2b:	6a 01                	push   $0x1
463d2d:	e8 54 aa fe ff       	call   0x44e786
463d32:	8b 5d 0c             	mov    0xc(%ebp),%ebx
463d35:	8b 7b 14             	mov    0x14(%ebx),%edi
463d38:	8d 47 ff             	lea    -0x1(%edi),%eax
463d3b:	8d 4e 68             	lea    0x68(%esi),%ecx
463d3e:	50                   	push   %eax
463d3f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
463d42:	e8 07 21 fb ff       	call   0x415e4e
463d47:	8b 00                	mov    (%eax),%eax
463d49:	8b ce                	mov    %esi,%ecx
463d4b:	89 45 0c             	mov    %eax,0xc(%ebp)