54c98f:	41                   	inc    %ecx
54c990:	89 4d bc             	mov    %ecx,-0x44(%ebp)
54c993:	0f b7 46 08          	movzwl 0x8(%esi),%eax
54c997:	3b c8                	cmp    %eax,%ecx
54c999:	0f 84 dc 00 00 00    	je     0x54ca7b
54c99f:	83 c7 28             	add    $0x28,%edi
54c9a2:	89 7d d0             	mov    %edi,-0x30(%ebp)
54c9a5:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
54c9ab:	72 07                	jb     0x54c9b4
54c9ad:	8d 43 f4             	lea    -0xc(%ebx),%eax
54c9b0:	d1 e8                	shr    $1,%eax
54c9b2:	eb 07                	jmp    0x54c9bb
54c9b4:	0f b6 83 d8 2f 6b 00 	movzbl 0x6b2fd8(%ebx),%eax
54c9bb:	01 45 c8             	add    %eax,-0x38(%ebp)
54c9be:	33 c9                	xor    %ecx,%ecx
54c9c0:	c1 eb 07             	shr    $0x7,%ebx
54c9c3:	ba 01 00 00 00       	mov    $0x1,%edx
54c9c8:	8b c3                	mov    %ebx,%eax
54c9ca:	0b c1                	or     %ecx,%eax
54c9cc:	74 10                	je     0x54c9de
54c9ce:	66 90                	xchg   %ax,%ax
54c9d0:	0f ac cb 07          	shrd   $0x7,%ecx,%ebx
54c9d4:	42                   	inc    %edx
54c9d5:	c1 e9 07             	shr    $0x7,%ecx
54c9d8:	8b c3                	mov    %ebx,%eax
54c9da:	0b c1                	or     %ecx,%eax
54c9dc:	75 f2                	jne    0x54c9d0
54c9de:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
54c9e1:	03 da                	add    %edx,%ebx
54c9e3:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
54c9e6:	3b 5d c0             	cmp    -0x40(%ebp),%ebx
54c9e9:	0f 83 8c 00 00 00    	jae    0x54ca7b
54c9ef:	8b 55 c8             	mov    -0x38(%ebp),%edx
54c9f2:	3b 55 08             	cmp    0x8(%ebp),%edx
54c9f5:	0f 87 80 00 00 00    	ja     0x54ca7b
54c9fb:	8b 75 b0             	mov    -0x50(%ebp),%esi
54c9fe:	e9 4d fc ff ff       	jmp    0x54c650
54ca03:	83 c9 ff             	or     $0xffffffff,%ecx
54ca06:	e9 da fc ff ff       	jmp    0x54c6e5
54ca0b:	68 fc c4 6b 00       	push   $0x6bc4fc
54ca10:	68 bd 3f 01 00       	push   $0x13fbd
54ca15:	68 94 c4 6b 00       	push   $0x6bc494
54ca1a:	68 78 c4 6b 00       	push   $0x6bc478
54ca1f:	6a 0b                	push   $0xb
54ca21:	e8 ba 35 f9 ff       	call   0x4dffe0
54ca26:	8b 45 c4             	mov    -0x3c(%ebp),%eax
54ca29:	83 c4 14             	add    $0x14,%esp
54ca2c:	5f                   	pop    %edi
54ca2d:	5e                   	pop    %esi
54ca2e:	c6 40 0b 0b          	movb   $0xb,0xb(%eax)
54ca32:	33 c0                	xor    %eax,%eax
54ca34:	5b                   	pop    %ebx
54ca35:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54ca38:	33 cd                	xor    %ebp,%ecx
54ca3a:	e8 9b 4a 09 00       	call   0x5e14da
54ca3f:	8b e5                	mov    %ebp,%esp
54ca41:	5d                   	pop    %ebp
54ca42:	c3                   	ret
54ca43:	68 fc c4 6b 00       	push   $0x6bc4fc
54ca48:	68 db 3f 01 00       	push   $0x13fdb
54ca4d:	68 94 c4 6b 00       	push   $0x6bc494
54ca52:	68 78 c4 6b 00       	push   $0x6bc478
54ca57:	6a 0b                	push   $0xb
54ca59:	e8 82 35 f9 ff       	call   0x4dffe0
54ca5e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
54ca61:	83 c4 14             	add    $0x14,%esp
54ca64:	5f                   	pop    %edi
54ca65:	5e                   	pop    %esi
54ca66:	c6 40 0b 0b          	movb   $0xb,0xb(%eax)
54ca6a:	33 c0                	xor    %eax,%eax
54ca6c:	5b                   	pop    %ebx
54ca6d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54ca70:	33 cd                	xor    %ebp,%ecx
54ca72:	e8 63 4a 09 00       	call   0x5e14da
54ca77:	8b e5                	mov    %ebp,%esp
54ca79:	5d                   	pop    %ebp
54ca7a:	c3                   	ret
54ca7b:	0f be 46 0a          	movsbl 0xa(%esi),%eax
54ca7f:	5f                   	pop    %edi
54ca80:	c6 46 0e 01          	movb   $0x1,0xe(%esi)
54ca84:	5e                   	pop    %esi
54ca85:	5b                   	pop    %ebx
54ca86:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54ca89:	33 cd                	xor    %ebp,%ecx
54ca8b:	e8 4a 4a 09 00       	call   0x5e14da
54ca90:	8b e5                	mov    %ebp,%esp
54ca92:	5d                   	pop    %ebp
54ca93:	c3                   	ret
54ca94:	ba 01 00 00 00       	mov    $0x1,%edx
54ca99:	83 e0 01             	and    $0x1,%eax
54ca9c:	3b c2                	cmp    %edx,%eax
54ca9e:	74 02                	je     0x54caa2
54caa0:	f7 d9                	neg    %ecx
54caa2:	8b c1                	mov    %ecx,%eax
54caa4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54caa7:	5f                   	pop    %edi
54caa8:	5e                   	pop    %esi
54caa9:	33 cd                	xor    %ebp,%ecx
54caab:	5b                   	pop    %ebx
54caac:	e8 29 4a 09 00       	call   0x5e14da
54cab1:	8b e5                	mov    %ebp,%esp
54cab3:	5d                   	pop    %ebp
54cab4:	c3                   	ret
54cab5:	cc                   	int3
54cab6:	cc                   	int3
54cab7:	cc                   	int3
54cab8:	cc                   	int3
54cab9:	cc                   	int3
54caba:	cc                   	int3
54cabb:	cc                   	int3
54cabc:	cc                   	int3
54cabd:	cc                   	int3
54cabe:	cc                   	int3
54cabf:	cc                   	int3
54cac0:	55                   	push   %ebp
54cac1:	8b ec                	mov    %esp,%ebp
54cac3:	8b 45 14             	mov    0x14(%ebp),%eax
54cac6:	83 ec 14             	sub    $0x14,%esp
54cac9:	8b 55 10             	mov    0x10(%ebp),%edx
54cacc:	53                   	push   %ebx
54cacd:	c6 40 0a 00          	movb   $0x0,0xa(%eax)
54cad1:	8a 0a                	mov    (%edx),%cl
54cad3:	56                   	push   %esi
54cad4:	8b 70 04             	mov    0x4(%eax),%esi
54cad7:	57                   	push   %edi
54cad8:	80 f9 80             	cmp    $0x80,%cl
54cadb:	73 0a                	jae    0x54cae7
54cadd:	0f b6 f9             	movzbl %cl,%edi
54cae0:	b9 01 00 00 00       	mov    $0x1,%ecx
54cae5:	eb 19                	jmp    0x54cb00
54cae7:	8d 45 f4             	lea    -0xc(%ebp),%eax
54caea:	50                   	push   %eax
54caeb:	52                   	push   %edx
54caec:	e8 4f 0d fe ff       	call   0x52d840
54caf1:	8b 7d f4             	mov    -0xc(%ebp),%edi
54caf4:	83 c4 08             	add    $0x8,%esp
54caf7:	8b 55 10             	mov    0x10(%ebp),%edx
54cafa:	0f b6 c8             	movzbl %al,%ecx
54cafd:	8b 45 14             	mov    0x14(%ebp),%eax
54cb00:	0f b6 d9             	movzbl %cl,%ebx
54cb03:	8b cf                	mov    %edi,%ecx
54cb05:	89 7d f8             	mov    %edi,-0x8(%ebp)
54cb08:	33 ff                	xor    %edi,%edi
54cb0a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
54cb0d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54cb10:	3b d9                	cmp    %ecx,%ebx
54cb12:	0f 83 d5 00 00 00    	jae    0x54cbed
54cb18:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
54cb1f:	00
54cb20:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
54cb23:	0f 87 c9 00 00 00    	ja     0x54cbf2
54cb29:	8a 04 1a             	mov    (%edx,%ebx,1),%al
54cb2c:	03 d3                	add    %ebx,%edx
54cb2e:	3c 80                	cmp    $0x80,%al
54cb30:	73 0a                	jae    0x54cb3c
54cb32:	0f b6 c0             	movzbl %al,%eax
54cb35:	b9 01 00 00 00       	mov    $0x1,%ecx
54cb3a:	eb 5a                	jmp    0x54cb96
54cb3c:	0f b6 5a 01          	movzbl 0x1(%edx),%ebx
54cb40:	0f b6 02             	movzbl (%edx),%eax
54cb43:	84 db                	test   %bl,%bl
54cb45:	78 0c                	js     0x54cb53
54cb47:	83 e0 7f             	and    $0x7f,%eax
54cb4a:	b1 02                	mov    $0x2,%cl
54cb4c:	c1 e0 07             	shl    $0x7,%eax
54cb4f:	0b c3                	or     %ebx,%eax
54cb51:	eb 3d                	jmp    0x54cb90
54cb53:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
54cb57:	c1 e0 0e             	shl    $0xe,%eax
54cb5a:	0b c8                	or     %eax,%ecx
54cb5c:	84 c9                	test   %cl,%cl
54cb5e:	78 14                	js     0x54cb74
54cb60:	8b c3                	mov    %ebx,%eax
54cb62:	81 e1 7f c0 1f 00    	and    $0x1fc07f,%ecx
54cb68:	83 e0 7f             	and    $0x7f,%eax
54cb6b:	c1 e0 07             	shl    $0x7,%eax
54cb6e:	0b c1                	or     %ecx,%eax
54cb70:	b1 03                	mov    $0x3,%cl
54cb72:	eb 1c                	jmp    0x54cb90
54cb74:	8d 45 ec             	lea    -0x14(%ebp),%eax
54cb77:	50                   	push   %eax
54cb78:	52                   	push   %edx
54cb79:	e8 12 0b fe ff       	call   0x52d690
54cb7e:	33 d2                	xor    %edx,%edx
54cb80:	83 c4 08             	add    $0x8,%esp
54cb83:	8a c8                	mov    %al,%cl
54cb85:	8b 45 ec             	mov    -0x14(%ebp),%eax
54cb88:	3b 55 f0             	cmp    -0x10(%ebp),%edx
54cb8b:	74 03                	je     0x54cb90
54cb8d:	83 c8 ff             	or     $0xffffffff,%eax
54cb90:	8b 5d f4             	mov    -0xc(%ebp),%ebx
54cb93:	0f b6 c9             	movzbl %cl,%ecx
54cb96:	8b 55 08             	mov    0x8(%ebp),%edx
54cb99:	0f b6 c9             	movzbl %cl,%ecx
54cb9c:	56                   	push   %esi
54cb9d:	50                   	push   %eax
54cb9e:	8b 45 fc             	mov    -0x4(%ebp),%eax
54cba1:	03 d9                	add    %ecx,%ebx
54cba3:	8a 4a 04             	mov    0x4(%edx),%cl
54cba6:	03 45 10             	add    0x10(%ebp),%eax
54cba9:	88 4e 0a             	mov    %cl,0xa(%esi)
54cbac:	8b 4a 0c             	mov    0xc(%edx),%ecx
54cbaf:	50                   	push   %eax
54cbb0:	89 5d f4             	mov    %ebx,-0xc(%ebp)
54cbb3:	89 4e 20             	mov    %ecx,0x20(%esi)
54cbb6:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
54cbbd:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
54cbc4:	e8 47 01 00 00       	call   0x54cd10
54cbc9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54cbcc:	47                   	inc    %edi
54cbcd:	03 c8                	add    %eax,%ecx
54cbcf:	83 c4 0c             	add    $0xc,%esp
54cbd2:	8b 45 14             	mov    0x14(%ebp),%eax
54cbd5:	83 c6 28             	add    $0x28,%esi
54cbd8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54cbdb:	66 3b 78 08          	cmp    0x8(%eax),%di
54cbdf:	73 0c                	jae    0x54cbed
54cbe1:	8b 55 10             	mov    0x10(%ebp),%edx
54cbe4:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
54cbe7:	0f 82 33 ff ff ff    	jb     0x54cb20
54cbed:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
54cbf0:	76 33                	jbe    0x54cc25
54cbf2:	66 85 ff             	test   %di,%di
54cbf5:	74 2e                	je     0x54cc25
54cbf7:	83 c6 d8             	add    $0xffffffd8,%esi
54cbfa:	b9 00 24 00 00       	mov    $0x2400,%ecx
54cbff:	66 85 4e 08          	test   %cx,0x8(%esi)
54cc03:	74 17                	je     0x54cc1c
54cc05:	56                   	push   %esi
54cc06:	e8 45 e2 00 00       	call   0x55ae50
54cc0b:	8b 45 14             	mov    0x14(%ebp),%eax
54cc0e:	83 c4 04             	add    $0x4,%esp
54cc11:	66 89 78 08          	mov    %di,0x8(%eax)
54cc15:	5f                   	pop    %edi
54cc16:	5e                   	pop    %esi
54cc17:	5b                   	pop    %ebx
54cc18:	8b e5                	mov    %ebp,%esp
54cc1a:	5d                   	pop    %ebp
54cc1b:	c3                   	ret
54cc1c:	b9 01 00 00 00       	mov    $0x1,%ecx
54cc21:	66 89 4e 08          	mov    %cx,0x8(%esi)
54cc25:	66 89 78 08          	mov    %di,0x8(%eax)
54cc29:	5f                   	pop    %edi
54cc2a:	5e                   	pop    %esi
54cc2b:	5b                   	pop    %ebx
54cc2c:	8b e5                	mov    %ebp,%esp
54cc2e:	5d                   	pop    %ebp
54cc2f:	c3                   	ret
54cc30:	55                   	push   %ebp
54cc31:	8b ec                	mov    %esp,%ebp
54cc33:	56                   	push   %esi
54cc34:	8b 75 08             	mov    0x8(%ebp),%esi
54cc37:	57                   	push   %edi
54cc38:	56                   	push   %esi
54cc39:	8b 3e                	mov    (%esi),%edi
54cc3b:	e8 c0 d4 ff ff       	call   0x54a100
54cc40:	83 c4 04             	add    $0x4,%esp
54cc43:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
54cc47:	7c 21                	jl     0x54cc6a
54cc49:	56                   	push   %esi
54cc4a:	e8 f1 0d 00 00       	call   0x54da40
54cc4f:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
54cc55:	83 c4 04             	add    $0x4,%esp
54cc58:	a8 40                	test   $0x40,%al
54cc5a:	74 3b                	je     0x54cc97
54cc5c:	83 e0 fd             	and    $0xfffffffd,%eax
54cc5f:	83 c8 01             	or     $0x1,%eax
54cc62:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
54cc68:	eb 2d                	jmp    0x54cc97
54cc6a:	8b 56 28             	mov    0x28(%esi),%edx
54cc6d:	85 d2                	test   %edx,%edx
54cc6f:	74 26                	je     0x54cc97
54cc71:	f6 86 98 00 00 00 03 	testb  $0x3,0x98(%esi)
54cc78:	74 1d                	je     0x54cc97
54cc7a:	8b 46 7c             	mov    0x7c(%esi),%eax
54cc7d:	b9 04 d0 6a 00       	mov    $0x6ad004,%ecx
54cc82:	53                   	push   %ebx
54cc83:	33 db                	xor    %ebx,%ebx
54cc85:	85 c0                	test   %eax,%eax
54cc87:	50                   	push   %eax
54cc88:	0f 44 cb             	cmove  %ebx,%ecx
54cc8b:	51                   	push   %ecx
54cc8c:	52                   	push   %edx
54cc8d:	57                   	push   %edi
54cc8e:	e8 3d 66 fd ff       	call   0x5232d0
54cc93:	83 c4 10             	add    $0x10,%esp
54cc96:	5b                   	pop    %ebx
54cc97:	8b 46 7c             	mov    0x7c(%esi),%eax
54cc9a:	85 c0                	test   %eax,%eax
54cc9c:	74 0a                	je     0x54cca8
54cc9e:	50                   	push   %eax
54cc9f:	57                   	push   %edi
54cca0:	e8 cb 46 fd ff       	call   0x521370
54cca5:	83 c4 08             	add    $0x8,%esp
54cca8:	c7 46 7c 00 00 00 00 	movl   $0x0,0x7c(%esi)
54ccaf:	c7 46 78 00 00 00 00 	movl   $0x0,0x78(%esi)
54ccb6:	c7 46 14 76 9f fa 48 	movl   $0x48fa9f76,0x14(%esi)
54ccbd:	8b 47 44             	mov    0x44(%edi),%eax
54ccc0:	23 46 28             	and    0x28(%esi),%eax
54ccc3:	5f                   	pop    %edi
54ccc4:	5e                   	pop    %esi
54ccc5:	5d                   	pop    %ebp
54ccc6:	c3                   	ret
54ccc7:	cc                   	int3
54ccc8:	cc                   	int3
54ccc9:	cc                   	int3
54ccca:	cc                   	int3
54cccb:	cc                   	int3
54cccc:	cc                   	int3
54cccd:	cc                   	int3
54ccce:	cc                   	int3
54cccf:	cc                   	int3
54ccd0:	55                   	push   %ebp
54ccd1:	8b ec                	mov    %esp,%ebp
54ccd3:	8b 55 0c             	mov    0xc(%ebp),%edx
54ccd6:	56                   	push   %esi
54ccd7:	8b 75 08             	mov    0x8(%ebp),%esi
54ccda:	f7 d2                	not    %edx
54ccdc:	8b 4e 0c             	mov    0xc(%esi),%ecx
54ccdf:	8b 41 3c             	mov    0x3c(%ecx),%eax
54cce2:	03 41 38             	add    0x38(%ecx),%eax
54cce5:	79 0e                	jns    0x54ccf5
54cce7:	52                   	push   %edx
54cce8:	56                   	push   %esi
54cce9:	51                   	push   %ecx
54ccea:	e8 b1 6a fc ff       	call   0x5137a0
54ccef:	83 c4 0c             	add    $0xc,%esp
54ccf2:	5e                   	pop    %esi
54ccf3:	5d                   	pop    %ebp
54ccf4:	c3                   	ret
54ccf5:	8b 49 40             	mov    0x40(%ecx),%ecx
54ccf8:	8b 46 6c             	mov    0x6c(%esi),%eax
54ccfb:	5e                   	pop    %esi
54ccfc:	89 04 91             	mov    %eax,(%ecx,%edx,4)
54ccff:	5d                   	pop    %ebp
54cd00:	c3                   	ret
54cd01:	cc                   	int3
54cd02:	cc                   	int3
54cd03:	cc                   	int3
54cd04:	cc                   	int3
54cd05:	cc                   	int3
54cd06:	cc                   	int3
54cd07:	cc                   	int3
54cd08:	cc                   	int3
54cd09:	cc                   	int3
54cd0a:	cc                   	int3
54cd0b:	cc                   	int3
54cd0c:	cc                   	int3
54cd0d:	cc                   	int3
54cd0e:	cc                   	int3