418acd:	83 f9 1d             	cmp    $0x1d,%ecx
418ad0:	0f 84 f4 00 00 00    	je     0x418bca
418ad6:	83 fa 6e             	cmp    $0x6e,%edx
418ad9:	0f 85 bb ca 03 00    	jne    0x45559a
418adf:	8b 47 08             	mov    0x8(%edi),%eax
418ae2:	8d 75 c0             	lea    -0x40(%ebp),%esi
418ae5:	8b 55 10             	mov    0x10(%ebp),%edx
418ae8:	03 c0                	add    %eax,%eax
418aea:	33 ff                	xor    %edi,%edi
418aec:	2b d0                	sub    %eax,%edx
418aee:	8b 06                	mov    (%esi),%eax
418af0:	83 f8 0a             	cmp    $0xa,%eax
418af3:	0f 86 e6 cc 03 00    	jbe    0x4557df
418af9:	83 f8 0b             	cmp    $0xb,%eax
418afc:	0f 84 15 cd 03 00    	je     0x455817
418b02:	83 f8 6d             	cmp    $0x6d,%eax
418b05:	0f 86 bd 01 00 00    	jbe    0x418cc8
418b0b:	83 f8 6f             	cmp    $0x6f,%eax
418b0e:	0f 87 14 cd 03 00    	ja     0x455828
418b14:	8d 45 c0             	lea    -0x40(%ebp),%eax
418b17:	8b cb                	mov    %ebx,%ecx
418b19:	3b f0                	cmp    %eax,%esi
418b1b:	0f 85 d1 01 00 00    	jne    0x418cf2
418b21:	8b 46 08             	mov    0x8(%esi),%eax
418b24:	03 c0                	add    %eax,%eax
418b26:	2b c8                	sub    %eax,%ecx
418b28:	8d 72 20             	lea    0x20(%edx),%esi
418b2b:	85 ff                	test   %edi,%edi
418b2d:	0f 85 c7 01 00 00    	jne    0x418cfa
418b33:	8a 01                	mov    (%ecx),%al
418b35:	22 02                	and    (%edx),%al
418b37:	41                   	inc    %ecx
418b38:	42                   	inc    %edx
418b39:	84 c0                	test   %al,%al
418b3b:	0f 85 87 01 00 00    	jne    0x418cc8
418b41:	3b d6                	cmp    %esi,%edx
418b43:	72 ee                	jb     0x418b33
418b45:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
418b49:	0f 85 e9 00 00 00    	jne    0x418c38
418b4f:	33 c0                	xor    %eax,%eax
418b51:	40                   	inc    %eax
418b52:	5e                   	pop    %esi
418b53:	5f                   	pop    %edi
418b54:	5b                   	pop    %ebx
418b55:	8b e5                	mov    %ebp,%esp
418b57:	5d                   	pop    %ebp
418b58:	c3                   	ret
418b59:	b8 85 00 00 00       	mov    $0x85,%eax
418b5e:	3b f0                	cmp    %eax,%esi
418b60:	0f 84 0f 01 00 00    	je     0x418c75
418b66:	8d 86 6e ff ff ff    	lea    -0x92(%esi),%eax
418b6c:	83 f8 01             	cmp    $0x1,%eax
418b6f:	0f 87 27 ff ff ff    	ja     0x418a9c
418b75:	8d 4b 02             	lea    0x2(%ebx),%ecx
418b78:	0f b7 01             	movzwl (%ecx),%eax
418b7b:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
418b7f:	0f 85 37 c7 03 00    	jne    0x4552bc
418b85:	6a 77                	push   $0x77
418b87:	5a                   	pop    %edx
418b88:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
418b8c:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
418b8f:	66 39 11             	cmp    %dx,(%ecx)
418b92:	74 f4                	je     0x418b88
418b94:	8b 55 14             	mov    0x14(%ebp),%edx
418b97:	83 c1 04             	add    $0x4,%ecx
418b9a:	52                   	push   %edx
418b9b:	ff 75 10             	push   0x10(%ebp)
418b9e:	8b 55 f4             	mov    -0xc(%ebp),%edx
418ba1:	57                   	push   %edi
418ba2:	ff 75 08             	push   0x8(%ebp)
418ba5:	e8 64 fe ff ff       	call   0x418a0e
418baa:	83 c4 10             	add    $0x10,%esp
418bad:	85 c0                	test   %eax,%eax
418baf:	0f 84 13 01 00 00    	je     0x418cc8
418bb5:	0f b6 86 50 57 4a 00 	movzbl 0x4a5750(%esi),%eax
418bbc:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418bbf:	8b 55 14             	mov    0x14(%ebp),%edx
418bc2:	6a 77                	push   $0x77
418bc4:	59                   	pop    %ecx
418bc5:	e9 88 fe ff ff       	jmp    0x418a52
418bca:	8d 45 c8             	lea    -0x38(%ebp),%eax
418bcd:	8b 1f                	mov    (%edi),%ebx
418bcf:	8d 77 08             	lea    0x8(%edi),%esi
418bd2:	8b 08                	mov    (%eax),%ecx
418bd4:	89 45 fc             	mov    %eax,-0x4(%ebp)
418bd7:	83 fb 6e             	cmp    $0x6e,%ebx
418bda:	0f 87 85 c9 03 00    	ja     0x455565
418be0:	0f 85 04 c7 03 00    	jne    0x4552ea
418be6:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
418bec:	77 30                	ja     0x418c1e
418bee:	8b 75 f8             	mov    -0x8(%ebp),%esi
418bf1:	8d 45 c0             	lea    -0x40(%ebp),%eax
418bf4:	3b f8                	cmp    %eax,%edi
418bf6:	74 03                	je     0x418bfb
418bf8:	8b 75 10             	mov    0x10(%ebp),%esi
418bfb:	8b 47 08             	mov    0x8(%edi),%eax
418bfe:	8b d1                	mov    %ecx,%edx
418c00:	03 c0                	add    %eax,%eax
418c02:	c1 ea 03             	shr    $0x3,%edx
418c05:	2b d0                	sub    %eax,%edx
418c07:	83 e1 07             	and    $0x7,%ecx
418c0a:	33 c0                	xor    %eax,%eax
418c0c:	40                   	inc    %eax
418c0d:	d3 e0                	shl    %cl,%eax
418c0f:	84 04 32             	test   %al,(%edx,%esi,1)
418c12:	0f 85 b0 00 00 00    	jne    0x418cc8
418c18:	8d 77 08             	lea    0x8(%edi),%esi
418c1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
418c1e:	83 c0 04             	add    $0x4,%eax
418c21:	89 45 fc             	mov    %eax,-0x4(%ebp)
418c24:	8b 08                	mov    (%eax),%ecx
418c26:	83 f9 ff             	cmp    $0xffffffff,%ecx
418c29:	75 ac                	jne    0x418bd7
418c2b:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
418c2f:	0f 84 1a ff ff ff    	je     0x418b4f
418c35:	8b 5d f8             	mov    -0x8(%ebp),%ebx
418c38:	8b 7d 0c             	mov    0xc(%ebp),%edi
418c3b:	eb 82                	jmp    0x418bbf
418c3d:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
418c41:	0f 84 81 00 00 00    	je     0x418cc8
418c47:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
418c4b:	8b c3                	mov    %ebx,%eax
418c4d:	03 c9                	add    %ecx,%ecx
418c4f:	2b c1                	sub    %ecx,%eax
418c51:	0f b7 00             	movzwl (%eax),%eax
418c54:	83 f8 7d             	cmp    $0x7d,%eax
418c57:	7c 0d                	jl     0x418c66
418c59:	b9 82 00 00 00       	mov    $0x82,%ecx
418c5e:	3b c1                	cmp    %ecx,%eax
418c60:	0f 8e 18 cc 03 00    	jle    0x45587e
418c66:	0f b6 86 50 57 4a 00 	movzbl 0x4a5750(%esi),%eax
418c6d:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418c70:	e9 4d ff ff ff       	jmp    0x418bc2
418c75:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
418c79:	8d 3c 43             	lea    (%ebx,%eax,2),%edi
418c7c:	0f b6 86 50 57 4a 00 	movzbl 0x4a5750(%esi),%eax
418c83:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418c86:	66 39 0f             	cmp    %cx,(%edi)
418c89:	75 31                	jne    0x418cbc
418c8b:	8b 75 0c             	mov    0xc(%ebp),%esi
418c8e:	52                   	push   %edx
418c8f:	ff 75 10             	push   0x10(%ebp)
418c92:	8b 55 f4             	mov    -0xc(%ebp),%edx
418c95:	8b cb                	mov    %ebx,%ecx
418c97:	56                   	push   %esi
418c98:	ff 75 08             	push   0x8(%ebp)
418c9b:	e8 6e fd ff ff       	call   0x418a0e
418ca0:	83 c4 10             	add    $0x10,%esp
418ca3:	85 c0                	test   %eax,%eax
418ca5:	74 21                	je     0x418cc8
418ca7:	0f b7 47 02          	movzwl 0x2(%edi),%eax
418cab:	8d 5f 04             	lea    0x4(%edi),%ebx
418cae:	8b 55 14             	mov    0x14(%ebp),%edx
418cb1:	6a 77                	push   $0x77
418cb3:	59                   	pop    %ecx
418cb4:	8d 3c 47             	lea    (%edi,%eax,2),%edi
418cb7:	66 39 0f             	cmp    %cx,(%edi)
418cba:	74 d2                	je     0x418c8e
418cbc:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
418cc3:	e9 87 fd ff ff       	jmp    0x418a4f
418cc8:	33 c0                	xor    %eax,%eax
418cca:	e9 83 fe ff ff       	jmp    0x418b52
418ccf:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
418cd3:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
418cd6:	66 39 0b             	cmp    %cx,(%ebx)
418cd9:	74 f4                	je     0x418ccf
418cdb:	0f b7 03             	movzwl (%ebx),%eax
418cde:	e9 84 fd ff ff       	jmp    0x418a67
418ce3:	33 c0                	xor    %eax,%eax
418ce5:	e9 6a fe ff ff       	jmp    0x418b54
418cea:	83 c3 08             	add    $0x8,%ebx
418ced:	e9 60 fd ff ff       	jmp    0x418a52
418cf2:	8b 4d 10             	mov    0x10(%ebp),%ecx
418cf5:	e9 27 fe ff ff       	jmp    0x418b21
418cfa:	2b ca                	sub    %edx,%ecx
418cfc:	e9 63 cb 03 00       	jmp    0x455864
418d01:	55                   	push   %ebp
418d02:	8b ec                	mov    %esp,%ebp
418d04:	53                   	push   %ebx
418d05:	56                   	push   %esi
418d06:	8b f1                	mov    %ecx,%esi
418d08:	8b da                	mov    %edx,%ebx
418d0a:	57                   	push   %edi
418d0b:	8b 7d 0c             	mov    0xc(%ebp),%edi
418d0e:	6a 1e                	push   $0x1e
418d10:	0f b7 0e             	movzwl (%esi),%ecx
418d13:	83 c6 02             	add    $0x2,%esi
418d16:	8b c1                	mov    %ecx,%eax
418d18:	89 07                	mov    %eax,(%edi)
418d1a:	33 c0                	xor    %eax,%eax
418d1c:	89 47 04             	mov    %eax,0x4(%edi)
418d1f:	8d 41 df             	lea    -0x21(%ecx),%eax
418d22:	5a                   	pop    %edx
418d23:	66 83 f8 40          	cmp    $0x40,%ax
418d27:	0f 86 c2 00 00 00    	jbe    0x418def
418d2d:	0f b7 c1             	movzwl %cx,%eax
418d30:	3b c2                	cmp    %edx,%eax
418d32:	7e 5e                	jle    0x418d92
418d34:	83 f8 1f             	cmp    $0x1f,%eax
418d37:	0f 84 8b 00 00 00    	je     0x418dc8
418d3d:	83 f8 20             	cmp    $0x20,%eax
418d40:	0f 84 6e cc 03 00    	je     0x4559b4
418d46:	83 c0 92             	add    $0xffffff92,%eax
418d49:	83 f8 02             	cmp    $0x2,%eax
418d4c:	0f 87 42 01 00 00    	ja     0x418e94
418d52:	66 83 f9 70          	cmp    $0x70,%cx
418d56:	0f 84 36 cc 03 00    	je     0x455992
418d5c:	8d 56 20             	lea    0x20(%esi),%edx
418d5f:	0f b7 02             	movzwl (%edx),%eax
418d62:	83 c0 9e             	add    $0xffffff9e,%eax
418d65:	83 f8 0b             	cmp    $0xb,%eax
418d68:	77 18                	ja     0x418d82
418d6a:	0f b6 80 a9 8e 41 00 	movzbl 0x418ea9(%eax),%eax
418d71:	ff 24 85 9d 8e 41 00 	jmp    *0x418e9d(,%eax,4)
418d78:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
418d7f:	83 c2 02             	add    $0x2,%edx
418d82:	8b ca                	mov    %edx,%ecx
418d84:	8b c2                	mov    %edx,%eax
418d86:	2b ce                	sub    %esi,%ecx
418d88:	d1 f9                	sar    $1,%ecx
418d8a:	89 4f 08             	mov    %ecx,0x8(%edi)
418d8d:	5f                   	pop    %edi
418d8e:	5e                   	pop    %esi
418d8f:	5b                   	pop    %ebx
418d90:	5d                   	pop    %ebp
418d91:	c3                   	ret
418d92:	0f 84 1c cc 03 00    	je     0x4559b4
418d98:	83 f8 06             	cmp    $0x6,%eax
418d9b:	0f 8c f3 00 00 00    	jl     0x418e94
418da1:	83 f8 0d             	cmp    $0xd,%eax
418da4:	7e 45                	jle    0x418deb
418da6:	83 f8 0e             	cmp    $0xe,%eax
418da9:	0f 8e e5 00 00 00    	jle    0x418e94
418daf:	6a 10                	push   $0x10
418db1:	5a                   	pop    %edx
418db2:	3b c2                	cmp    %edx,%eax
418db4:	0f 8e 73 cb 03 00    	jle    0x45592d
418dba:	83 f8 1a             	cmp    $0x1a,%eax
418dbd:	7e 2c                	jle    0x418deb
418dbf:	83 f8 1d             	cmp    $0x1d,%eax
418dc2:	0f 85 cc 00 00 00    	jne    0x418e94
418dc8:	0f b7 0e             	movzwl (%esi),%ecx
418dcb:	83 c6 02             	add    $0x2,%esi
418dce:	85 db                	test   %ebx,%ebx
418dd0:	74 12                	je     0x418de4
418dd2:	8b c1                	mov    %ecx,%eax
418dd4:	25 00 fc 00 00       	and    $0xfc00,%eax
418dd9:	3d 00 d8 00 00       	cmp    $0xd800,%eax
418dde:	0f 84 6f cc 03 00    	je     0x455a53
418de4:	89 4f 08             	mov    %ecx,0x8(%edi)
418de7:	83 4f 0c ff          	orl    $0xffffffff,0xc(%edi)
418deb:	8b c6                	mov    %esi,%eax
418ded:	eb 9e                	jmp    0x418d8d
418def:	e8 76 02 00 00       	call   0x41906a
418df4:	6a 21                	push   $0x21
418df6:	0f b7 d0             	movzwl %ax,%edx
418df9:	58                   	pop    %eax
418dfa:	2b c2                	sub    %edx,%eax
418dfc:	03 c8                	add    %eax,%ecx
418dfe:	6a 29                	push   $0x29
418e00:	58                   	pop    %eax
418e01:	66 83 f9 27          	cmp    $0x27,%cx
418e05:	74 5c                	je     0x418e63
418e07:	66 83 f9 28          	cmp    $0x28,%cx
418e0b:	74 56                	je     0x418e63
418e0d:	66 3b c8             	cmp    %ax,%cx
418e10:	74 51                	je     0x418e63
418e12:	66 83 f9 2d          	cmp    $0x2d,%cx
418e16:	74 4b                	je     0x418e63
418e18:	66 83 f9 23          	cmp    $0x23,%cx
418e1c:	74 4a                	je     0x418e68
418e1e:	66 83 f9 24          	cmp    $0x24,%cx
418e22:	74 44                	je     0x418e68
418e24:	66 3b c8             	cmp    %ax,%cx
418e27:	74 3f                	je     0x418e68
418e29:	66 83 f9 2b          	cmp    $0x2b,%cx
418e2d:	74 39                	je     0x418e68
418e2f:	33 c0                	xor    %eax,%eax
418e31:	40                   	inc    %eax
418e32:	89 47 04             	mov    %eax,0x4(%edi)
418e35:	8b c2                	mov    %edx,%eax
418e37:	83 f8 21             	cmp    $0x21,%eax
418e3a:	74 4d                	je     0x418e89
418e3c:	83 f8 2e             	cmp    $0x2e,%eax
418e3f:	74 41                	je     0x418e82
418e41:	83 f8 3b             	cmp    $0x3b,%eax
418e44:	74 31                	je     0x418e77
418e46:	83 f8 48             	cmp    $0x48,%eax
418e49:	74 21                	je     0x418e6c
418e4b:	6a 1e                	push   $0x1e
418e4d:	5a                   	pop    %edx
418e4e:	83 f8 55             	cmp    $0x55,%eax
418e51:	75 08                	jne    0x418e5b
418e53:	0f b7 06             	movzwl (%esi),%eax
418e56:	83 c6 02             	add    $0x2,%esi
418e59:	89 07                	mov    %eax,(%edi)
418e5b:	0f b7 0f             	movzwl (%edi),%ecx
418e5e:	e9 ca fe ff ff       	jmp    0x418d2d
418e63:	83 c6 02             	add    $0x2,%esi
418e66:	eb b0                	jmp    0x418e18
418e68:	33 c0                	xor    %eax,%eax
418e6a:	eb c6                	jmp    0x418e32
418e6c:	c7 07 20 00 00 00    	movl   $0x20,(%edi)
418e72:	e9 ae ca 03 00       	jmp    0x455925
418e77:	c7 07 1f 00 00 00    	movl   $0x1f,(%edi)
418e7d:	e9 a3 ca 03 00       	jmp    0x455925
418e82:	6a 1e                	push   $0x1e
418e84:	5a                   	pop    %edx
418e85:	89 17                	mov    %edx,(%edi)
418e87:	eb d2                	jmp    0x418e5b
418e89:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
418e8f:	e9 91 ca 03 00       	jmp    0x455925
418e94:	33 c0                	xor    %eax,%eax
418e96:	e9 f2 fe ff ff       	jmp    0x418d8d
418e9b:	8b ff                	mov    %edi,%edi
418e9d:	78 8d                	js     0x418e2c
418e9f:	41                   	inc    %ecx
418ea0:	00 7f 8d             	add    %bh,-0x73(%edi)
418ea3:	41                   	inc    %ecx
418ea4:	00 9e 59 45 00 00    	add    %bl,0x4559(%esi)
418eaa:	00 01                	add    %al,(%ecx)
418eac:	01 00                	add    %eax,(%eax)
418eae:	00 02                	add    %al,(%edx)
418eb0:	02 00                	add    (%eax),%al
418eb2:	01 00                	add    %eax,(%eax)
418eb4:	02 55 8b             	add    -0x75(%ebp),%dl
418eb7:	ec                   	in     (%dx),%al
418eb8:	83 ec 0c             	sub    $0xc,%esp
418ebb:	53                   	push   %ebx
418ebc:	56                   	push   %esi
418ebd:	8b c2                	mov    %edx,%eax
418ebf:	c7 45 fc 7d 00 00 00 	movl   $0x7d,-0x4(%ebp)
418ec6:	57                   	push   %edi
418ec7:	33 ff                	xor    %edi,%edi
418ec9:	89 45 f4             	mov    %eax,-0xc(%ebp)
418ecc:	83 ce ff             	or     $0xffffffff,%esi
418ecf:	8b d9                	mov    %ecx,%ebx
418ed1:	89 30                	mov    %esi,(%eax)
418ed3:	0f b7 03             	movzwl (%ebx),%eax
418ed6:	ba 86 00 00 00       	mov    $0x86,%edx
418edb:	8d 4a ff             	lea    -0x1(%edx),%ecx
418ede:	66 3b c1             	cmp    %cx,%ax
418ee1:	74 7c                	je     0x418f5f
418ee3:	83 c1 05             	add    $0x5,%ecx
418ee6:	66 3b c1             	cmp    %cx,%ax
418ee9:	74 74                	je     0x418f5f
418eeb:	66 3b c2             	cmp    %dx,%ax
418eee:	74 6f                	je     0x418f5f
418ef0:	8d 4a 05             	lea    0x5(%edx),%ecx
418ef3:	66 3b c1             	cmp    %cx,%ax