4799b1:	8b 04 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%eax
4799b8:	80 64 08 28 fd       	andb   $0xfd,0x28(%eax,%ecx,1)
4799bd:	8b c2                	mov    %edx,%eax
4799bf:	5e                   	pop    %esi
4799c0:	5d                   	pop    %ebp
4799c1:	c3                   	ret
4799c2:	8b ff                	mov    %edi,%edi
4799c4:	55                   	push   %ebp
4799c5:	8b ec                	mov    %esp,%ebp
4799c7:	51                   	push   %ecx
4799c8:	51                   	push   %ecx
4799c9:	56                   	push   %esi
4799ca:	8b 75 08             	mov    0x8(%ebp),%esi
4799cd:	57                   	push   %edi
4799ce:	56                   	push   %esi
4799cf:	e8 ee 5b 00 00       	call   0x47f5c2
4799d4:	83 cf ff             	or     $0xffffffff,%edi
4799d7:	59                   	pop    %ecx
4799d8:	3b c7                	cmp    %edi,%eax
4799da:	75 11                	jne    0x4799ed
4799dc:	e8 4e 34 fd ff       	call   0x44ce2f
4799e1:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4799e7:	8b c7                	mov    %edi,%eax
4799e9:	8b d7                	mov    %edi,%edx
4799eb:	eb 4d                	jmp    0x479a3a
4799ed:	ff 75 14             	push   0x14(%ebp)
4799f0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4799f3:	51                   	push   %ecx
4799f4:	ff 75 10             	push   0x10(%ebp)
4799f7:	ff 75 0c             	push   0xc(%ebp)
4799fa:	50                   	push   %eax
4799fb:	ff 15 54 40 49 00    	call   *0x494054
479a01:	85 c0                	test   %eax,%eax
479a03:	75 0f                	jne    0x479a14
479a05:	ff 15 24 41 49 00    	call   *0x494124
479a0b:	50                   	push   %eax
479a0c:	e8 e8 33 fd ff       	call   0x44cdf9
479a11:	59                   	pop    %ecx
479a12:	eb d3                	jmp    0x4799e7
479a14:	8b 45 f8             	mov    -0x8(%ebp),%eax
479a17:	8b 55 fc             	mov    -0x4(%ebp),%edx
479a1a:	23 c2                	and    %edx,%eax
479a1c:	3b c7                	cmp    %edi,%eax
479a1e:	74 c7                	je     0x4799e7
479a20:	8b 45 f8             	mov    -0x8(%ebp),%eax
479a23:	8b ce                	mov    %esi,%ecx
479a25:	83 e6 3f             	and    $0x3f,%esi
479a28:	c1 f9 06             	sar    $0x6,%ecx
479a2b:	6b f6 30             	imul   $0x30,%esi,%esi
479a2e:	8b 0c 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%ecx
479a35:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
479a3a:	5f                   	pop    %edi
479a3b:	5e                   	pop    %esi
479a3c:	8b e5                	mov    %ebp,%esp
479a3e:	5d                   	pop    %ebp
479a3f:	c3                   	ret
479a40:	8b ff                	mov    %edi,%edi
479a42:	55                   	push   %ebp
479a43:	8b ec                	mov    %esp,%ebp
479a45:	83 ec 10             	sub    $0x10,%esp
479a48:	8d 45 f0             	lea    -0x10(%ebp),%eax
479a4b:	56                   	push   %esi
479a4c:	6a 01                	push   $0x1
479a4e:	50                   	push   %eax
479a4f:	33 f6                	xor    %esi,%esi
479a51:	56                   	push   %esi
479a52:	56                   	push   %esi
479a53:	ff 75 08             	push   0x8(%ebp)
479a56:	ff 15 54 40 49 00    	call   *0x494054
479a5c:	85 c0                	test   %eax,%eax
479a5e:	75 0f                	jne    0x479a6f
479a60:	ff 15 24 41 49 00    	call   *0x494124
479a66:	50                   	push   %eax
479a67:	e8 8d 33 fd ff       	call   0x44cdf9
479a6c:	59                   	pop    %ecx
479a6d:	eb 4d                	jmp    0x479abc
479a6f:	ff 75 10             	push   0x10(%ebp)
479a72:	8b 45 0c             	mov    0xc(%ebp),%eax
479a75:	8d 4d f8             	lea    -0x8(%ebp),%ecx
479a78:	51                   	push   %ecx
479a79:	99                   	cltd
479a7a:	52                   	push   %edx
479a7b:	50                   	push   %eax
479a7c:	ff 75 08             	push   0x8(%ebp)
479a7f:	89 75 f8             	mov    %esi,-0x8(%ebp)
479a82:	89 75 fc             	mov    %esi,-0x4(%ebp)
479a85:	ff 15 54 40 49 00    	call   *0x494054
479a8b:	85 c0                	test   %eax,%eax
479a8d:	74 d1                	je     0x479a60
479a8f:	8b 45 f8             	mov    -0x8(%ebp),%eax
479a92:	39 75 fc             	cmp    %esi,-0x4(%ebp)
479a95:	7c 28                	jl     0x479abf
479a97:	7f 07                	jg     0x479aa0
479a99:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
479a9e:	76 1f                	jbe    0x479abf
479aa0:	56                   	push   %esi
479aa1:	56                   	push   %esi
479aa2:	ff 75 f4             	push   -0xc(%ebp)
479aa5:	ff 75 f0             	push   -0x10(%ebp)
479aa8:	ff 75 08             	push   0x8(%ebp)
479aab:	ff 15 54 40 49 00    	call   *0x494054
479ab1:	e8 79 33 fd ff       	call   0x44ce2f
479ab6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
479abc:	83 c8 ff             	or     $0xffffffff,%eax
479abf:	5e                   	pop    %esi
479ac0:	8b e5                	mov    %ebp,%esp
479ac2:	5d                   	pop    %ebp
479ac3:	c3                   	ret
479ac4:	8b ff                	mov    %edi,%edi
479ac6:	55                   	push   %ebp
479ac7:	8b ec                	mov    %esp,%ebp
479ac9:	51                   	push   %ecx
479aca:	51                   	push   %ecx
479acb:	ff 75 14             	push   0x14(%ebp)
479ace:	8d 45 f8             	lea    -0x8(%ebp),%eax
479ad1:	50                   	push   %eax
479ad2:	ff 75 10             	push   0x10(%ebp)
479ad5:	ff 75 0c             	push   0xc(%ebp)
479ad8:	ff 75 08             	push   0x8(%ebp)
479adb:	ff 15 54 40 49 00    	call   *0x494054
479ae1:	85 c0                	test   %eax,%eax
479ae3:	75 14                	jne    0x479af9
479ae5:	ff 15 24 41 49 00    	call   *0x494124
479aeb:	50                   	push   %eax
479aec:	e8 08 33 fd ff       	call   0x44cdf9
479af1:	83 ca ff             	or     $0xffffffff,%edx
479af4:	59                   	pop    %ecx
479af5:	8b c2                	mov    %edx,%eax
479af7:	eb 06                	jmp    0x479aff
479af9:	8b 45 f8             	mov    -0x8(%ebp),%eax
479afc:	8b 55 fc             	mov    -0x4(%ebp),%edx
479aff:	8b e5                	mov    %ebp,%esp
479b01:	5d                   	pop    %ebp
479b02:	c3                   	ret
479b03:	8b ff                	mov    %edi,%edi
479b05:	55                   	push   %ebp
479b06:	8b ec                	mov    %esp,%ebp
479b08:	5d                   	pop    %ebp
479b09:	e9 6d fc ff ff       	jmp    0x47977b
479b0e:	8b ff                	mov    %edi,%edi
479b10:	55                   	push   %ebp
479b11:	8b ec                	mov    %esp,%ebp
479b13:	5d                   	pop    %ebp
479b14:	e9 52 fe ff ff       	jmp    0x47996b
479b19:	8b ff                	mov    %edi,%edi
479b1b:	55                   	push   %ebp
479b1c:	8b ec                	mov    %esp,%ebp
479b1e:	ff 75 14             	push   0x14(%ebp)
479b21:	ff 75 10             	push   0x10(%ebp)
479b24:	ff 75 0c             	push   0xc(%ebp)
479b27:	ff 75 08             	push   0x8(%ebp)
479b2a:	e8 37 fd ff ff       	call   0x479866
479b2f:	83 c4 10             	add    $0x10,%esp
479b32:	5d                   	pop    %ebp
479b33:	c3                   	ret
479b34:	8b ff                	mov    %edi,%edi
479b36:	55                   	push   %ebp
479b37:	8b ec                	mov    %esp,%ebp
479b39:	ff 75 14             	push   0x14(%ebp)
479b3c:	ff 75 10             	push   0x10(%ebp)
479b3f:	ff 75 0c             	push   0xc(%ebp)
479b42:	ff 75 08             	push   0x8(%ebp)
479b45:	e8 78 fe ff ff       	call   0x4799c2
479b4a:	83 c4 10             	add    $0x10,%esp
479b4d:	5d                   	pop    %ebp
479b4e:	c3                   	ret
479b4f:	8b ff                	mov    %edi,%edi
479b51:	55                   	push   %ebp
479b52:	8b ec                	mov    %esp,%ebp
479b54:	8b 45 0c             	mov    0xc(%ebp),%eax
479b57:	8b d0                	mov    %eax,%edx
479b59:	83 e0 3f             	and    $0x3f,%eax
479b5c:	c1 fa 06             	sar    $0x6,%edx
479b5f:	6b c8 30             	imul   $0x30,%eax,%ecx
479b62:	56                   	push   %esi
479b63:	8b 75 08             	mov    0x8(%ebp),%esi
479b66:	8b 04 95 00 c0 4b 00 	mov    0x4bc000(,%edx,4),%eax
479b6d:	33 d2                	xor    %edx,%edx
479b6f:	52                   	push   %edx
479b70:	8b 4c 08 18          	mov    0x18(%eax,%ecx,1),%ecx
479b74:	8d 46 04             	lea    0x4(%esi),%eax
479b77:	50                   	push   %eax
479b78:	ff 75 14             	push   0x14(%ebp)
479b7b:	89 16                	mov    %edx,(%esi)
479b7d:	ff 75 10             	push   0x10(%ebp)
479b80:	89 10                	mov    %edx,(%eax)
479b82:	51                   	push   %ecx
479b83:	89 50 04             	mov    %edx,0x4(%eax)
479b86:	ff 15 8c 40 49 00    	call   *0x49408c
479b8c:	85 c0                	test   %eax,%eax
479b8e:	75 08                	jne    0x479b98
479b90:	ff 15 24 41 49 00    	call   *0x494124
479b96:	89 06                	mov    %eax,(%esi)
479b98:	8b c6                	mov    %esi,%eax
479b9a:	5e                   	pop    %esi
479b9b:	5d                   	pop    %ebp
479b9c:	c3                   	ret
479b9d:	8b ff                	mov    %edi,%edi
479b9f:	55                   	push   %ebp
479ba0:	8b ec                	mov    %esp,%ebp
479ba2:	83 ec 3c             	sub    $0x3c,%esp
479ba5:	a1 94 80 4b 00       	mov    0x4b8094,%eax
479baa:	33 c5                	xor    %ebp,%eax
479bac:	89 45 fc             	mov    %eax,-0x4(%ebp)
479baf:	8b 45 0c             	mov    0xc(%ebp),%eax
479bb2:	8b c8                	mov    %eax,%ecx
479bb4:	83 e0 3f             	and    $0x3f,%eax
479bb7:	c1 f9 06             	sar    $0x6,%ecx
479bba:	53                   	push   %ebx
479bbb:	6b d8 30             	imul   $0x30,%eax,%ebx
479bbe:	56                   	push   %esi
479bbf:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
479bc6:	57                   	push   %edi
479bc7:	8b 7d 10             	mov    0x10(%ebp),%edi
479bca:	89 7d d4             	mov    %edi,-0x2c(%ebp)
479bcd:	89 4d cc             	mov    %ecx,-0x34(%ebp)
479bd0:	8b 44 18 18          	mov    0x18(%eax,%ebx,1),%eax
479bd4:	89 45 d0             	mov    %eax,-0x30(%ebp)
479bd7:	8b 45 14             	mov    0x14(%ebp),%eax
479bda:	03 c7                	add    %edi,%eax
479bdc:	89 45 d8             	mov    %eax,-0x28(%ebp)
479bdf:	ff 15 50 40 49 00    	call   *0x494050
479be5:	8b 75 08             	mov    0x8(%ebp),%esi
479be8:	89 45 c8             	mov    %eax,-0x38(%ebp)
479beb:	33 c0                	xor    %eax,%eax
479bed:	89 06                	mov    %eax,(%esi)
479bef:	89 46 04             	mov    %eax,0x4(%esi)
479bf2:	89 46 08             	mov    %eax,0x8(%esi)
479bf5:	8b c7                	mov    %edi,%eax
479bf7:	3b 45 d8             	cmp    -0x28(%ebp),%eax
479bfa:	0f 83 4f 01 00 00    	jae    0x479d4f
479c00:	40                   	inc    %eax
479c01:	89 45 e0             	mov    %eax,-0x20(%ebp)
479c04:	8a 2f                	mov    (%edi),%ch
479c06:	33 c0                	xor    %eax,%eax
479c08:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
479c0c:	8b 45 cc             	mov    -0x34(%ebp),%eax
479c0f:	88 6d e5             	mov    %ch,-0x1b(%ebp)
479c12:	8b 14 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%edx
479c19:	8a 4c 1a 2d          	mov    0x2d(%edx,%ebx,1),%cl
479c1d:	f6 c1 04             	test   $0x4,%cl
479c20:	74 19                	je     0x479c3b
479c22:	8a 44 1a 2e          	mov    0x2e(%edx,%ebx,1),%al
479c26:	80 e1 fb             	and    $0xfb,%cl
479c29:	88 45 f4             	mov    %al,-0xc(%ebp)
479c2c:	8d 45 f4             	lea    -0xc(%ebp),%eax
479c2f:	6a 02                	push   $0x2
479c31:	88 6d f5             	mov    %ch,-0xb(%ebp)
479c34:	88 4c 1a 2d          	mov    %cl,0x2d(%edx,%ebx,1)
479c38:	50                   	push   %eax
479c39:	eb 41                	jmp    0x479c7c
479c3b:	e8 d7 e8 fe ff       	call   0x468517
479c40:	0f b6 0f             	movzbl (%edi),%ecx
479c43:	ba 00 80 00 00       	mov    $0x8000,%edx
479c48:	66 85 14 48          	test   %dx,(%eax,%ecx,2)
479c4c:	74 2b                	je     0x479c79
479c4e:	8b 45 d8             	mov    -0x28(%ebp),%eax
479c51:	39 45 e0             	cmp    %eax,-0x20(%ebp)
479c54:	0f 83 cc 00 00 00    	jae    0x479d26
479c5a:	6a 02                	push   $0x2
479c5c:	8d 45 e8             	lea    -0x18(%ebp),%eax
479c5f:	57                   	push   %edi
479c60:	50                   	push   %eax
479c61:	e8 04 d9 ff ff       	call   0x47756a
479c66:	83 c4 0c             	add    $0xc,%esp
479c69:	83 f8 ff             	cmp    $0xffffffff,%eax
479c6c:	0f 84 dd 00 00 00    	je     0x479d4f
479c72:	8b 45 e0             	mov    -0x20(%ebp),%eax
479c75:	47                   	inc    %edi
479c76:	40                   	inc    %eax
479c77:	eb 1b                	jmp    0x479c94
479c79:	6a 01                	push   $0x1
479c7b:	57                   	push   %edi
479c7c:	8d 45 e8             	lea    -0x18(%ebp),%eax
479c7f:	50                   	push   %eax
479c80:	e8 e5 d8 ff ff       	call   0x47756a
479c85:	83 c4 0c             	add    $0xc,%esp
479c88:	83 f8 ff             	cmp    $0xffffffff,%eax
479c8b:	0f 84 be 00 00 00    	je     0x479d4f
479c91:	8b 45 e0             	mov    -0x20(%ebp),%eax
479c94:	33 c9                	xor    %ecx,%ecx
479c96:	47                   	inc    %edi
479c97:	51                   	push   %ecx
479c98:	51                   	push   %ecx
479c99:	40                   	inc    %eax
479c9a:	6a 05                	push   $0x5
479c9c:	89 45 e0             	mov    %eax,-0x20(%ebp)
479c9f:	8d 45 ec             	lea    -0x14(%ebp),%eax
479ca2:	50                   	push   %eax
479ca3:	6a 01                	push   $0x1
479ca5:	8d 45 e8             	lea    -0x18(%ebp),%eax
479ca8:	50                   	push   %eax
479ca9:	51                   	push   %ecx
479caa:	ff 75 c8             	push   -0x38(%ebp)
479cad:	ff 15 78 41 49 00    	call   *0x494178
479cb3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
479cb6:	85 c0                	test   %eax,%eax
479cb8:	0f 84 91 00 00 00    	je     0x479d4f
479cbe:	6a 00                	push   $0x0
479cc0:	8d 4d dc             	lea    -0x24(%ebp),%ecx
479cc3:	51                   	push   %ecx
479cc4:	50                   	push   %eax
479cc5:	8d 45 ec             	lea    -0x14(%ebp),%eax
479cc8:	50                   	push   %eax
479cc9:	ff 75 d0             	push   -0x30(%ebp)
479ccc:	ff 15 8c 40 49 00    	call   *0x49408c
479cd2:	85 c0                	test   %eax,%eax
479cd4:	74 71                	je     0x479d47
479cd6:	8b 46 08             	mov    0x8(%esi),%eax
479cd9:	2b 45 d4             	sub    -0x2c(%ebp),%eax
479cdc:	03 c7                	add    %edi,%eax
479cde:	89 46 04             	mov    %eax,0x4(%esi)
479ce1:	8b 45 c4             	mov    -0x3c(%ebp),%eax
479ce4:	39 45 dc             	cmp    %eax,-0x24(%ebp)
479ce7:	72 66                	jb     0x479d4f
479ce9:	80 7d e5 0a          	cmpb   $0xa,-0x1b(%ebp)
479ced:	75 2c                	jne    0x479d1b
479cef:	6a 0d                	push   $0xd
479cf1:	58                   	pop    %eax
479cf2:	6a 00                	push   $0x0
479cf4:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
479cf8:	8d 45 dc             	lea    -0x24(%ebp),%eax
479cfb:	50                   	push   %eax
479cfc:	6a 01                	push   $0x1
479cfe:	8d 45 e4             	lea    -0x1c(%ebp),%eax
479d01:	50                   	push   %eax
479d02:	ff 75 d0             	push   -0x30(%ebp)
479d05:	ff 15 8c 40 49 00    	call   *0x49408c
479d0b:	85 c0                	test   %eax,%eax
479d0d:	74 38                	je     0x479d47
479d0f:	83 7d dc 01          	cmpl   $0x1,-0x24(%ebp)
479d13:	72 3a                	jb     0x479d4f
479d15:	ff 46 08             	incl   0x8(%esi)
479d18:	ff 46 04             	incl   0x4(%esi)
479d1b:	3b 7d d8             	cmp    -0x28(%ebp),%edi
479d1e:	0f 82 e0 fe ff ff    	jb     0x479c04
479d24:	eb 29                	jmp    0x479d4f
479d26:	8b 55 cc             	mov    -0x34(%ebp),%edx
479d29:	8a 07                	mov    (%edi),%al
479d2b:	8b 0c 95 00 c0 4b 00 	mov    0x4bc000(,%edx,4),%ecx
479d32:	88 44 19 2e          	mov    %al,0x2e(%ecx,%ebx,1)
479d36:	8b 04 95 00 c0 4b 00 	mov    0x4bc000(,%edx,4),%eax
479d3d:	80 4c 18 2d 04       	orb    $0x4,0x2d(%eax,%ebx,1)
479d42:	ff 46 04             	incl   0x4(%esi)
479d45:	eb 08                	jmp    0x479d4f
479d47:	ff 15 24 41 49 00    	call   *0x494124
479d4d:	89 06                	mov    %eax,(%esi)
479d4f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
479d52:	8b c6                	mov    %esi,%eax
479d54:	5f                   	pop    %edi