57cf97:	68 5d 02 00 00       	push   $0x25d
57cf9c:	68 cc b2 65 00       	push   $0x65b2cc
57cfa1:	6a 44                	push   $0x44
57cfa3:	6a 7f                	push   $0x7f
57cfa5:	6a 21                	push   $0x21
57cfa7:	e8 d4 bf f5 ff       	call   0x4d8f80
57cfac:	83 c4 14             	add    $0x14,%esp
57cfaf:	33 c0                	xor    %eax,%eax
57cfb1:	5f                   	pop    %edi
57cfb2:	5e                   	pop    %esi
57cfb3:	5b                   	pop    %ebx
57cfb4:	c3                   	ret
57cfb5:	cc                   	int3
57cfb6:	cc                   	int3
57cfb7:	cc                   	int3
57cfb8:	cc                   	int3
57cfb9:	cc                   	int3
57cfba:	cc                   	int3
57cfbb:	cc                   	int3
57cfbc:	cc                   	int3
57cfbd:	cc                   	int3
57cfbe:	cc                   	int3
57cfbf:	cc                   	int3
57cfc0:	56                   	push   %esi
57cfc1:	8b 74 24 08          	mov    0x8(%esp),%esi
57cfc5:	ff 76 10             	push   0x10(%esi)
57cfc8:	e8 33 26 f7 ff       	call   0x4ef600
57cfcd:	83 c4 04             	add    $0x4,%esp
57cfd0:	83 f8 15             	cmp    $0x15,%eax
57cfd3:	75 05                	jne    0x57cfda
57cfd5:	8b 46 14             	mov    0x14(%esi),%eax
57cfd8:	5e                   	pop    %esi
57cfd9:	c3                   	ret
57cfda:	ff 76 10             	push   0x10(%esi)
57cfdd:	e8 1e 26 f7 ff       	call   0x4ef600
57cfe2:	83 c0 eb             	add    $0xffffffeb,%eax
57cfe5:	83 c4 04             	add    $0x4,%esp
57cfe8:	83 f8 05             	cmp    $0x5,%eax
57cfeb:	76 11                	jbe    0x57cffe
57cfed:	8b 46 14             	mov    0x14(%esi),%eax
57cff0:	85 c0                	test   %eax,%eax
57cff2:	74 0a                	je     0x57cffe
57cff4:	83 38 04             	cmpl   $0x4,(%eax)
57cff7:	75 05                	jne    0x57cffe
57cff9:	8b 40 04             	mov    0x4(%eax),%eax
57cffc:	5e                   	pop    %esi
57cffd:	c3                   	ret
57cffe:	33 c0                	xor    %eax,%eax
57d000:	5e                   	pop    %esi
57d001:	c3                   	ret
57d002:	cc                   	int3
57d003:	cc                   	int3
57d004:	cc                   	int3
57d005:	cc                   	int3
57d006:	cc                   	int3
57d007:	cc                   	int3
57d008:	cc                   	int3
57d009:	cc                   	int3
57d00a:	cc                   	int3
57d00b:	cc                   	int3
57d00c:	cc                   	int3
57d00d:	cc                   	int3
57d00e:	cc                   	int3
57d00f:	cc                   	int3
57d010:	53                   	push   %ebx
57d011:	55                   	push   %ebp
57d012:	8b 6c 24 10          	mov    0x10(%esp),%ebp
57d016:	56                   	push   %esi
57d017:	57                   	push   %edi
57d018:	8b 7c 24 14          	mov    0x14(%esp),%edi
57d01c:	8b 07                	mov    (%edi),%eax
57d01e:	85 c0                	test   %eax,%eax
57d020:	75 45                	jne    0x57d067
57d022:	e8 f9 7f f6 ff       	call   0x4e5020
57d027:	89 07                	mov    %eax,(%edi)
57d029:	85 c0                	test   %eax,%eax
57d02b:	74 33                	je     0x57d060
57d02d:	ff 74 24 20          	push   0x20(%esp)
57d031:	ff 74 24 20          	push   0x20(%esp)
57d035:	55                   	push   %ebp
57d036:	e8 55 fd f8 ff       	call   0x50cd90
57d03b:	8b f0                	mov    %eax,%esi
57d03d:	83 c4 0c             	add    $0xc,%esp
57d040:	85 f6                	test   %esi,%esi
57d042:	74 1c                	je     0x57d060
57d044:	56                   	push   %esi
57d045:	ff 37                	push   (%edi)
57d047:	e8 04 81 f6 ff       	call   0x4e5150
57d04c:	83 c4 08             	add    $0x8,%esp
57d04f:	85 c0                	test   %eax,%eax
57d051:	0f 85 8a 00 00 00    	jne    0x57d0e1
57d057:	56                   	push   %esi
57d058:	e8 c3 fd f8 ff       	call   0x50ce20
57d05d:	83 c4 04             	add    $0x4,%esp
57d060:	5f                   	pop    %edi
57d061:	5e                   	pop    %esi
57d062:	5d                   	pop    %ebp
57d063:	33 c0                	xor    %eax,%eax
57d065:	5b                   	pop    %ebx
57d066:	c3                   	ret
57d067:	50                   	push   %eax
57d068:	33 f6                	xor    %esi,%esi
57d06a:	e8 51 80 f6 ff       	call   0x4e50c0
57d06f:	83 c4 04             	add    $0x4,%esp
57d072:	85 c0                	test   %eax,%eax
57d074:	7e b7                	jle    0x57d02d
57d076:	56                   	push   %esi
57d077:	ff 37                	push   (%edi)
57d079:	e8 02 82 f6 ff       	call   0x4e5280
57d07e:	8b d8                	mov    %eax,%ebx
57d080:	53                   	push   %ebx
57d081:	e8 ea 36 f7 ff       	call   0x4f0770
57d086:	50                   	push   %eax
57d087:	e8 74 25 f7 ff       	call   0x4ef600
57d08c:	83 c4 10             	add    $0x10,%esp
57d08f:	3b c5                	cmp    %ebp,%eax
57d091:	74 11                	je     0x57d0a4
57d093:	ff 37                	push   (%edi)
57d095:	46                   	inc    %esi
57d096:	e8 25 80 f6 ff       	call   0x4e50c0
57d09b:	83 c4 04             	add    $0x4,%esp
57d09e:	3b f0                	cmp    %eax,%esi
57d0a0:	7c d4                	jl     0x57d076
57d0a2:	eb 89                	jmp    0x57d02d
57d0a4:	53                   	push   %ebx
57d0a5:	e8 76 fd f8 ff       	call   0x50ce20
57d0aa:	ff 74 24 24          	push   0x24(%esp)
57d0ae:	ff 74 24 24          	push   0x24(%esp)
57d0b2:	55                   	push   %ebp
57d0b3:	e8 d8 fc f8 ff       	call   0x50cd90
57d0b8:	8b d8                	mov    %eax,%ebx
57d0ba:	83 c4 10             	add    $0x10,%esp
57d0bd:	85 db                	test   %ebx,%ebx
57d0bf:	74 9f                	je     0x57d060
57d0c1:	53                   	push   %ebx
57d0c2:	56                   	push   %esi
57d0c3:	ff 37                	push   (%edi)
57d0c5:	e8 d6 80 f6 ff       	call   0x4e51a0
57d0ca:	83 c4 0c             	add    $0xc,%esp
57d0cd:	85 c0                	test   %eax,%eax
57d0cf:	75 10                	jne    0x57d0e1
57d0d1:	53                   	push   %ebx
57d0d2:	e8 49 fd f8 ff       	call   0x50ce20
57d0d7:	83 c4 04             	add    $0x4,%esp
57d0da:	33 c0                	xor    %eax,%eax
57d0dc:	5f                   	pop    %edi
57d0dd:	5e                   	pop    %esi
57d0de:	5d                   	pop    %ebp
57d0df:	5b                   	pop    %ebx
57d0e0:	c3                   	ret
57d0e1:	5f                   	pop    %edi
57d0e2:	5e                   	pop    %esi
57d0e3:	5d                   	pop    %ebp
57d0e4:	b8 01 00 00 00       	mov    $0x1,%eax
57d0e9:	5b                   	pop    %ebx
57d0ea:	c3                   	ret
57d0eb:	cc                   	int3
57d0ec:	cc                   	int3
57d0ed:	cc                   	int3
57d0ee:	cc                   	int3
57d0ef:	cc                   	int3
57d0f0:	56                   	push   %esi
57d0f1:	8b 74 24 0c          	mov    0xc(%esp),%esi
57d0f5:	85 f6                	test   %esi,%esi
57d0f7:	7f 04                	jg     0x57d0fd
57d0f9:	33 c0                	xor    %eax,%eax
57d0fb:	5e                   	pop    %esi
57d0fc:	c3                   	ret
57d0fd:	8b 54 24 08          	mov    0x8(%esp),%edx
57d101:	53                   	push   %ebx
57d102:	8a 0a                	mov    (%edx),%cl
57d104:	84 c9                	test   %cl,%cl
57d106:	78 14                	js     0x57d11c
57d108:	0f b6 f1             	movzbl %cl,%esi
57d10b:	b8 01 00 00 00       	mov    $0x1,%eax
57d110:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d114:	83 e6 7f             	and    $0x7f,%esi
57d117:	5b                   	pop    %ebx
57d118:	89 31                	mov    %esi,(%ecx)
57d11a:	5e                   	pop    %esi
57d11b:	c3                   	ret
57d11c:	8a c1                	mov    %cl,%al
57d11e:	24 e0                	and    $0xe0,%al
57d120:	3c c0                	cmp    $0xc0,%al
57d122:	75 43                	jne    0x57d167
57d124:	83 fe 02             	cmp    $0x2,%esi
57d127:	0f 8c c9 01 00 00    	jl     0x57d2f6
57d12d:	8a 52 01             	mov    0x1(%edx),%dl
57d130:	8a c2                	mov    %dl,%al
57d132:	24 c0                	and    $0xc0,%al
57d134:	3c 80                	cmp    $0x80,%al
57d136:	0f 85 55 02 00 00    	jne    0x57d391
57d13c:	0f b6 f1             	movzbl %cl,%esi
57d13f:	83 e6 1f             	and    $0x1f,%esi
57d142:	0f b6 c2             	movzbl %dl,%eax
57d145:	c1 e6 06             	shl    $0x6,%esi
57d148:	83 e0 3f             	and    $0x3f,%eax
57d14b:	0b f0                	or     %eax,%esi
57d14d:	81 fe 80 00 00 00    	cmp    $0x80,%esi
57d153:	0f 82 22 02 00 00    	jb     0x57d37b
57d159:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d15d:	b8 02 00 00 00       	mov    $0x2,%eax
57d162:	5b                   	pop    %ebx
57d163:	89 31                	mov    %esi,(%ecx)
57d165:	5e                   	pop    %esi
57d166:	c3                   	ret
57d167:	8a c1                	mov    %cl,%al
57d169:	24 f0                	and    $0xf0,%al
57d16b:	3c e0                	cmp    $0xe0,%al
57d16d:	75 5d                	jne    0x57d1cc
57d16f:	83 fe 03             	cmp    $0x3,%esi
57d172:	0f 8c 7e 01 00 00    	jl     0x57d2f6
57d178:	8a 5a 01             	mov    0x1(%edx),%bl
57d17b:	8a c3                	mov    %bl,%al
57d17d:	24 c0                	and    $0xc0,%al
57d17f:	3c 80                	cmp    $0x80,%al
57d181:	0f 85 0a 02 00 00    	jne    0x57d391
57d187:	8a 52 02             	mov    0x2(%edx),%dl
57d18a:	8a c2                	mov    %dl,%al
57d18c:	24 c0                	and    $0xc0,%al
57d18e:	3c 80                	cmp    $0x80,%al
57d190:	0f 85 fb 01 00 00    	jne    0x57d391
57d196:	0f b6 f1             	movzbl %cl,%esi
57d199:	83 e6 0f             	and    $0xf,%esi
57d19c:	0f b6 c3             	movzbl %bl,%eax
57d19f:	c1 e6 06             	shl    $0x6,%esi
57d1a2:	83 e0 3f             	and    $0x3f,%eax
57d1a5:	0b f0                	or     %eax,%esi
57d1a7:	0f b6 c2             	movzbl %dl,%eax
57d1aa:	c1 e6 06             	shl    $0x6,%esi
57d1ad:	83 e0 3f             	and    $0x3f,%eax
57d1b0:	0b f0                	or     %eax,%esi
57d1b2:	81 fe 00 08 00 00    	cmp    $0x800,%esi
57d1b8:	0f 82 bd 01 00 00    	jb     0x57d37b
57d1be:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d1c2:	b8 03 00 00 00       	mov    $0x3,%eax
57d1c7:	5b                   	pop    %ebx
57d1c8:	89 31                	mov    %esi,(%ecx)
57d1ca:	5e                   	pop    %esi
57d1cb:	c3                   	ret
57d1cc:	8a c1                	mov    %cl,%al
57d1ce:	24 f8                	and    $0xf8,%al
57d1d0:	3c f0                	cmp    $0xf0,%al
57d1d2:	75 76                	jne    0x57d24a
57d1d4:	83 fe 04             	cmp    $0x4,%esi
57d1d7:	0f 8c 19 01 00 00    	jl     0x57d2f6
57d1dd:	8a 5a 01             	mov    0x1(%edx),%bl
57d1e0:	8a c3                	mov    %bl,%al
57d1e2:	24 c0                	and    $0xc0,%al
57d1e4:	3c 80                	cmp    $0x80,%al
57d1e6:	0f 85 a5 01 00 00    	jne    0x57d391
57d1ec:	8a 6a 02             	mov    0x2(%edx),%ch
57d1ef:	8a c5                	mov    %ch,%al
57d1f1:	24 c0                	and    $0xc0,%al
57d1f3:	3c 80                	cmp    $0x80,%al
57d1f5:	0f 85 96 01 00 00    	jne    0x57d391
57d1fb:	8a 42 03             	mov    0x3(%edx),%al
57d1fe:	24 c0                	and    $0xc0,%al
57d200:	3c 80                	cmp    $0x80,%al
57d202:	0f 85 89 01 00 00    	jne    0x57d391
57d208:	0f b6 f1             	movzbl %cl,%esi
57d20b:	83 e6 07             	and    $0x7,%esi
57d20e:	0f b6 c3             	movzbl %bl,%eax
57d211:	c1 e6 06             	shl    $0x6,%esi
57d214:	83 e0 3f             	and    $0x3f,%eax
57d217:	0b f0                	or     %eax,%esi
57d219:	0f b6 c5             	movzbl %ch,%eax
57d21c:	c1 e6 06             	shl    $0x6,%esi
57d21f:	83 e0 3f             	and    $0x3f,%eax
57d222:	0b f0                	or     %eax,%esi
57d224:	0f b6 42 03          	movzbl 0x3(%edx),%eax
57d228:	c1 e6 06             	shl    $0x6,%esi
57d22b:	83 e0 3f             	and    $0x3f,%eax
57d22e:	0b f0                	or     %eax,%esi
57d230:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
57d236:	0f 82 3f 01 00 00    	jb     0x57d37b
57d23c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d240:	b8 04 00 00 00       	mov    $0x4,%eax
57d245:	5b                   	pop    %ebx
57d246:	89 31                	mov    %esi,(%ecx)
57d248:	5e                   	pop    %esi
57d249:	c3                   	ret
57d24a:	8a c1                	mov    %cl,%al
57d24c:	24 fc                	and    $0xfc,%al
57d24e:	3c f8                	cmp    $0xf8,%al
57d250:	0f 85 8f 00 00 00    	jne    0x57d2e5
57d256:	83 fe 05             	cmp    $0x5,%esi
57d259:	0f 8c 97 00 00 00    	jl     0x57d2f6
57d25f:	8a 5a 01             	mov    0x1(%edx),%bl
57d262:	8a c3                	mov    %bl,%al
57d264:	24 c0                	and    $0xc0,%al
57d266:	3c 80                	cmp    $0x80,%al
57d268:	0f 85 23 01 00 00    	jne    0x57d391
57d26e:	8a 6a 02             	mov    0x2(%edx),%ch
57d271:	8a c5                	mov    %ch,%al
57d273:	24 c0                	and    $0xc0,%al
57d275:	3c 80                	cmp    $0x80,%al
57d277:	0f 85 14 01 00 00    	jne    0x57d391
57d27d:	8a 42 03             	mov    0x3(%edx),%al
57d280:	24 c0                	and    $0xc0,%al
57d282:	3c 80                	cmp    $0x80,%al
57d284:	0f 85 07 01 00 00    	jne    0x57d391
57d28a:	8a 42 04             	mov    0x4(%edx),%al
57d28d:	24 c0                	and    $0xc0,%al
57d28f:	3c 80                	cmp    $0x80,%al
57d291:	0f 85 fa 00 00 00    	jne    0x57d391
57d297:	0f b6 f1             	movzbl %cl,%esi
57d29a:	83 e6 03             	and    $0x3,%esi
57d29d:	0f b6 c3             	movzbl %bl,%eax
57d2a0:	c1 e6 06             	shl    $0x6,%esi
57d2a3:	83 e0 3f             	and    $0x3f,%eax
57d2a6:	0b f0                	or     %eax,%esi
57d2a8:	0f b6 c5             	movzbl %ch,%eax
57d2ab:	c1 e6 06             	shl    $0x6,%esi
57d2ae:	83 e0 3f             	and    $0x3f,%eax
57d2b1:	0b f0                	or     %eax,%esi
57d2b3:	0f b6 42 03          	movzbl 0x3(%edx),%eax
57d2b7:	c1 e6 06             	shl    $0x6,%esi
57d2ba:	83 e0 3f             	and    $0x3f,%eax
57d2bd:	0b f0                	or     %eax,%esi
57d2bf:	0f b6 42 04          	movzbl 0x4(%edx),%eax
57d2c3:	c1 e6 06             	shl    $0x6,%esi
57d2c6:	83 e0 3f             	and    $0x3f,%eax
57d2c9:	0b f0                	or     %eax,%esi
57d2cb:	81 fe 00 00 20 00    	cmp    $0x200000,%esi
57d2d1:	0f 82 a4 00 00 00    	jb     0x57d37b
57d2d7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57d2db:	b8 05 00 00 00       	mov    $0x5,%eax
57d2e0:	5b                   	pop    %ebx
57d2e1:	89 31                	mov    %esi,(%ecx)
57d2e3:	5e                   	pop    %esi
57d2e4:	c3                   	ret
57d2e5:	8a c1                	mov    %cl,%al
57d2e7:	24 fe                	and    $0xfe,%al
57d2e9:	3c fc                	cmp    $0xfc,%al
57d2eb:	0f 85 a8 00 00 00    	jne    0x57d399
57d2f1:	83 fe 06             	cmp    $0x6,%esi
57d2f4:	7d 08                	jge    0x57d2fe
57d2f6:	5b                   	pop    %ebx
57d2f7:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
57d2fc:	5e                   	pop    %esi
57d2fd:	c3                   	ret
57d2fe:	8a 5a 01             	mov    0x1(%edx),%bl
57d301:	8a c3                	mov    %bl,%al
57d303:	24 c0                	and    $0xc0,%al
57d305:	3c 80                	cmp    $0x80,%al
57d307:	0f 85 84 00 00 00    	jne    0x57d391
57d30d:	8a 6a 02             	mov    0x2(%edx),%ch
57d310:	8a c5                	mov    %ch,%al
57d312:	24 c0                	and    $0xc0,%al