477c66:	66 7a 47             	data16 jp 0x477cb0
477c69:	00 4c 7b 47          	add    %cl,0x47(%ebx,%edi,2)
477c6d:	00 64 7b 47          	add    %ah,0x47(%ebx,%edi,2)
477c71:	00 aa 7b 47 00 dc    	add    %ch,-0x23ffb885(%edx)
477c77:	7b 47                	jnp    0x477cc0
477c79:	00 e1                	add    %ah,%cl
477c7b:	7b 47                	jnp    0x477cc4
477c7d:	00 04 7c             	add    %al,(%esp,%edi,2)
477c80:	47                   	inc    %edi
477c81:	00 0d 7c 47 00 8b    	add    %cl,0x8b00477c
477c87:	ff 53 56             	call   *0x56(%ebx)
477c8a:	8b f1                	mov    %ecx,%esi
477c8c:	57                   	push   %edi
477c8d:	ff 76 08             	push   0x8(%esi)
477c90:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
477c96:	e8 eb 14 00 00       	call   0x479186
477c9b:	84 c0                	test   %al,%al
477c9d:	74 27                	je     0x477cc6
477c9f:	8b 56 0c             	mov    0xc(%esi),%edx
477ca2:	85 d2                	test   %edx,%edx
477ca4:	75 27                	jne    0x477ccd
477ca6:	33 db                	xor    %ebx,%ebx
477ca8:	8b 46 08             	mov    0x8(%esi),%eax
477cab:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
477cb2:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
477cb6:	ff 76 08             	push   0x8(%esi)
477cb9:	53                   	push   %ebx
477cba:	53                   	push   %ebx
477cbb:	53                   	push   %ebx
477cbc:	53                   	push   %ebx
477cbd:	53                   	push   %ebx
477cbe:	e8 e1 18 00 00       	call   0x4795a4
477cc3:	83 c4 18             	add    $0x18,%esp
477cc6:	83 c8 ff             	or     $0xffffffff,%eax
477cc9:	5f                   	pop    %edi
477cca:	5e                   	pop    %esi
477ccb:	5b                   	pop    %ebx
477ccc:	c3                   	ret
477ccd:	8b 86 50 04 00 00    	mov    0x450(%esi),%eax
477cd3:	40                   	inc    %eax
477cd4:	89 86 50 04 00 00    	mov    %eax,0x450(%esi)
477cda:	83 f8 02             	cmp    $0x2,%eax
477cdd:	0f 84 a6 01 00 00    	je     0x477e89
477ce3:	33 db                	xor    %ebx,%ebx
477ce5:	89 5e 34             	mov    %ebx,0x34(%esi)
477ce8:	88 5e 18             	mov    %bl,0x18(%esi)
477ceb:	0f b7 02             	movzwl (%edx),%eax
477cee:	83 c2 02             	add    $0x2,%edx
477cf1:	89 56 0c             	mov    %edx,0xc(%esi)
477cf4:	66 89 46 2e          	mov    %ax,0x2e(%esi)
477cf8:	66 85 c0             	test   %ax,%ax
477cfb:	0f 84 66 01 00 00    	je     0x477e67
477d01:	8b f8                	mov    %eax,%edi
477d03:	8b 46 14             	mov    0x14(%esi),%eax
477d06:	85 c0                	test   %eax,%eax
477d08:	0f 88 59 01 00 00    	js     0x477e67
477d0e:	0f b6 46 18          	movzbl 0x18(%esi),%eax
477d12:	8b ce                	mov    %esi,%ecx
477d14:	50                   	push   %eax
477d15:	57                   	push   %edi
477d16:	e8 77 f7 ff ff       	call   0x477492
477d1b:	88 46 18             	mov    %al,0x18(%esi)
477d1e:	3c 08                	cmp    $0x8,%al
477d20:	0f 83 6b 01 00 00    	jae    0x477e91
477d26:	0f b6 c0             	movzbl %al,%eax
477d29:	83 f8 07             	cmp    $0x7,%eax
477d2c:	77 98                	ja     0x477cc6
477d2e:	ff 24 85 a6 7e 47 00 	jmp    *0x477ea6(,%eax,4)
477d35:	c6 46 38 01          	movb   $0x1,0x38(%esi)
477d39:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
477d3f:	8b 0a                	mov    (%edx),%ecx
477d41:	8b 41 08             	mov    0x8(%ecx),%eax
477d44:	3b 41 04             	cmp    0x4(%ecx),%eax
477d47:	75 16                	jne    0x477d5f
477d49:	38 59 0c             	cmp    %bl,0xc(%ecx)
477d4c:	74 08                	je     0x477d56
477d4e:	ff 46 14             	incl   0x14(%esi)
477d51:	e9 f6 00 00 00       	jmp    0x477e4c
477d56:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
477d5a:	e9 ed 00 00 00       	jmp    0x477e4c
477d5f:	ff 46 14             	incl   0x14(%esi)
477d62:	ff 41 08             	incl   0x8(%ecx)
477d65:	8b 02                	mov    (%edx),%eax
477d67:	8b 00                	mov    (%eax),%eax
477d69:	66 89 38             	mov    %di,(%eax)
477d6c:	8b 02                	mov    (%edx),%eax
477d6e:	83 00 02             	addl   $0x2,(%eax)
477d71:	e9 d6 00 00 00       	jmp    0x477e4c
477d76:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
477d7a:	89 5e 20             	mov    %ebx,0x20(%esi)
477d7d:	88 5e 2c             	mov    %bl,0x2c(%esi)
477d80:	89 5e 1c             	mov    %ebx,0x1c(%esi)
477d83:	89 5e 28             	mov    %ebx,0x28(%esi)
477d86:	88 5e 38             	mov    %bl,0x38(%esi)
477d89:	e9 be 00 00 00       	jmp    0x477e4c
477d8e:	0f b7 c7             	movzwl %di,%eax
477d91:	83 e8 20             	sub    $0x20,%eax
477d94:	74 3a                	je     0x477dd0
477d96:	83 e8 03             	sub    $0x3,%eax
477d99:	74 2f                	je     0x477dca
477d9b:	83 e8 08             	sub    $0x8,%eax
477d9e:	74 21                	je     0x477dc1
477da0:	48                   	dec    %eax
477da1:	83 e8 01             	sub    $0x1,%eax
477da4:	74 12                	je     0x477db8
477da6:	83 e8 03             	sub    $0x3,%eax
477da9:	0f 85 9d 00 00 00    	jne    0x477e4c
477daf:	83 4e 1c 08          	orl    $0x8,0x1c(%esi)
477db3:	e9 94 00 00 00       	jmp    0x477e4c
477db8:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
477dbc:	e9 8b 00 00 00       	jmp    0x477e4c
477dc1:	83 4e 1c 01          	orl    $0x1,0x1c(%esi)
477dc5:	e9 82 00 00 00       	jmp    0x477e4c
477dca:	83 4e 1c 20          	orl    $0x20,0x1c(%esi)
477dce:	eb 7c                	jmp    0x477e4c
477dd0:	83 4e 1c 02          	orl    $0x2,0x1c(%esi)
477dd4:	eb 76                	jmp    0x477e4c
477dd6:	6a 2a                	push   $0x2a
477dd8:	58                   	pop    %eax
477dd9:	66 3b f8             	cmp    %ax,%di
477ddc:	74 0d                	je     0x477deb
477dde:	8d 46 20             	lea    0x20(%esi),%eax
477de1:	50                   	push   %eax
477de2:	8b ce                	mov    %esi,%ecx
477de4:	e8 6b f8 ff ff       	call   0x477654
477de9:	eb 59                	jmp    0x477e44
477deb:	8b 4e 10             	mov    0x10(%esi),%ecx
477dee:	8d 41 04             	lea    0x4(%ecx),%eax
477df1:	89 46 10             	mov    %eax,0x10(%esi)
477df4:	8b 01                	mov    (%ecx),%eax
477df6:	89 46 20             	mov    %eax,0x20(%esi)
477df9:	85 c0                	test   %eax,%eax
477dfb:	79 09                	jns    0x477e06
477dfd:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
477e01:	f7 d8                	neg    %eax
477e03:	89 46 20             	mov    %eax,0x20(%esi)
477e06:	b0 01                	mov    $0x1,%al
477e08:	eb 3a                	jmp    0x477e44
477e0a:	89 5e 24             	mov    %ebx,0x24(%esi)
477e0d:	eb 3d                	jmp    0x477e4c
477e0f:	6a 2a                	push   $0x2a
477e11:	58                   	pop    %eax
477e12:	66 3b f8             	cmp    %ax,%di
477e15:	74 05                	je     0x477e1c
477e17:	8d 46 24             	lea    0x24(%esi),%eax
477e1a:	eb c5                	jmp    0x477de1
477e1c:	8b 4e 10             	mov    0x10(%esi),%ecx
477e1f:	8d 41 04             	lea    0x4(%ecx),%eax
477e22:	89 46 10             	mov    %eax,0x10(%esi)
477e25:	8b 01                	mov    (%ecx),%eax
477e27:	89 46 24             	mov    %eax,0x24(%esi)
477e2a:	85 c0                	test   %eax,%eax
477e2c:	79 d8                	jns    0x477e06
477e2e:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
477e32:	eb d2                	jmp    0x477e06
477e34:	8b ce                	mov    %esi,%ecx
477e36:	e8 e4 01 00 00       	call   0x47801f
477e3b:	eb 07                	jmp    0x477e44
477e3d:	8b ce                	mov    %esi,%ecx
477e3f:	e8 c4 06 00 00       	call   0x478508
477e44:	84 c0                	test   %al,%al
477e46:	0f 84 7a fe ff ff    	je     0x477cc6
477e4c:	8b 46 0c             	mov    0xc(%esi),%eax
477e4f:	0f b7 08             	movzwl (%eax),%ecx
477e52:	8d 50 02             	lea    0x2(%eax),%edx
477e55:	89 56 0c             	mov    %edx,0xc(%esi)
477e58:	8b f9                	mov    %ecx,%edi
477e5a:	66 89 4e 2e          	mov    %cx,0x2e(%esi)
477e5e:	66 85 c9             	test   %cx,%cx
477e61:	0f 85 9c fe ff ff    	jne    0x477d03
477e67:	8a 46 18             	mov    0x18(%esi),%al
477e6a:	84 c0                	test   %al,%al
477e6c:	74 08                	je     0x477e76
477e6e:	3c 07                	cmp    $0x7,%al
477e70:	0f 85 32 fe ff ff    	jne    0x477ca8
477e76:	ff 86 50 04 00 00    	incl   0x450(%esi)
477e7c:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
477e83:	0f 85 5c fe ff ff    	jne    0x477ce5
477e89:	8b 46 14             	mov    0x14(%esi),%eax
477e8c:	e9 38 fe ff ff       	jmp    0x477cc9
477e91:	8b 4e 08             	mov    0x8(%esi),%ecx
477e94:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
477e98:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
477e9f:	e9 12 fe ff ff       	jmp    0x477cb6
477ea4:	8b ff                	mov    %edi,%edi
477ea6:	35 7d 47 00 76       	xor    $0x7600477d,%eax
477eab:	7d 47                	jge    0x477ef4
477ead:	00 8e 7d 47 00 d6    	add    %cl,-0x29ffb883(%esi)
477eb3:	7d 47                	jge    0x477efc
477eb5:	00 0a                	add    %cl,(%edx)
477eb7:	7e 47                	jle    0x477f00
477eb9:	00 0f                	add    %cl,(%edi)
477ebb:	7e 47                	jle    0x477f04
477ebd:	00 34 7e             	add    %dh,(%esi,%edi,2)
477ec0:	47                   	inc    %edi
477ec1:	00 3d 7e 47 00 8a    	add    %bh,0x8a00477e
477ec7:	41                   	inc    %ecx
477ec8:	2d 3c 46 75 17       	sub    $0x1775463c,%eax
477ecd:	8b 01                	mov    (%ecx),%eax
477ecf:	83 e0 08             	and    $0x8,%eax
477ed2:	83 c8 00             	or     $0x0,%eax
477ed5:	0f 85 41 01 00 00    	jne    0x47801c
477edb:	c6 41 18 07          	movb   $0x7,0x18(%ecx)
477edf:	e9 c5 02 00 00       	jmp    0x4781a9
477ee4:	33 d2                	xor    %edx,%edx
477ee6:	3c 4e                	cmp    $0x4e,%al
477ee8:	75 34                	jne    0x477f1e
477eea:	8b 01                	mov    (%ecx),%eax
477eec:	83 e0 08             	and    $0x8,%eax
477eef:	0b c2                	or     %edx,%eax
477ef1:	0f 85 25 01 00 00    	jne    0x47801c
477ef7:	c6 41 18 08          	movb   $0x8,0x18(%ecx)
477efb:	8b 41 08             	mov    0x8(%ecx),%eax
477efe:	83 c0 18             	add    $0x18,%eax
477f01:	c6 40 04 01          	movb   $0x1,0x4(%eax)
477f05:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
477f0b:	ff 71 08             	push   0x8(%ecx)
477f0e:	52                   	push   %edx
477f0f:	52                   	push   %edx
477f10:	52                   	push   %edx
477f11:	52                   	push   %edx
477f12:	52                   	push   %edx
477f13:	e8 8c 16 00 00       	call   0x4795a4
477f18:	83 c4 18             	add    $0x18,%esp
477f1b:	32 c0                	xor    %al,%al
477f1d:	c3                   	ret
477f1e:	39 51 28             	cmp    %edx,0x28(%ecx)
477f21:	75 d8                	jne    0x477efb
477f23:	3c 6a                	cmp    $0x6a,%al
477f25:	0f 8f b0 00 00 00    	jg     0x477fdb
477f2b:	0f 84 a1 00 00 00    	je     0x477fd2
477f31:	3c 49                	cmp    $0x49,%al
477f33:	74 43                	je     0x477f78
477f35:	3c 4c                	cmp    $0x4c,%al
477f37:	74 33                	je     0x477f6c
477f39:	3c 54                	cmp    $0x54,%al
477f3b:	74 23                	je     0x477f60
477f3d:	3c 68                	cmp    $0x68,%al
477f3f:	0f 85 d7 00 00 00    	jne    0x47801c
477f45:	8b 41 0c             	mov    0xc(%ecx),%eax
477f48:	80 38 68             	cmpb   $0x68,(%eax)
477f4b:	75 0c                	jne    0x477f59
477f4d:	40                   	inc    %eax
477f4e:	89 41 0c             	mov    %eax,0xc(%ecx)
477f51:	33 c0                	xor    %eax,%eax
477f53:	40                   	inc    %eax
477f54:	e9 c0 00 00 00       	jmp    0x478019
477f59:	6a 02                	push   $0x2
477f5b:	e9 b8 00 00 00       	jmp    0x478018
477f60:	c7 41 28 0d 00 00 00 	movl   $0xd,0x28(%ecx)
477f67:	e9 b0 00 00 00       	jmp    0x47801c
477f6c:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
477f73:	e9 a4 00 00 00       	jmp    0x47801c
477f78:	56                   	push   %esi
477f79:	8b 71 0c             	mov    0xc(%ecx),%esi
477f7c:	8a 06                	mov    (%esi),%al
477f7e:	3c 33                	cmp    $0x33,%al
477f80:	75 15                	jne    0x477f97
477f82:	80 7e 01 32          	cmpb   $0x32,0x1(%esi)
477f86:	75 0f                	jne    0x477f97
477f88:	8d 46 02             	lea    0x2(%esi),%eax
477f8b:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
477f92:	89 41 0c             	mov    %eax,0xc(%ecx)
477f95:	eb 38                	jmp    0x477fcf
477f97:	3c 36                	cmp    $0x36,%al
477f99:	75 15                	jne    0x477fb0
477f9b:	80 7e 01 34          	cmpb   $0x34,0x1(%esi)
477f9f:	75 2e                	jne    0x477fcf
477fa1:	8d 46 02             	lea    0x2(%esi),%eax
477fa4:	c7 41 28 0b 00 00 00 	movl   $0xb,0x28(%ecx)
477fab:	89 41 0c             	mov    %eax,0xc(%ecx)
477fae:	eb 1f                	jmp    0x477fcf
477fb0:	3c 64                	cmp    $0x64,%al
477fb2:	74 14                	je     0x477fc8
477fb4:	3c 69                	cmp    $0x69,%al
477fb6:	74 10                	je     0x477fc8
477fb8:	3c 6f                	cmp    $0x6f,%al
477fba:	74 0c                	je     0x477fc8
477fbc:	3c 75                	cmp    $0x75,%al
477fbe:	74 08                	je     0x477fc8
477fc0:	3c 78                	cmp    $0x78,%al
477fc2:	74 04                	je     0x477fc8
477fc4:	3c 58                	cmp    $0x58,%al
477fc6:	75 07                	jne    0x477fcf
477fc8:	c7 41 28 09 00 00 00 	movl   $0x9,0x28(%ecx)
477fcf:	5e                   	pop    %esi
477fd0:	eb 4a                	jmp    0x47801c
477fd2:	c7 41 28 05 00 00 00 	movl   $0x5,0x28(%ecx)
477fd9:	eb 41                	jmp    0x47801c
477fdb:	3c 6c                	cmp    $0x6c,%al
477fdd:	74 27                	je     0x478006
477fdf:	3c 74                	cmp    $0x74,%al
477fe1:	74 1a                	je     0x477ffd
477fe3:	3c 77                	cmp    $0x77,%al
477fe5:	74 0d                	je     0x477ff4
477fe7:	3c 7a                	cmp    $0x7a,%al
477fe9:	75 31                	jne    0x47801c
477feb:	c7 41 28 06 00 00 00 	movl   $0x6,0x28(%ecx)
477ff2:	eb 28                	jmp    0x47801c
477ff4:	c7 41 28 0c 00 00 00 	movl   $0xc,0x28(%ecx)
477ffb:	eb 1f                	jmp    0x47801c
477ffd:	c7 41 28 07 00 00 00 	movl   $0x7,0x28(%ecx)
478004:	eb 16                	jmp    0x47801c
478006:	8b 41 0c             	mov    0xc(%ecx),%eax
478009:	80 38 6c             	cmpb   $0x6c,(%eax)
47800c:	75 08                	jne    0x478016
47800e:	40                   	inc    %eax
47800f:	89 41 0c             	mov    %eax,0xc(%ecx)
478012:	6a 04                	push   $0x4
478014:	eb 02                	jmp    0x478018
478016:	6a 03                	push   $0x3
478018:	58                   	pop    %eax
478019:	89 41 28             	mov    %eax,0x28(%ecx)
47801c:	b0 01                	mov    $0x1,%al
47801e:	c3                   	ret
47801f:	8b ff                	mov    %edi,%edi
478021:	56                   	push   %esi
478022:	0f b7 71 2e          	movzwl 0x2e(%ecx),%esi
478026:	8b c6                	mov    %esi,%eax
478028:	83 fe 46             	cmp    $0x46,%esi
47802b:	75 18                	jne    0x478045
47802d:	8b 01                	mov    (%ecx),%eax
47802f:	83 e0 08             	and    $0x8,%eax
478032:	83 c8 00             	or     $0x0,%eax
478035:	0f 85 6a 01 00 00    	jne    0x4781a5
47803b:	c6 41 18 07          	movb   $0x7,0x18(%ecx)
47803f:	5e                   	pop    %esi
478040:	e9 c3 04 00 00       	jmp    0x478508
478045:	33 d2                	xor    %edx,%edx
478047:	83 fe 4e             	cmp    $0x4e,%esi
47804a:	75 35                	jne    0x478081
47804c:	8b 01                	mov    (%ecx),%eax
47804e:	83 e0 08             	and    $0x8,%eax
478051:	0b c2                	or     %edx,%eax
478053:	0f 85 4c 01 00 00    	jne    0x4781a5
478059:	c6 41 18 08          	movb   $0x8,0x18(%ecx)
47805d:	8b 41 08             	mov    0x8(%ecx),%eax
478060:	83 c0 18             	add    $0x18,%eax
478063:	c6 40 04 01          	movb   $0x1,0x4(%eax)
478067:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47806d:	ff 71 08             	push   0x8(%ecx)
478070:	52                   	push   %edx
478071:	52                   	push   %edx
478072:	52                   	push   %edx
478073:	52                   	push   %edx
478074:	52                   	push   %edx
478075:	e8 2a 15 00 00       	call   0x4795a4
47807a:	83 c4 18             	add    $0x18,%esp
47807d:	32 c0                	xor    %al,%al
47807f:	5e                   	pop    %esi