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
54cd0f:	cc                   	int3
54cd10:	55                   	push   %ebp
54cd11:	8b ec                	mov    %esp,%ebp
54cd13:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54cd16:	83 f9 0b             	cmp    $0xb,%ecx
54cd19:	0f 87 6e 01 00 00    	ja     0x54ce8d
54cd1f:	ff 24 8d b0 ce 54 00 	jmp    *0x54ceb0(,%ecx,4)
54cd26:	8b 45 10             	mov    0x10(%ebp),%eax
54cd29:	b9 01 40 00 00       	mov    $0x4001,%ecx
54cd2e:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
54cd35:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
54cd3b:	66 89 48 08          	mov    %cx,0x8(%eax)
54cd3f:	33 c0                	xor    %eax,%eax
54cd41:	5d                   	pop    %ebp
54cd42:	c3                   	ret
54cd43:	8b 45 10             	mov    0x10(%ebp),%eax
54cd46:	b9 01 00 00 00       	mov    $0x1,%ecx
54cd4b:	66 89 48 08          	mov    %cx,0x8(%eax)
54cd4f:	33 c0                	xor    %eax,%eax
54cd51:	5d                   	pop    %ebp
54cd52:	c3                   	ret
54cd53:	8b 45 08             	mov    0x8(%ebp),%eax
54cd56:	8b 4d 10             	mov    0x10(%ebp),%ecx
54cd59:	0f be 00             	movsbl (%eax),%eax
54cd5c:	99                   	cltd
54cd5d:	89 01                	mov    %eax,(%ecx)
54cd5f:	b8 04 00 00 00       	mov    $0x4,%eax
54cd64:	66 89 41 08          	mov    %ax,0x8(%ecx)
54cd68:	b8 01 00 00 00       	mov    $0x1,%eax
54cd6d:	89 51 04             	mov    %edx,0x4(%ecx)
54cd70:	5d                   	pop    %ebp
54cd71:	c3                   	ret
54cd72:	8b 4d 08             	mov    0x8(%ebp),%ecx
54cd75:	0f be 01             	movsbl (%ecx),%eax
54cd78:	0f b6 49 01          	movzbl 0x1(%ecx),%ecx
54cd7c:	c1 e0 08             	shl    $0x8,%eax
54cd7f:	0b c1                	or     %ecx,%eax
54cd81:	8b 4d 10             	mov    0x10(%ebp),%ecx
54cd84:	99                   	cltd
54cd85:	89 01                	mov    %eax,(%ecx)
54cd87:	b8 04 00 00 00       	mov    $0x4,%eax
54cd8c:	66 89 41 08          	mov    %ax,0x8(%ecx)
54cd90:	b8 02 00 00 00       	mov    $0x2,%eax
54cd95:	89 51 04             	mov    %edx,0x4(%ecx)
54cd98:	5d                   	pop    %ebp
54cd99:	c3                   	ret
54cd9a:	8b 55 08             	mov    0x8(%ebp),%edx
54cd9d:	0f b6 42 01          	movzbl 0x1(%edx),%eax
54cda1:	0f be 0a             	movsbl (%edx),%ecx
54cda4:	c1 e0 08             	shl    $0x8,%eax
54cda7:	c1 e1 10             	shl    $0x10,%ecx
54cdaa:	0b c1                	or     %ecx,%eax
54cdac:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
54cdb0:	0b c1                	or     %ecx,%eax
54cdb2:	8b 4d 10             	mov    0x10(%ebp),%ecx
54cdb5:	99                   	cltd
54cdb6:	89 01                	mov    %eax,(%ecx)
54cdb8:	b8 04 00 00 00       	mov    $0x4,%eax
54cdbd:	66 89 41 08          	mov    %ax,0x8(%ecx)
54cdc1:	b8 03 00 00 00       	mov    $0x3,%eax
54cdc6:	89 51 04             	mov    %edx,0x4(%ecx)
54cdc9:	5d                   	pop    %ebp
54cdca:	c3                   	ret
54cdcb:	8b 55 08             	mov    0x8(%ebp),%edx
54cdce:	0f b6 42 01          	movzbl 0x1(%edx),%eax
54cdd2:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
54cdd6:	c1 e0 08             	shl    $0x8,%eax
54cdd9:	0b c1                	or     %ecx,%eax
54cddb:	0f be 0a             	movsbl (%edx),%ecx
54cdde:	c1 e0 08             	shl    $0x8,%eax
54cde1:	c1 e1 18             	shl    $0x18,%ecx
54cde4:	0b c1                	or     %ecx,%eax
54cde6:	0f b6 4a 03          	movzbl 0x3(%edx),%ecx
54cdea:	0b c1                	or     %ecx,%eax
54cdec:	8b 4d 10             	mov    0x10(%ebp),%ecx
54cdef:	99                   	cltd
54cdf0:	89 01                	mov    %eax,(%ecx)
54cdf2:	b8 04 00 00 00       	mov    $0x4,%eax
54cdf7:	89 51 04             	mov    %edx,0x4(%ecx)
54cdfa:	66 89 41 08          	mov    %ax,0x8(%ecx)
54cdfe:	5d                   	pop    %ebp
54cdff:	c3                   	ret
54ce00:	8b 4d 08             	mov    0x8(%ebp),%ecx
54ce03:	56                   	push   %esi
54ce04:	57                   	push   %edi
54ce05:	0f b6 41 02          	movzbl 0x2(%ecx),%eax
54ce09:	99                   	cltd
54ce0a:	8b f0                	mov    %eax,%esi
54ce0c:	8b fa                	mov    %edx,%edi
54ce0e:	0f b6 41 03          	movzbl 0x3(%ecx),%eax
54ce12:	0f a4 f7 08          	shld   $0x8,%esi,%edi
54ce16:	99                   	cltd
54ce17:	c1 e6 08             	shl    $0x8,%esi
54ce1a:	0b fa                	or     %edx,%edi
54ce1c:	0b f0                	or     %eax,%esi
54ce1e:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
54ce22:	0f a4 f7 08          	shld   $0x8,%esi,%edi
54ce26:	99                   	cltd
54ce27:	c1 e6 08             	shl    $0x8,%esi
54ce2a:	0b fa                	or     %edx,%edi
54ce2c:	0b f0                	or     %eax,%esi
54ce2e:	0f b6 41 05          	movzbl 0x5(%ecx),%eax
54ce32:	0f a4 f7 08          	shld   $0x8,%esi,%edi
54ce36:	99                   	cltd
54ce37:	c1 e6 08             	shl    $0x8,%esi
54ce3a:	0b fa                	or     %edx,%edi
54ce3c:	0b f0                	or     %eax,%esi
54ce3e:	0f be 01             	movsbl (%ecx),%eax
54ce41:	0f b6 49 01          	movzbl 0x1(%ecx),%ecx
54ce45:	c1 e0 08             	shl    $0x8,%eax
54ce48:	0b c1                	or     %ecx,%eax
54ce4a:	83 c6 00             	add    $0x0,%esi
54ce4d:	99                   	cltd
54ce4e:	b9 04 00 00 00       	mov    $0x4,%ecx
54ce53:	13 f8                	adc    %eax,%edi
54ce55:	8b 45 10             	mov    0x10(%ebp),%eax
54ce58:	89 78 04             	mov    %edi,0x4(%eax)
54ce5b:	89 30                	mov    %esi,(%eax)
54ce5d:	5f                   	pop    %edi
54ce5e:	66 89 48 08          	mov    %cx,0x8(%eax)
54ce62:	8d 41 02             	lea    0x2(%ecx),%eax
54ce65:	5e                   	pop    %esi
54ce66:	5d                   	pop    %ebp
54ce67:	c3                   	ret
54ce68:	89 4d 0c             	mov    %ecx,0xc(%ebp)
54ce6b:	5d                   	pop    %ebp
54ce6c:	e9 5f 9f fc ff       	jmp    0x516dd0
54ce71:	8d 41 f8             	lea    -0x8(%ecx),%eax
54ce74:	8b 4d 10             	mov    0x10(%ebp),%ecx
54ce77:	89 01                	mov    %eax,(%ecx)
54ce79:	b8 04 00 00 00       	mov    $0x4,%eax
54ce7e:	66 89 41 08          	mov    %ax,0x8(%ecx)
54ce82:	33 c0                	xor    %eax,%eax
54ce84:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
54ce8b:	5d                   	pop    %ebp
54ce8c:	c3                   	ret
54ce8d:	8b 55 10             	mov    0x10(%ebp),%edx
54ce90:	8b 45 08             	mov    0x8(%ebp),%eax
54ce93:	89 42 10             	mov    %eax,0x10(%edx)
54ce96:	8d 41 f4             	lea    -0xc(%ecx),%eax
54ce99:	d1 e8                	shr    $1,%eax
54ce9b:	83 e1 01             	and    $0x1,%ecx
54ce9e:	89 42 0c             	mov    %eax,0xc(%edx)
54cea1:	66 8b 0c 4d 58 30 6b 	mov    0x6b3058(,%ecx,2),%cx
54cea8:	00
54cea9:	66 89 4a 08          	mov    %cx,0x8(%edx)
54cead:	5d                   	pop    %ebp
54ceae:	c3                   	ret
54ceaf:	90                   	nop
54ceb0:	43                   	inc    %ebx
54ceb1:	cd 54                	int    $0x54
54ceb3:	00 53 cd             	add    %dl,-0x33(%ebx)
54ceb6:	54                   	push   %esp
54ceb7:	00 72 cd             	add    %dh,-0x33(%edx)
54ceba:	54                   	push   %esp
54cebb:	00 9a cd 54 00 cb    	add    %bl,-0x34ffab33(%edx)
54cec1:	cd 54                	int    $0x54
54cec3:	00 00                	add    %al,(%eax)
54cec5:	ce                   	into
54cec6:	54                   	push   %esp
54cec7:	00 68 ce             	add    %ch,-0x32(%eax)
54ceca:	54                   	push   %esp
54cecb:	00 68 ce             	add    %ch,-0x32(%eax)
54cece:	54                   	push   %esp
54cecf:	00 71 ce             	add    %dh,-0x32(%ecx)
54ced2:	54                   	push   %esp
54ced3:	00 71 ce             	add    %dh,-0x32(%ecx)
54ced6:	54                   	push   %esp
54ced7:	00 26                	add    %ah,(%esi)
54ced9:	cd 54                	int    $0x54
54cedb:	00 43 cd             	add    %al,-0x33(%ebx)
54cede:	54                   	push   %esp
54cedf:	00 55 8b             	add    %dl,-0x75(%ebp)
54cee2:	ec                   	in     (%dx),%al
54cee3:	8b 55 10             	mov    0x10(%ebp),%edx