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
491f22:	25 02 f0 ff ff       	and    $0xfffff002,%eax
491f27:	05 01 10 00 00       	add    $0x1001,%eax
491f2c:	50                   	push   %eax
491f2d:	56                   	push   %esi
491f2e:	ff 15 f4 e0 49 00    	call   *0x49e0f4
491f34:	85 c0                	test   %eax,%eax
491f36:	0f 84 91 01 00 00    	je     0x4920cd
491f3c:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491f42:	50                   	push   %eax
491f43:	ff 73 50             	push   0x50(%ebx)
491f46:	e8 8d 83 fe ff       	call   0x47a2d8
491f4b:	59                   	pop    %ecx
491f4c:	59                   	pop    %ecx
491f4d:	8b 0f                	mov    (%edi),%ecx
491f4f:	85 c0                	test   %eax,%eax
491f51:	75 0d                	jne    0x491f60
491f53:	81 c9 04 03 00 00    	or     $0x304,%ecx
491f59:	89 77 04             	mov    %esi,0x4(%edi)
491f5c:	89 0f                	mov    %ecx,(%edi)
491f5e:	eb 64                	jmp    0x491fc4
491f60:	f6 c1 02             	test   $0x2,%cl
491f63:	75 62                	jne    0x491fc7
491f65:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
491f69:	74 42                	je     0x491fad
491f6b:	ff 73 5c             	push   0x5c(%ebx)
491f6e:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491f74:	50                   	push   %eax
491f75:	ff 73 50             	push   0x50(%ebx)
491f78:	e8 ab 84 fe ff       	call   0x47a428
491f7d:	83 c4 0c             	add    $0xc,%esp
491f80:	85 c0                	test   %eax,%eax
491f82:	75 29                	jne    0x491fad
491f84:	83 0f 02             	orl    $0x2,(%edi)
491f87:	89 77 08             	mov    %esi,0x8(%edi)
491f8a:	8b 4b 50             	mov    0x50(%ebx),%ecx
491f8d:	8d 51 02             	lea    0x2(%ecx),%edx
491f90:	66 8b 01             	mov    (%ecx),%ax
491f93:	83 c1 02             	add    $0x2,%ecx
491f96:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
491f9d:	75 f1                	jne    0x491f90
491f9f:	2b ca                	sub    %edx,%ecx
491fa1:	d1 f9                	sar    $1,%ecx
491fa3:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
491fa6:	75 1f                	jne    0x491fc7
491fa8:	89 77 04             	mov    %esi,0x4(%edi)
491fab:	eb 1a                	jmp    0x491fc7
491fad:	8b 17                	mov    (%edi),%edx
491faf:	f6 c2 01             	test   $0x1,%dl
491fb2:	75 13                	jne    0x491fc7
491fb4:	56                   	push   %esi
491fb5:	e8 40 03 00 00       	call   0x4922fa
491fba:	59                   	pop    %ecx
491fbb:	85 c0                	test   %eax,%eax
491fbd:	74 08                	je     0x491fc7
491fbf:	83 ca 01             	or     $0x1,%edx
491fc2:	89 17                	mov    %edx,(%edi)
491fc4:	89 77 08             	mov    %esi,0x8(%edi)
491fc7:	8b 07                	mov    (%edi),%eax
491fc9:	b9 00 03 00 00       	mov    $0x300,%ecx
491fce:	23 c1                	and    %ecx,%eax
491fd0:	3b c1                	cmp    %ecx,%eax
491fd2:	0f 84 e9 00 00 00    	je     0x4920c1
491fd8:	6a 78                	push   $0x78
491fda:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
491fe0:	50                   	push   %eax
491fe1:	8b 43 60             	mov    0x60(%ebx),%eax
491fe4:	f7 d8                	neg    %eax
491fe6:	1b c0                	sbb    %eax,%eax
491fe8:	25 02 f0 ff ff       	and    $0xfffff002,%eax
491fed:	05 01 10 00 00       	add    $0x1001,%eax
491ff2:	50                   	push   %eax
491ff3:	56                   	push   %esi
491ff4:	ff 15 f4 e0 49 00    	call   *0x49e0f4
491ffa:	85 c0                	test   %eax,%eax
491ffc:	0f 84 cb 00 00 00    	je     0x4920cd
492002:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
492008:	50                   	push   %eax
492009:	ff 73 50             	push   0x50(%ebx)
49200c:	e8 c7 82 fe ff       	call   0x47a2d8
492011:	59                   	pop    %ecx
492012:	59                   	pop    %ecx
492013:	85 c0                	test   %eax,%eax
492015:	75 6a                	jne    0x492081
492017:	8b 0f                	mov    (%edi),%ecx
492019:	81 c9 00 02 00 00    	or     $0x200,%ecx
49201f:	89 0f                	mov    %ecx,(%edi)
492021:	39 43 60             	cmp    %eax,0x60(%ebx)
492024:	74 10                	je     0x492036
492026:	81 c9 00 01 00 00    	or     $0x100,%ecx
49202c:	89 0f                	mov    %ecx,(%edi)
49202e:	39 47 04             	cmp    %eax,0x4(%edi)
492031:	e9 86 00 00 00       	jmp    0x4920bc
492036:	39 43 5c             	cmp    %eax,0x5c(%ebx)
492039:	74 eb                	je     0x492026
49203b:	8b 53 50             	mov    0x50(%ebx),%edx
49203e:	8d 42 02             	lea    0x2(%edx),%eax
492041:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
492047:	66 8b 02             	mov    (%edx),%ax
49204a:	83 c2 02             	add    $0x2,%edx
49204d:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
492054:	75 f1                	jne    0x492047
492056:	2b 95 04 ff ff ff    	sub    -0xfc(%ebp),%edx
49205c:	d1 fa                	sar    $1,%edx
49205e:	3b 53 5c             	cmp    0x5c(%ebx),%edx
492061:	75 1a                	jne    0x49207d
492063:	57                   	push   %edi
492064:	6a 01                	push   $0x1
492066:	56                   	push   %esi
492067:	e8 b3 02 00 00       	call   0x49231f
49206c:	83 c4 0c             	add    $0xc,%esp
49206f:	85 c0                	test   %eax,%eax
492071:	74 4e                	je     0x4920c1
492073:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
492079:	33 c0                	xor    %eax,%eax
49207b:	eb b1                	jmp    0x49202e
49207d:	33 c0                	xor    %eax,%eax
49207f:	eb a5                	jmp    0x492026
492081:	33 c0                	xor    %eax,%eax
492083:	39 43 60             	cmp    %eax,0x60(%ebx)
492086:	75 39                	jne    0x4920c1
492088:	39 43 5c             	cmp    %eax,0x5c(%ebx)
49208b:	74 34                	je     0x4920c1
49208d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
492093:	50                   	push   %eax
492094:	ff 73 50             	push   0x50(%ebx)
492097:	e8 3c 82 fe ff       	call   0x47a2d8
49209c:	59                   	pop    %ecx
49209d:	59                   	pop    %ecx
49209e:	85 c0                	test   %eax,%eax
4920a0:	75 1f                	jne    0x4920c1
4920a2:	57                   	push   %edi
4920a3:	33 db                	xor    %ebx,%ebx
4920a5:	53                   	push   %ebx
4920a6:	56                   	push   %esi
4920a7:	e8 73 02 00 00       	call   0x49231f
4920ac:	83 c4 0c             	add    $0xc,%esp
4920af:	85 c0                	test   %eax,%eax
4920b1:	74 0e                	je     0x4920c1
4920b3:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
4920b9:	39 5f 04             	cmp    %ebx,0x4(%edi)
4920bc:	75 03                	jne    0x4920c1
4920be:	89 77 04             	mov    %esi,0x4(%edi)
4920c1:	8b 07                	mov    (%edi),%eax
4920c3:	c1 e8 02             	shr    $0x2,%eax
4920c6:	f7 d0                	not    %eax
4920c8:	83 e0 01             	and    $0x1,%eax
4920cb:	eb 05                	jmp    0x4920d2
4920cd:	33 c0                	xor    %eax,%eax
4920cf:	89 07                	mov    %eax,(%edi)
4920d1:	40                   	inc    %eax
4920d2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4920d5:	5f                   	pop    %edi
4920d6:	5e                   	pop    %esi
4920d7:	33 cd                	xor    %ebp,%ecx
4920d9:	5b                   	pop    %ebx
4920da:	e8 eb 78 fd ff       	call   0x4699ca
4920df:	c9                   	leave
4920e0:	c2 04 00             	ret    $0x4
4920e3:	cc                   	int3
4920e4:	cc                   	int3
4920e5:	cc                   	int3
4920e6:	cc                   	int3
4920e7:	cc                   	int3
4920e8:	cc                   	int3
4920e9:	cc                   	int3
4920ea:	cc                   	int3
4920eb:	cc                   	int3
4920ec:	cc                   	int3
4920ed:	cc                   	int3
4920ee:	cc                   	int3
4920ef:	cc                   	int3
4920f0:	8b ff                	mov    %edi,%edi
4920f2:	55                   	push   %ebp
4920f3:	8b ec                	mov    %esp,%ebp
4920f5:	81 ec f4 00 00 00    	sub    $0xf4,%esp