54bc0b:	b8 07 00 00 00       	mov    $0x7,%eax
54bc10:	5b                   	pop    %ebx
54bc11:	8b e5                	mov    %ebp,%esp
54bc13:	5d                   	pop    %ebp
54bc14:	c3                   	ret
54bc15:	8b 47 14             	mov    0x14(%edi),%eax
54bc18:	66 83 67 08 2d       	andw   $0x2d,0x8(%edi)
54bc1d:	89 47 10             	mov    %eax,0x10(%edi)
54bc20:	ff 75 0c             	push   0xc(%ebp)
54bc23:	53                   	push   %ebx
54bc24:	ff 77 10             	push   0x10(%edi)
54bc27:	e8 d4 72 09 00       	call   0x5e2f00
54bc2c:	66 8b 4d 10          	mov    0x10(%ebp),%cx
54bc30:	83 c4 0c             	add    $0xc,%esp
54bc33:	e9 94 00 00 00       	jmp    0x54bccc
54bc38:	b8 00 24 00 00       	mov    $0x2400,%eax
54bc3d:	66 85 47 08          	test   %ax,0x8(%edi)
54bc41:	75 06                	jne    0x54bc49
54bc43:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
54bc47:	74 09                	je     0x54bc52
54bc49:	57                   	push   %edi
54bc4a:	e8 c1 f1 00 00       	call   0x55ae10
54bc4f:	83 c4 04             	add    $0x4,%esp
54bc52:	8b 4d 18             	mov    0x18(%ebp),%ecx
54bc55:	89 5f 10             	mov    %ebx,0x10(%edi)
54bc58:	81 f9 c0 10 53 00    	cmp    $0x5310c0,%ecx
54bc5e:	75 53                	jne    0x54bcb3
54bc60:	8b 47 20             	mov    0x20(%edi),%eax
54bc63:	89 5f 14             	mov    %ebx,0x14(%edi)
54bc66:	85 c0                	test   %eax,%eax
54bc68:	74 36                	je     0x54bca0
54bc6a:	3b 98 4c 01 00 00    	cmp    0x14c(%eax),%ebx
54bc70:	73 2e                	jae    0x54bca0
54bc72:	3b 98 44 01 00 00    	cmp    0x144(%eax),%ebx
54bc78:	72 0e                	jb     0x54bc88
54bc7a:	66 8b 4d 10          	mov    0x10(%ebp),%cx
54bc7e:	b8 80 00 00 00       	mov    $0x80,%eax
54bc83:	89 47 18             	mov    %eax,0x18(%edi)
54bc86:	eb 44                	jmp    0x54bccc
54bc88:	3b 98 48 01 00 00    	cmp    0x148(%eax),%ebx
54bc8e:	72 10                	jb     0x54bca0
54bc90:	0f b7 80 1e 01 00 00 	movzwl 0x11e(%eax),%eax
54bc97:	66 8b 4d 10          	mov    0x10(%ebp),%cx
54bc9b:	89 47 18             	mov    %eax,0x18(%edi)
54bc9e:	eb 2c                	jmp    0x54bccc
54bca0:	53                   	push   %ebx
54bca1:	ff 15 3c 18 72 00    	call   *0x72183c
54bca7:	66 8b 4d 10          	mov    0x10(%ebp),%cx
54bcab:	83 c4 04             	add    $0x4,%esp
54bcae:	89 47 18             	mov    %eax,0x18(%edi)
54bcb1:	eb 19                	jmp    0x54bccc
54bcb3:	85 c9                	test   %ecx,%ecx
54bcb5:	89 4f 24             	mov    %ecx,0x24(%edi)
54bcb8:	66 8b 4d 10          	mov    0x10(%ebp),%cx
54bcbc:	b8 00 04 00 00       	mov    $0x400,%eax
54bcc1:	ba 00 08 00 00       	mov    $0x800,%edx
54bcc6:	0f 44 c2             	cmove  %edx,%eax
54bcc9:	66 0b c8             	or     %ax,%cx
54bccc:	8a 45 14             	mov    0x14(%ebp),%al
54bccf:	89 77 0c             	mov    %esi,0xc(%edi)
54bcd2:	66 89 4f 08          	mov    %cx,0x8(%edi)
54bcd6:	84 c0                	test   %al,%al
54bcd8:	74 20                	je     0x54bcfa
54bcda:	88 47 0a             	mov    %al,0xa(%edi)
54bcdd:	3c 01                	cmp    $0x1,%al
54bcdf:	76 22                	jbe    0x54bd03
54bce1:	57                   	push   %edi
54bce2:	e8 69 f9 ff ff       	call   0x54b650
54bce7:	83 c4 04             	add    $0x4,%esp
54bcea:	85 c0                	test   %eax,%eax
54bcec:	74 15                	je     0x54bd03
54bcee:	5f                   	pop    %edi
54bcef:	5e                   	pop    %esi
54bcf0:	b8 07 00 00 00       	mov    $0x7,%eax
54bcf5:	5b                   	pop    %ebx
54bcf6:	8b e5                	mov    %ebp,%esp
54bcf8:	5d                   	pop    %ebp
54bcf9:	c3                   	ret
54bcfa:	8b 47 20             	mov    0x20(%edi),%eax
54bcfd:	8a 40 4e             	mov    0x4e(%eax),%al
54bd00:	88 47 0a             	mov    %al,0xa(%edi)
54bd03:	33 c0                	xor    %eax,%eax
54bd05:	b9 12 00 00 00       	mov    $0x12,%ecx
54bd0a:	3b 75 fc             	cmp    -0x4(%ebp),%esi
54bd0d:	5f                   	pop    %edi
54bd0e:	5e                   	pop    %esi
54bd0f:	0f 4f c1             	cmovg  %ecx,%eax
54bd12:	5b                   	pop    %ebx
54bd13:	8b e5                	mov    %ebp,%esp
54bd15:	5d                   	pop    %ebp
54bd16:	c3                   	ret
54bd17:	cc                   	int3
54bd18:	cc                   	int3
54bd19:	cc                   	int3
54bd1a:	cc                   	int3
54bd1b:	cc                   	int3
54bd1c:	cc                   	int3
54bd1d:	cc                   	int3
54bd1e:	cc                   	int3
54bd1f:	cc                   	int3
54bd20:	55                   	push   %ebp
54bd21:	8b ec                	mov    %esp,%ebp
54bd23:	8b 55 08             	mov    0x8(%ebp),%edx
54bd26:	b8 00 24 00 00       	mov    $0x2400,%eax
54bd2b:	66 85 42 08          	test   %ax,0x8(%edx)
54bd2f:	74 09                	je     0x54bd3a
54bd31:	89 55 08             	mov    %edx,0x8(%ebp)
54bd34:	5d                   	pop    %ebp
54bd35:	e9 c6 e0 00 00       	jmp    0x559e00
54bd3a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54bd3d:	0f 10 01             	movups (%ecx),%xmm0
54bd40:	0f 11 02             	movups %xmm0,(%edx)
54bd43:	8b 41 10             	mov    0x10(%ecx),%eax
54bd46:	89 42 10             	mov    %eax,0x10(%edx)
54bd49:	b8 00 08 00 00       	mov    $0x800,%eax
54bd4e:	66 85 41 08          	test   %ax,0x8(%ecx)
54bd52:	75 14                	jne    0x54bd68
54bd54:	66 8b 42 08          	mov    0x8(%edx),%ax
54bd58:	b9 ff e3 00 00       	mov    $0xe3ff,%ecx
54bd5d:	66 23 c1             	and    %cx,%ax
54bd60:	66 0b 45 10          	or     0x10(%ebp),%ax
54bd64:	66 89 42 08          	mov    %ax,0x8(%edx)
54bd68:	5d                   	pop    %ebp
54bd69:	c3                   	ret
54bd6a:	cc                   	int3
54bd6b:	cc                   	int3
54bd6c:	cc                   	int3
54bd6d:	cc                   	int3
54bd6e:	cc                   	int3
54bd6f:	cc                   	int3
54bd70:	55                   	push   %ebp
54bd71:	8b ec                	mov    %esp,%ebp
54bd73:	56                   	push   %esi
54bd74:	8b 75 08             	mov    0x8(%ebp),%esi
54bd77:	83 7e 18 20          	cmpl   $0x20,0x18(%esi)
54bd7b:	7d 1d                	jge    0x54bd9a
54bd7d:	6a 00                	push   $0x0
54bd7f:	6a 20                	push   $0x20
54bd81:	56                   	push   %esi
54bd82:	e8 69 f7 ff ff       	call   0x54b4f0
54bd87:	83 c4 0c             	add    $0xc,%esp
54bd8a:	85 c0                	test   %eax,%eax
54bd8c:	74 17                	je     0x54bda5
54bd8e:	c6 46 0a 00          	movb   $0x0,0xa(%esi)
54bd92:	b8 07 00 00 00       	mov    $0x7,%eax
54bd97:	5e                   	pop    %esi
54bd98:	5d                   	pop    %ebp
54bd99:	c3                   	ret
54bd9a:	8b 46 14             	mov    0x14(%esi),%eax
54bd9d:	66 83 66 08 2d       	andw   $0x2d,0x8(%esi)
54bda2:	89 46 10             	mov    %eax,0x10(%esi)
54bda5:	56                   	push   %esi
54bda6:	ff 76 10             	push   0x10(%esi)
54bda9:	6a 20                	push   $0x20
54bdab:	e8 c0 f1 00 00       	call   0x55af70
54bdb0:	8b 4e 10             	mov    0x10(%esi),%ecx
54bdb3:	83 c4 0c             	add    $0xc,%esp
54bdb6:	8d 51 01             	lea    0x1(%ecx),%edx
54bdb9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
54bdc0:	8a 01                	mov    (%ecx),%al
54bdc2:	41                   	inc    %ecx
54bdc3:	84 c0                	test   %al,%al
54bdc5:	75 f9                	jne    0x54bdc0
54bdc7:	2b ca                	sub    %edx,%ecx
54bdc9:	c6 46 0a 01          	movb   $0x1,0xa(%esi)
54bdcd:	b8 02 02 00 00       	mov    $0x202,%eax
54bdd2:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
54bdd8:	66 09 46 08          	or     %ax,0x8(%esi)
54bddc:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
54bde0:	66 8b 46 08          	mov    0x8(%esi),%ax
54bde4:	89 4e 0c             	mov    %ecx,0xc(%esi)
54bde7:	74 09                	je     0x54bdf2
54bde9:	25 d3 ff 00 00       	and    $0xffd3,%eax
54bdee:	66 89 46 08          	mov    %ax,0x8(%esi)
54bdf2:	f6 46 08 02          	testb  $0x2,0x8(%esi)
54bdf6:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
54bdfa:	74 0f                	je     0x54be0b
54bdfc:	83 f8 01             	cmp    $0x1,%eax
54bdff:	74 0a                	je     0x54be0b
54be01:	50                   	push   %eax
54be02:	56                   	push   %esi
54be03:	e8 38 00 00 00       	call   0x54be40
54be08:	83 c4 08             	add    $0x8,%esp
54be0b:	33 c0                	xor    %eax,%eax
54be0d:	5e                   	pop    %esi
54be0e:	5d                   	pop    %ebp
54be0f:	c3                   	ret
54be10:	55                   	push   %ebp
54be11:	8b ec                	mov    %esp,%ebp
54be13:	8b 4d 08             	mov    0x8(%ebp),%ecx
54be16:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
54be1a:	a8 12                	test   $0x12,%al
54be1c:	74 19                	je     0x54be37
54be1e:	8b 51 0c             	mov    0xc(%ecx),%edx
54be21:	a9 00 40 00 00       	test   $0x4000,%eax
54be26:	74 02                	je     0x54be2a
54be28:	03 11                	add    (%ecx),%edx
54be2a:	8b 49 20             	mov    0x20(%ecx),%ecx
54be2d:	33 c0                	xor    %eax,%eax
54be2f:	3b 51 6c             	cmp    0x6c(%ecx),%edx
54be32:	0f 9f c0             	setg   %al
54be35:	5d                   	pop    %ebp
54be36:	c3                   	ret
54be37:	33 c0                	xor    %eax,%eax
54be39:	5d                   	pop    %ebp
54be3a:	c3                   	ret
54be3b:	cc                   	int3
54be3c:	cc                   	int3
54be3d:	cc                   	int3
54be3e:	cc                   	int3
54be3f:	cc                   	int3
54be40:	55                   	push   %ebp
54be41:	8b ec                	mov    %esp,%ebp
54be43:	83 ec 08             	sub    $0x8,%esp
54be46:	53                   	push   %ebx
54be47:	8b 5d 08             	mov    0x8(%ebp),%ebx
54be4a:	56                   	push   %esi
54be4b:	57                   	push   %edi
54be4c:	80 7b 0a 01          	cmpb   $0x1,0xa(%ebx)
54be50:	74 4e                	je     0x54bea0
54be52:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
54be56:	74 4e                	je     0x54bea6
54be58:	53                   	push   %ebx
54be59:	e8 02 f9 ff ff       	call   0x54b760
54be5e:	83 c4 04             	add    $0x4,%esp
54be61:	85 c0                	test   %eax,%eax
54be63:	74 0c                	je     0x54be71
54be65:	5f                   	pop    %edi
54be66:	5e                   	pop    %esi
54be67:	b8 07 00 00 00       	mov    $0x7,%eax
54be6c:	5b                   	pop    %ebx
54be6d:	8b e5                	mov    %ebp,%esp
54be6f:	5d                   	pop    %ebp
54be70:	c3                   	ret
54be71:	8b 7b 0c             	mov    0xc(%ebx),%edi
54be74:	8b 73 10             	mov    0x10(%ebx),%esi
54be77:	83 e7 fe             	and    $0xfffffffe,%edi
54be7a:	03 fe                	add    %esi,%edi
54be7c:	3b f7                	cmp    %edi,%esi
54be7e:	73 11                	jae    0x54be91
54be80:	8a 46 01             	mov    0x1(%esi),%al
54be83:	8a 16                	mov    (%esi),%dl
54be85:	88 06                	mov    %al,(%esi)
54be87:	88 56 01             	mov    %dl,0x1(%esi)
54be8a:	83 c6 02             	add    $0x2,%esi
54be8d:	3b f7                	cmp    %edi,%esi
54be8f:	72 ef                	jb     0x54be80
54be91:	8a 45 0c             	mov    0xc(%ebp),%al
54be94:	5f                   	pop    %edi
54be95:	88 43 0a             	mov    %al,0xa(%ebx)
54be98:	33 c0                	xor    %eax,%eax
54be9a:	5e                   	pop    %esi
54be9b:	5b                   	pop    %ebx
54be9c:	8b e5                	mov    %ebp,%esp
54be9e:	5d                   	pop    %ebp
54be9f:	c3                   	ret
54bea0:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
54bea4:	75 13                	jne    0x54beb9
54bea6:	83 63 0c fe          	andl   $0xfffffffe,0xc(%ebx)
54beaa:	b9 02 00 00 00       	mov    $0x2,%ecx
54beaf:	8b 43 0c             	mov    0xc(%ebx),%eax
54beb2:	f7 e9                	imul   %ecx
54beb4:	83 c0 01             	add    $0x1,%eax
54beb7:	eb 0c                	jmp    0x54bec5
54beb9:	8b 43 0c             	mov    0xc(%ebx),%eax
54bebc:	b9 02 00 00 00       	mov    $0x2,%ecx
54bec1:	f7 e9                	imul   %ecx
54bec3:	03 c1                	add    %ecx,%eax
54bec5:	8b 7b 0c             	mov    0xc(%ebx),%edi
54bec8:	83 d2 00             	adc    $0x0,%edx
54becb:	8b 73 10             	mov    0x10(%ebx),%esi
54bece:	03 fe                	add    %esi,%edi
54bed0:	8b 4b 20             	mov    0x20(%ebx),%ecx
54bed3:	52                   	push   %edx
54bed4:	50                   	push   %eax
54bed5:	85 c9                	test   %ecx,%ecx
54bed7:	74 10                	je     0x54bee9
54bed9:	51                   	push   %ecx
54beda:	e8 01 55 fd ff       	call   0x5213e0
54bedf:	8b d0                	mov    %eax,%edx
54bee1:	83 c4 0c             	add    $0xc,%esp
54bee4:	89 55 fc             	mov    %edx,-0x4(%ebp)
54bee7:	eb 0d                	jmp    0x54bef6
54bee9:	e8 72 50 fe ff       	call   0x530f60
54beee:	83 c4 08             	add    $0x8,%esp
54bef1:	89 45 fc             	mov    %eax,-0x4(%ebp)
54bef4:	8b d0                	mov    %eax,%edx
54bef6:	85 d2                	test   %edx,%edx
54bef8:	0f 84 67 ff ff ff    	je     0x54be65
54befe:	8a 4b 0a             	mov    0xa(%ebx),%cl
54bf01:	8b c2                	mov    %edx,%eax
54bf03:	80 f9 01             	cmp    $0x1,%cl
54bf06:	0f 85 bd 01 00 00    	jne    0x54c0c9
54bf0c:	80 7d 0c 02          	cmpb   $0x2,0xc(%ebp)
54bf10:	0f 85 d7 00 00 00    	jne    0x54bfed
54bf16:	3b f7                	cmp    %edi,%esi
54bf18:	0f 83 9b 01 00 00    	jae    0x54c0b9
54bf1e:	66 90                	xchg   %ax,%ax
54bf20:	0f b6 16             	movzbl (%esi),%edx
54bf23:	46                   	inc    %esi
54bf24:	89 55 f8             	mov    %edx,-0x8(%ebp)
54bf27:	81 fa c0 00 00 00    	cmp    $0xc0,%edx
54bf2d:	72 64                	jb     0x54bf93
54bf2f:	0f b6 92 78 2b 6b 00 	movzbl 0x6b2b78(%edx),%edx
54bf36:	89 55 f8             	mov    %edx,-0x8(%ebp)
54bf39:	3b f7                	cmp    %edi,%esi
54bf3b:	74 22                	je     0x54bf5f
54bf3d:	0f 1f 00             	nopl   (%eax)
54bf40:	8a 1e                	mov    (%esi),%bl
54bf42:	8a cb                	mov    %bl,%cl
54bf44:	80 e1 c0             	and    $0xc0,%cl
54bf47:	80 f9 80             	cmp    $0x80,%cl
54bf4a:	75 10                	jne    0x54bf5c
54bf4c:	0f b6 cb             	movzbl %bl,%ecx
54bf4f:	46                   	inc    %esi
54bf50:	83 e1 3f             	and    $0x3f,%ecx
54bf53:	c1 e2 06             	shl    $0x6,%edx
54bf56:	03 d1                	add    %ecx,%edx
54bf58:	3b f7                	cmp    %edi,%esi
54bf5a:	75 e4                	jne    0x54bf40
54bf5c:	89 55 f8             	mov    %edx,-0x8(%ebp)
54bf5f:	81 fa 80 00 00 00    	cmp    $0x80,%edx
54bf65:	72 1d                	jb     0x54bf84
54bf67:	8b ca                	mov    %edx,%ecx
54bf69:	81 e1 00 f8 ff ff    	and    $0xfffff800,%ecx
54bf6f:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
54bf75:	74 0d                	je     0x54bf84
54bf77:	8b ca                	mov    %edx,%ecx
54bf79:	83 e1 fe             	and    $0xfffffffe,%ecx
54bf7c:	81 f9 fe ff 00 00    	cmp    $0xfffe,%ecx
54bf82:	75 0f                	jne    0x54bf93
54bf84:	ba fd ff 00 00       	mov    $0xfffd,%edx
54bf89:	88 10                	mov    %dl,(%eax)
54bf8b:	40                   	inc    %eax
54bf8c:	c1 ea 08             	shr    $0x8,%edx
54bf8f:	88 10                	mov    %dl,(%eax)
54bf91:	eb 4c                	jmp    0x54bfdf
54bf93:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
54bf99:	77 0a                	ja     0x54bfa5
54bf9b:	88 10                	mov    %dl,(%eax)
54bf9d:	40                   	inc    %eax
54bf9e:	c1 ea 08             	shr    $0x8,%edx
54bfa1:	88 10                	mov    %dl,(%eax)
54bfa3:	eb 3a                	jmp    0x54bfdf
54bfa5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
54bfa8:	8d 9a 00 00 ff ff    	lea    -0x10000(%edx),%ebx
54bfae:	c1 e9 0a             	shr    $0xa,%ecx
54bfb1:	8b d3                	mov    %ebx,%edx
54bfb3:	c1 ea 0a             	shr    $0xa,%edx
54bfb6:	32 ca                	xor    %dl,%cl