491bb1:	83 c4 10             	add    $0x10,%esp
491bb4:	85 c0                	test   %eax,%eax
491bb6:	0f 85 a5 00 00 00    	jne    0x491c61
491bbc:	6a 40                	push   $0x40
491bbe:	57                   	push   %edi
491bbf:	68 01 10 00 00       	push   $0x1001
491bc4:	53                   	push   %ebx
491bc5:	e8 66 6d ff ff       	call   0x488930
491bca:	85 c0                	test   %eax,%eax
491bcc:	0f 84 88 00 00 00    	je     0x491c5a
491bd2:	6a 40                	push   $0x40
491bd4:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
491bda:	53                   	push   %ebx
491bdb:	68 02 10 00 00       	push   $0x1002
491be0:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
491be6:	50                   	push   %eax
491be7:	e8 44 6d ff ff       	call   0x488930
491bec:	85 c0                	test   %eax,%eax
491bee:	74 6a                	je     0x491c5a
491bf0:	6a 5f                	push   $0x5f
491bf2:	53                   	push   %ebx
491bf3:	e8 06 99 fd ff       	call   0x46b4fe
491bf8:	59                   	pop    %ecx
491bf9:	59                   	pop    %ecx
491bfa:	85 c0                	test   %eax,%eax
491bfc:	75 0e                	jne    0x491c0c
491bfe:	6a 2e                	push   $0x2e
491c00:	53                   	push   %ebx
491c01:	e8 f8 98 fd ff       	call   0x46b4fe
491c06:	59                   	pop    %ecx
491c07:	59                   	pop    %ecx
491c08:	85 c0                	test   %eax,%eax
491c0a:	74 15                	je     0x491c21
491c0c:	6a 40                	push   $0x40
491c0e:	53                   	push   %ebx
491c0f:	6a 07                	push   $0x7
491c11:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
491c17:	50                   	push   %eax
491c18:	e8 13 6d ff ff       	call   0x488930
491c1d:	85 c0                	test   %eax,%eax
491c1f:	74 39                	je     0x491c5a
491c21:	81 c7 00 01 00 00    	add    $0x100,%edi
491c27:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
491c2d:	75 1b                	jne    0x491c4a
491c2f:	6a 05                	push   $0x5
491c31:	68 3c 51 4a 00       	push   $0x4a513c
491c36:	6a 10                	push   $0x10
491c38:	57                   	push   %edi
491c39:	e8 d0 e2 fe ff       	call   0x47ff0e
491c3e:	83 c4 10             	add    $0x10,%esp
491c41:	85 c0                	test   %eax,%eax
491c43:	75 1c                	jne    0x491c61
491c45:	33 c0                	xor    %eax,%eax
491c47:	40                   	inc    %eax
491c48:	eb 12                	jmp    0x491c5c
491c4a:	6a 0a                	push   $0xa
491c4c:	6a 10                	push   $0x10
491c4e:	57                   	push   %edi
491c4f:	56                   	push   %esi
491c50:	e8 3f fd fe ff       	call   0x481994
491c55:	83 c4 10             	add    $0x10,%esp
491c58:	eb eb                	jmp    0x491c45
491c5a:	33 c0                	xor    %eax,%eax
491c5c:	5f                   	pop    %edi
491c5d:	5e                   	pop    %esi
491c5e:	5b                   	pop    %ebx
491c5f:	c9                   	leave
491c60:	c3                   	ret
491c61:	33 c0                	xor    %eax,%eax
491c63:	50                   	push   %eax
491c64:	50                   	push   %eax
491c65:	50                   	push   %eax
491c66:	50                   	push   %eax
491c67:	50                   	push   %eax
491c68:	e8 e1 79 fe ff       	call   0x47964e
491c6d:	cc                   	int3
491c6e:	cc                   	int3
491c6f:	cc                   	int3
491c70:	8b ff                	mov    %edi,%edi
491c72:	55                   	push   %ebp
491c73:	8b ec                	mov    %esp,%ebp
491c75:	81 ec f4 00 00 00    	sub    $0xf4,%esp
491c7b:	a1 14 40 4c 00       	mov    0x4c4014,%eax
491c80:	33 c5                	xor    %ebp,%eax
491c82:	89 45 fc             	mov    %eax,-0x4(%ebp)
491c85:	53                   	push   %ebx
491c86:	56                   	push   %esi
491c87:	8b 75 08             	mov    0x8(%ebp),%esi
491c8a:	57                   	push   %edi
491c8b:	e8 29 4e ff ff       	call   0x486ab9
491c90:	8b d8                	mov    %eax,%ebx
491c92:	e8 22 4e ff ff       	call   0x486ab9
491c97:	56                   	push   %esi
491c98:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
491c9e:	e8 22 05 00 00       	call   0x4921c5
491ca3:	59                   	pop    %ecx
491ca4:	8b 4b 64             	mov    0x64(%ebx),%ecx
491ca7:	8b f0                	mov    %eax,%esi
491ca9:	f7 d9                	neg    %ecx
491cab:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491cb1:	6a 78                	push   $0x78
491cb3:	1b c9                	sbb    %ecx,%ecx
491cb5:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
491cbb:	50                   	push   %eax
491cbc:	81 c1 02 10 00 00    	add    $0x1002,%ecx
491cc2:	51                   	push   %ecx
491cc3:	56                   	push   %esi
491cc4:	ff 15 f4 e0 49 00    	call   *0x49e0f4
491cca:	85 c0                	test   %eax,%eax
491ccc:	75 05                	jne    0x491cd3
491cce:	21 07                	and    %eax,(%edi)
491cd0:	40                   	inc    %eax
491cd1:	eb 33                	jmp    0x491d06
491cd3:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491cd9:	50                   	push   %eax
491cda:	ff 73 54             	push   0x54(%ebx)
491cdd:	e8 f6 85 fe ff       	call   0x47a2d8
491ce2:	59                   	pop    %ecx
491ce3:	59                   	pop    %ecx
491ce4:	85 c0                	test   %eax,%eax
491ce6:	75 14                	jne    0x491cfc
491ce8:	56                   	push   %esi
491ce9:	e8 0c 06 00 00       	call   0x4922fa
491cee:	59                   	pop    %ecx
491cef:	85 c0                	test   %eax,%eax
491cf1:	74 09                	je     0x491cfc
491cf3:	83 0f 04             	orl    $0x4,(%edi)
491cf6:	89 77 08             	mov    %esi,0x8(%edi)
491cf9:	89 77 04             	mov    %esi,0x4(%edi)
491cfc:	8b 07                	mov    (%edi),%eax
491cfe:	c1 e8 02             	shr    $0x2,%eax
491d01:	f7 d0                	not    %eax
491d03:	83 e0 01             	and    $0x1,%eax
491d06:	8b 4d fc             	mov    -0x4(%ebp),%ecx
491d09:	5f                   	pop    %edi
491d0a:	5e                   	pop    %esi
491d0b:	33 cd                	xor    %ebp,%ecx
491d0d:	5b                   	pop    %ebx
491d0e:	e8 b7 7c fd ff       	call   0x4699ca
491d13:	c9                   	leave
491d14:	c2 04 00             	ret    $0x4
491d17:	8b ff                	mov    %edi,%edi
491d19:	55                   	push   %ebp
491d1a:	8b ec                	mov    %esp,%ebp
491d1c:	56                   	push   %esi
491d1d:	57                   	push   %edi
491d1e:	e8 96 4d ff ff       	call   0x486ab9
491d23:	8b d0                	mov    %eax,%edx
491d25:	33 ff                	xor    %edi,%edi
491d27:	8b 4a 54             	mov    0x54(%edx),%ecx
491d2a:	8d 71 02             	lea    0x2(%ecx),%esi
491d2d:	66 8b 01             	mov    (%ecx),%ax
491d30:	83 c1 02             	add    $0x2,%ecx
491d33:	66 3b c7             	cmp    %di,%ax
491d36:	75 f5                	jne    0x491d2d
491d38:	2b ce                	sub    %esi,%ecx
491d3a:	33 c0                	xor    %eax,%eax
491d3c:	d1 f9                	sar    $1,%ecx
491d3e:	83 f9 03             	cmp    $0x3,%ecx
491d41:	6a 01                	push   $0x1
491d43:	0f 94 c0             	sete   %al
491d46:	68 70 1c 49 00       	push   $0x491c70
491d4b:	89 42 64             	mov    %eax,0x64(%edx)
491d4e:	ff 15 e8 e0 49 00    	call   *0x49e0e8
491d54:	8b 45 08             	mov    0x8(%ebp),%eax
491d57:	f6 00 04             	testb  $0x4,(%eax)
491d5a:	75 02                	jne    0x491d5e
491d5c:	89 38                	mov    %edi,(%eax)
491d5e:	5f                   	pop    %edi
491d5f:	5e                   	pop    %esi
491d60:	5d                   	pop    %ebp
491d61:	c3                   	ret
491d62:	8b ff                	mov    %edi,%edi
491d64:	55                   	push   %ebp
491d65:	8b ec                	mov    %esp,%ebp
491d67:	53                   	push   %ebx
491d68:	56                   	push   %esi
491d69:	57                   	push   %edi
491d6a:	e8 4a 4d ff ff       	call   0x486ab9
491d6f:	8b f0                	mov    %eax,%esi
491d71:	33 db                	xor    %ebx,%ebx
491d73:	6a 02                	push   $0x2
491d75:	5a                   	pop    %edx
491d76:	8b 4e 50             	mov    0x50(%esi),%ecx
491d79:	8d 79 02             	lea    0x2(%ecx),%edi
491d7c:	66 8b 01             	mov    (%ecx),%ax
491d7f:	03 ca                	add    %edx,%ecx
491d81:	66 3b c3             	cmp    %bx,%ax
491d84:	75 f6                	jne    0x491d7c
491d86:	2b cf                	sub    %edi,%ecx
491d88:	33 c0                	xor    %eax,%eax
491d8a:	d1 f9                	sar    $1,%ecx
491d8c:	83 f9 03             	cmp    $0x3,%ecx
491d8f:	8b 4e 54             	mov    0x54(%esi),%ecx
491d92:	0f 94 c0             	sete   %al
491d95:	89 46 60             	mov    %eax,0x60(%esi)
491d98:	8d 79 02             	lea    0x2(%ecx),%edi
491d9b:	66 8b 01             	mov    (%ecx),%ax
491d9e:	03 ca                	add    %edx,%ecx
491da0:	66 3b c3             	cmp    %bx,%ax
491da3:	75 f6                	jne    0x491d9b
491da5:	2b cf                	sub    %edi,%ecx
491da7:	33 c0                	xor    %eax,%eax
491da9:	8b 7d 08             	mov    0x8(%ebp),%edi
491dac:	d1 f9                	sar    $1,%ecx
491dae:	83 f9 03             	cmp    $0x3,%ecx
491db1:	0f 94 c0             	sete   %al
491db4:	89 46 64             	mov    %eax,0x64(%esi)
491db7:	89 5f 04             	mov    %ebx,0x4(%edi)
491dba:	39 5e 60             	cmp    %ebx,0x60(%esi)
491dbd:	75 0b                	jne    0x491dca
491dbf:	ff 76 50             	push   0x50(%esi)
491dc2:	e8 95 00 00 00       	call   0x491e5c
491dc7:	59                   	pop    %ecx
491dc8:	8b d0                	mov    %eax,%edx
491dca:	6a 01                	push   $0x1
491dcc:	68 90 1e 49 00       	push   $0x491e90
491dd1:	89 56 5c             	mov    %edx,0x5c(%esi)
491dd4:	ff 15 e8 e0 49 00    	call   *0x49e0e8
491dda:	8b 0f                	mov    (%edi),%ecx
491ddc:	f6 c1 07             	test   $0x7,%cl
491ddf:	0f 95 c2             	setne  %dl
491de2:	0f ba e1 09          	bt     $0x9,%ecx
491de6:	0f 92 c0             	setb   %al
491de9:	22 d0                	and    %al,%dl
491deb:	0f ba e1 08          	bt     $0x8,%ecx
491def:	0f 92 c0             	setb   %al
491df2:	84 d0                	test   %dl,%al
491df4:	75 02                	jne    0x491df8
491df6:	89 1f                	mov    %ebx,(%edi)
491df8:	5f                   	pop    %edi
491df9:	5e                   	pop    %esi
491dfa:	5b                   	pop    %ebx
491dfb:	5d                   	pop    %ebp
491dfc:	c3                   	ret
491dfd:	8b ff                	mov    %edi,%edi
491dff:	55                   	push   %ebp
491e00:	8b ec                	mov    %esp,%ebp
491e02:	53                   	push   %ebx
491e03:	56                   	push   %esi
491e04:	57                   	push   %edi
491e05:	e8 af 4c ff ff       	call   0x486ab9
491e0a:	8b f0                	mov    %eax,%esi
491e0c:	33 db                	xor    %ebx,%ebx
491e0e:	6a 02                	push   $0x2
491e10:	5a                   	pop    %edx
491e11:	8b 4e 50             	mov    0x50(%esi),%ecx
491e14:	8d 79 02             	lea    0x2(%ecx),%edi
491e17:	66 8b 01             	mov    (%ecx),%ax
491e1a:	03 ca                	add    %edx,%ecx
491e1c:	66 3b c3             	cmp    %bx,%ax
491e1f:	75 f6                	jne    0x491e17
491e21:	2b cf                	sub    %edi,%ecx
491e23:	33 c0                	xor    %eax,%eax
491e25:	d1 f9                	sar    $1,%ecx
491e27:	83 f9 03             	cmp    $0x3,%ecx
491e2a:	0f 94 c0             	sete   %al
491e2d:	89 46 60             	mov    %eax,0x60(%esi)
491e30:	74 0b                	je     0x491e3d
491e32:	ff 76 50             	push   0x50(%esi)
491e35:	e8 22 00 00 00       	call   0x491e5c
491e3a:	59                   	pop    %ecx
491e3b:	8b d0                	mov    %eax,%edx
491e3d:	6a 01                	push   $0x1
491e3f:	68 f0 20 49 00       	push   $0x4920f0
491e44:	89 56 5c             	mov    %edx,0x5c(%esi)
491e47:	ff 15 e8 e0 49 00    	call   *0x49e0e8
491e4d:	8b 45 08             	mov    0x8(%ebp),%eax
491e50:	f6 00 04             	testb  $0x4,(%eax)
491e53:	75 02                	jne    0x491e57
491e55:	89 18                	mov    %ebx,(%eax)
491e57:	5f                   	pop    %edi
491e58:	5e                   	pop    %esi
491e59:	5b                   	pop    %ebx
491e5a:	5d                   	pop    %ebp
491e5b:	c3                   	ret
491e5c:	8b ff                	mov    %edi,%edi
491e5e:	55                   	push   %ebp
491e5f:	8b ec                	mov    %esp,%ebp
491e61:	8b 4d 08             	mov    0x8(%ebp),%ecx
491e64:	33 d2                	xor    %edx,%edx
491e66:	0f b7 01             	movzwl (%ecx),%eax
491e69:	83 c1 02             	add    $0x2,%ecx
491e6c:	66 83 f8 41          	cmp    $0x41,%ax
491e70:	72 06                	jb     0x491e78
491e72:	66 83 f8 5a          	cmp    $0x5a,%ax
491e76:	76 09                	jbe    0x491e81
491e78:	83 c0 9f             	add    $0xffffff9f,%eax
491e7b:	66 83 f8 19          	cmp    $0x19,%ax
491e7f:	77 03                	ja     0x491e84
491e81:	42                   	inc    %edx
491e82:	eb e2                	jmp    0x491e66
491e84:	8b c2                	mov    %edx,%eax
491e86:	5d                   	pop    %ebp
491e87:	c3                   	ret
491e88:	cc                   	int3
491e89:	cc                   	int3
491e8a:	cc                   	int3
491e8b:	cc                   	int3
491e8c:	cc                   	int3
491e8d:	cc                   	int3
491e8e:	cc                   	int3
491e8f:	cc                   	int3
491e90:	8b ff                	mov    %edi,%edi
491e92:	55                   	push   %ebp
491e93:	8b ec                	mov    %esp,%ebp
491e95:	81 ec fc 00 00 00    	sub    $0xfc,%esp
491e9b:	a1 14 40 4c 00       	mov    0x4c4014,%eax
491ea0:	33 c5                	xor    %ebp,%eax
491ea2:	89 45 fc             	mov    %eax,-0x4(%ebp)
491ea5:	53                   	push   %ebx
491ea6:	56                   	push   %esi
491ea7:	8b 75 08             	mov    0x8(%ebp),%esi
491eaa:	57                   	push   %edi
491eab:	e8 09 4c ff ff       	call   0x486ab9
491eb0:	8b d8                	mov    %eax,%ebx
491eb2:	e8 02 4c ff ff       	call   0x486ab9
491eb7:	56                   	push   %esi
491eb8:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
491ebe:	e8 02 03 00 00       	call   0x4921c5
491ec3:	59                   	pop    %ecx
491ec4:	8b 4b 64             	mov    0x64(%ebx),%ecx
491ec7:	8b f0                	mov    %eax,%esi
491ec9:	f7 d9                	neg    %ecx
491ecb:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491ed1:	6a 78                	push   $0x78
491ed3:	1b c9                	sbb    %ecx,%ecx
491ed5:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
491edb:	50                   	push   %eax
491edc:	81 c1 02 10 00 00    	add    $0x1002,%ecx
491ee2:	51                   	push   %ecx
491ee3:	56                   	push   %esi
491ee4:	ff 15 f4 e0 49 00    	call   *0x49e0f4
491eea:	83 a5 08 ff ff ff 00 	andl   $0x0,-0xf8(%ebp)
491ef1:	85 c0                	test   %eax,%eax
491ef3:	0f 84 d4 01 00 00    	je     0x4920cd
491ef9:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491eff:	50                   	push   %eax
491f00:	ff 73 54             	push   0x54(%ebx)
491f03:	e8 d0 83 fe ff       	call   0x47a2d8
491f08:	59                   	pop    %ecx
491f09:	59                   	pop    %ecx
491f0a:	85 c0                	test   %eax,%eax
491f0c:	0f 85 b5 00 00 00    	jne    0x491fc7
491f12:	6a 78                	push   $0x78
491f14:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491f1a:	50                   	push   %eax
491f1b:	8b 43 60             	mov    0x60(%ebx),%eax
491f1e:	f7 d8                	neg    %eax
491f20:	1b c0                	sbb    %eax,%eax