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
54bfb8:	c1 eb 12             	shr    $0x12,%ebx
54bfbb:	80 e1 3f             	and    $0x3f,%cl
54bfbe:	80 e3 03             	and    $0x3,%bl
54bfc1:	32 ca                	xor    %dl,%cl
54bfc3:	80 eb 28             	sub    $0x28,%bl
54bfc6:	88 08                	mov    %cl,(%eax)
54bfc8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
54bfcb:	88 58 01             	mov    %bl,0x1(%eax)
54bfce:	88 48 02             	mov    %cl,0x2(%eax)
54bfd1:	83 c0 03             	add    $0x3,%eax
54bfd4:	c1 e9 08             	shr    $0x8,%ecx
54bfd7:	80 e1 03             	and    $0x3,%cl
54bfda:	80 e9 24             	sub    $0x24,%cl
54bfdd:	88 08                	mov    %cl,(%eax)
54bfdf:	40                   	inc    %eax
54bfe0:	3b f7                	cmp    %edi,%esi
54bfe2:	0f 82 38 ff ff ff    	jb     0x54bf20
54bfe8:	e9 c6 00 00 00       	jmp    0x54c0b3
54bfed:	3b f7                	cmp    %edi,%esi
54bfef:	0f 83 c4 00 00 00    	jae    0x54c0b9
54bff5:	0f b6 1e             	movzbl (%esi),%ebx
54bff8:	46                   	inc    %esi
54bff9:	81 fb c0 00 00 00    	cmp    $0xc0,%ebx
54bfff:	72 5f                	jb     0x54c060
54c001:	0f b6 9b 78 2b 6b 00 	movzbl 0x6b2b78(%ebx),%ebx
54c008:	3b f7                	cmp    %edi,%esi
54c00a:	74 20                	je     0x54c02c
54c00c:	0f 1f 40 00          	nopl   0x0(%eax)
54c010:	8a 16                	mov    (%esi),%dl
54c012:	8a ca                	mov    %dl,%cl
54c014:	80 e1 c0             	and    $0xc0,%cl
54c017:	80 f9 80             	cmp    $0x80,%cl
54c01a:	75 10                	jne    0x54c02c
54c01c:	0f b6 ca             	movzbl %dl,%ecx
54c01f:	46                   	inc    %esi
54c020:	83 e1 3f             	and    $0x3f,%ecx
54c023:	c1 e3 06             	shl    $0x6,%ebx
54c026:	03 d9                	add    %ecx,%ebx
54c028:	3b f7                	cmp    %edi,%esi
54c02a:	75 e4                	jne    0x54c010
54c02c:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
54c032:	72 1d                	jb     0x54c051
54c034:	8b cb                	mov    %ebx,%ecx
54c036:	81 e1 00 f8 ff ff    	and    $0xfffff800,%ecx
54c03c:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
54c042:	74 0d                	je     0x54c051
54c044:	8b cb                	mov    %ebx,%ecx
54c046:	83 e1 fe             	and    $0xfffffffe,%ecx
54c049:	81 f9 fe ff 00 00    	cmp    $0xfffe,%ecx
54c04f:	75 0f                	jne    0x54c060
54c051:	bb fd ff 00 00       	mov    $0xfffd,%ebx
54c056:	8b cb                	mov    %ebx,%ecx
54c058:	c1 e9 08             	shr    $0x8,%ecx
54c05b:	88 08                	mov    %cl,(%eax)
54c05d:	40                   	inc    %eax
54c05e:	eb 48                	jmp    0x54c0a8
54c060:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
54c066:	77 0a                	ja     0x54c072
54c068:	8b cb                	mov    %ebx,%ecx
54c06a:	c1 e9 08             	shr    $0x8,%ecx
54c06d:	88 08                	mov    %cl,(%eax)
54c06f:	40                   	inc    %eax
54c070:	eb 36                	jmp    0x54c0a8
54c072:	8d 93 00 00 ff ff    	lea    -0x10000(%ebx),%edx
54c078:	8b ca                	mov    %edx,%ecx
54c07a:	c1 ea 0a             	shr    $0xa,%edx
54c07d:	c1 e9 12             	shr    $0x12,%ecx
54c080:	80 e1 03             	and    $0x3,%cl
54c083:	80 e9 28             	sub    $0x28,%cl
54c086:	88 08                	mov    %cl,(%eax)
54c088:	8b cb                	mov    %ebx,%ecx
54c08a:	c1 e9 0a             	shr    $0xa,%ecx
54c08d:	32 ca                	xor    %dl,%cl
54c08f:	80 e1 3f             	and    $0x3f,%cl
54c092:	32 ca                	xor    %dl,%cl
54c094:	88 48 01             	mov    %cl,0x1(%eax)
54c097:	8b cb                	mov    %ebx,%ecx
54c099:	c1 e9 08             	shr    $0x8,%ecx
54c09c:	80 e1 03             	and    $0x3,%cl
54c09f:	80 e9 24             	sub    $0x24,%cl
54c0a2:	88 48 02             	mov    %cl,0x2(%eax)
54c0a5:	83 c0 03             	add    $0x3,%eax
54c0a8:	88 18                	mov    %bl,(%eax)
54c0aa:	40                   	inc    %eax
54c0ab:	3b f7                	cmp    %edi,%esi
54c0ad:	0f 82 42 ff ff ff    	jb     0x54bff5
54c0b3:	8b 55 fc             	mov    -0x4(%ebp),%edx
54c0b6:	8b 5d 08             	mov    0x8(%ebp),%ebx
54c0b9:	8b c8                	mov    %eax,%ecx
54c0bb:	2b ca                	sub    %edx,%ecx
54c0bd:	89 4b 0c             	mov    %ecx,0xc(%ebx)
54c0c0:	c6 00 00             	movb   $0x0,(%eax)
54c0c3:	40                   	inc    %eax
54c0c4:	e9 d0 01 00 00       	jmp    0x54c299
54c0c9:	80 f9 02             	cmp    $0x2,%cl
54c0cc:	0f 85 df 00 00 00    	jne    0x54c1b1
54c0d2:	3b f7                	cmp    %edi,%esi
54c0d4:	0f 83 b8 01 00 00    	jae    0x54c292
54c0da:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
54c0e0:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
54c0e4:	0f b6 1e             	movzbl (%esi),%ebx
54c0e7:	83 c6 02             	add    $0x2,%esi
54c0ea:	c1 e1 08             	shl    $0x8,%ecx
54c0ed:	03 d9                	add    %ecx,%ebx
54c0ef:	8d 8b 00 28 ff ff    	lea    -0xd800(%ebx),%ecx
54c0f5:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
54c0fb:	77 2e                	ja     0x54c12b
54c0fd:	3b f7                	cmp    %edi,%esi
54c0ff:	73 2a                	jae    0x54c12b
54c101:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
54c105:	0f b6 16             	movzbl (%esi),%edx
54c108:	83 c6 02             	add    $0x2,%esi
54c10b:	c1 e1 08             	shl    $0x8,%ecx
54c10e:	03 d1                	add    %ecx,%edx
54c110:	8b cb                	mov    %ebx,%ecx
54c112:	83 e3 3f             	and    $0x3f,%ebx
54c115:	81 e1 c0 03 00 00    	and    $0x3c0,%ecx
54c11b:	83 c3 40             	add    $0x40,%ebx
54c11e:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
54c124:	03 d9                	add    %ecx,%ebx
54c126:	c1 e3 0a             	shl    $0xa,%ebx
54c129:	03 da                	add    %edx,%ebx
54c12b:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
54c131:	72 6e                	jb     0x54c1a1
54c133:	8b cb                	mov    %ebx,%ecx
54c135:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
54c13b:	73 0e                	jae    0x54c14b
54c13d:	c1 e9 06             	shr    $0x6,%ecx
54c140:	80 e1 1f             	and    $0x1f,%cl
54c143:	80 e9 40             	sub    $0x40,%cl
54c146:	88 08                	mov    %cl,(%eax)
54c148:	40                   	inc    %eax
54c149:	eb 50                	jmp    0x54c19b
54c14b:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
54c151:	73 1e                	jae    0x54c171
54c153:	c1 e9 0c             	shr    $0xc,%ecx
54c156:	80 e1 0f             	and    $0xf,%cl
54c159:	80 e9 20             	sub    $0x20,%cl
54c15c:	88 08                	mov    %cl,(%eax)
54c15e:	8b cb                	mov    %ebx,%ecx
54c160:	c1 e9 06             	shr    $0x6,%ecx
54c163:	80 e1 3f             	and    $0x3f,%cl
54c166:	80 e9 80             	sub    $0x80,%cl
54c169:	88 48 01             	mov    %cl,0x1(%eax)
54c16c:	83 c0 02             	add    $0x2,%eax
54c16f:	eb 2a                	jmp    0x54c19b
54c171:	c1 e9 12             	shr    $0x12,%ecx
54c174:	80 e1 07             	and    $0x7,%cl
54c177:	80 e9 10             	sub    $0x10,%cl
54c17a:	88 08                	mov    %cl,(%eax)
54c17c:	8b cb                	mov    %ebx,%ecx
54c17e:	c1 e9 0c             	shr    $0xc,%ecx
54c181:	80 e1 3f             	and    $0x3f,%cl
54c184:	80 e9 80             	sub    $0x80,%cl
54c187:	88 48 01             	mov    %cl,0x1(%eax)
54c18a:	8b cb                	mov    %ebx,%ecx
54c18c:	c1 e9 06             	shr    $0x6,%ecx
54c18f:	80 e1 3f             	and    $0x3f,%cl
54c192:	80 e9 80             	sub    $0x80,%cl
54c195:	88 48 02             	mov    %cl,0x2(%eax)
54c198:	83 c0 03             	add    $0x3,%eax
54c19b:	80 e3 3f             	and    $0x3f,%bl
54c19e:	80 eb 80             	sub    $0x80,%bl
54c1a1:	88 18                	mov    %bl,(%eax)
54c1a3:	40                   	inc    %eax
54c1a4:	3b f7                	cmp    %edi,%esi
54c1a6:	0f 82 34 ff ff ff    	jb     0x54c0e0
54c1ac:	e9 db 00 00 00       	jmp    0x54c28c
54c1b1:	3b f7                	cmp    %edi,%esi
54c1b3:	0f 83 d9 00 00 00    	jae    0x54c292
54c1b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
54c1c0:	0f b6 1e             	movzbl (%esi),%ebx
54c1c3:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
54c1c7:	83 c6 02             	add    $0x2,%esi
54c1ca:	c1 e3 08             	shl    $0x8,%ebx