571007:	7c 17                	jl     0x571020
571009:	68 d8 01 00 00       	push   $0x1d8
57100e:	68 8a 13 6a 00       	push   $0x6a138a
571013:	68 5e 13 6a 00       	push   $0x6a135e
571018:	e8 23 9b fe ff       	call   0x55ab40
57101d:	83 c4 0c             	add    $0xc,%esp
571020:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
571024:	81 e2 ff 00 00 00    	and    $0xff,%edx
57102a:	81 fa ff 00 00 00    	cmp    $0xff,%edx
571030:	75 17                	jne    0x571049
571032:	68 d9 01 00 00       	push   $0x1d9
571037:	68 b4 13 6a 00       	push   $0x6a13b4
57103c:	68 93 13 6a 00       	push   $0x6a1393
571041:	e8 fa 9a fe ff       	call   0x55ab40
571046:	83 c4 0c             	add    $0xc,%esp
571049:	8b 4b 0c             	mov    0xc(%ebx),%ecx
57104c:	f6 41 08 07          	testb  $0x7,0x8(%ecx)
571050:	75 60                	jne    0x5710b2
571052:	8b 73 0c             	mov    0xc(%ebx),%esi
571055:	8b 7e 40             	mov    0x40(%esi),%edi
571058:	85 ff                	test   %edi,%edi
57105a:	7c 13                	jl     0x57106f
57105c:	8b 46 3c             	mov    0x3c(%esi),%eax
57105f:	3b f8                	cmp    %eax,%edi
571061:	7f 0c                	jg     0x57106f
571063:	8b 53 0c             	mov    0xc(%ebx),%edx
571066:	83 4a 08 04          	orl    $0x4,0x8(%edx)
57106a:	83 c9 ff             	or     $0xffffffff,%ecx
57106d:	eb 46                	jmp    0x5710b5
57106f:	8b 43 0c             	mov    0xc(%ebx),%eax
571072:	83 48 04 20          	orl    $0x20,0x4(%eax)
571076:	8b 53 0c             	mov    0xc(%ebx),%edx
571079:	ff 4a 1c             	decl   0x1c(%edx)
57107c:	79 18                	jns    0x571096
57107e:	8a 53 04             	mov    0x4(%ebx),%dl
571081:	8b 43 0c             	mov    0xc(%ebx),%eax
571084:	80 e2 ff             	and    $0xff,%dl
571087:	81 e2 ff 00 00 00    	and    $0xff,%edx
57108d:	e8 86 7d 00 00       	call   0x578e18
571092:	8b c8                	mov    %eax,%ecx
571094:	eb 1f                	jmp    0x5710b5
571096:	8b 43 0c             	mov    0xc(%ebx),%eax
571099:	ff 40 3c             	incl   0x3c(%eax)
57109c:	8b 53 0c             	mov    0xc(%ebx),%edx
57109f:	8b 4a 18             	mov    0x18(%edx),%ecx
5710a2:	ff 42 18             	incl   0x18(%edx)
5710a5:	8a 43 04             	mov    0x4(%ebx),%al
5710a8:	24 ff                	and    $0xff,%al
5710aa:	88 01                	mov    %al,(%ecx)
5710ac:	33 c9                	xor    %ecx,%ecx
5710ae:	8a c8                	mov    %al,%cl
5710b0:	eb 03                	jmp    0x5710b5
5710b2:	83 c9 ff             	or     $0xffffffff,%ecx
5710b5:	41                   	inc    %ecx
5710b6:	75 05                	jne    0x5710bd
5710b8:	83 c8 ff             	or     $0xffffffff,%eax
5710bb:	eb 19                	jmp    0x5710d6
5710bd:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
5710c4:	66 8b 53 04          	mov    0x4(%ebx),%dx
5710c8:	c1 e2 08             	shl    $0x8,%edx
5710cb:	66 81 e2 ff ff       	and    $0xffff,%dx
5710d0:	66 89 53 04          	mov    %dx,0x4(%ebx)
5710d4:	33 c0                	xor    %eax,%eax
5710d6:	5f                   	pop    %edi
5710d7:	5e                   	pop    %esi
5710d8:	5b                   	pop    %ebx
5710d9:	c3                   	ret
5710da:	8b c0                	mov    %eax,%eax
5710dc:	53                   	push   %ebx
5710dd:	56                   	push   %esi
5710de:	57                   	push   %edi
5710df:	55                   	push   %ebp
5710e0:	83 c4 d8             	add    $0xffffffd8,%esp
5710e3:	89 14 24             	mov    %edx,(%esp)
5710e6:	8b f0                	mov    %eax,%esi
5710e8:	33 ed                	xor    %ebp,%ebp
5710ea:	e8 d9 07 00 00       	call   0x5718c8
5710ef:	8b d8                	mov    %eax,%ebx
5710f1:	85 c0                	test   %eax,%eax
5710f3:	0f 84 25 07 00 00    	je     0x57181e
5710f9:	8b c6                	mov    %esi,%eax
5710fb:	e8 60 29 00 00       	call   0x573a60
571100:	8b e8                	mov    %eax,%ebp
571102:	85 c0                	test   %eax,%eax
571104:	75 10                	jne    0x571116
571106:	68 c0 13 6a 00       	push   $0x6a13c0
57110b:	e8 44 8e 00 00       	call   0x579f54
571110:	59                   	pop    %ecx
571111:	e9 08 07 00 00       	jmp    0x57181e
571116:	8b 55 08             	mov    0x8(%ebp),%edx
571119:	81 fa 20 20 50 6a    	cmp    $0x6a502020,%edx
57111f:	74 10                	je     0x571131
571121:	68 d7 13 6a 00       	push   $0x6a13d7
571126:	e8 29 8e 00 00       	call   0x579f54
57112b:	59                   	pop    %ecx
57112c:	e9 ed 06 00 00       	jmp    0x57181e
571131:	8b 4d 10             	mov    0x10(%ebp),%ecx
571134:	81 f9 0a 87 0a 0d    	cmp    $0xd0a870a,%ecx
57113a:	74 10                	je     0x57114c
57113c:	68 f7 13 6a 00       	push   $0x6a13f7
571141:	e8 0e 8e 00 00       	call   0x579f54
571146:	59                   	pop    %ecx
571147:	e9 d2 06 00 00       	jmp    0x57181e
57114c:	8b c5                	mov    %ebp,%eax
57114e:	e8 c1 28 00 00       	call   0x573a14
571153:	8b c6                	mov    %esi,%eax
571155:	e8 06 29 00 00       	call   0x573a60
57115a:	8b e8                	mov    %eax,%ebp
57115c:	85 c0                	test   %eax,%eax
57115e:	0f 84 ba 06 00 00    	je     0x57181e
571164:	8b 55 08             	mov    0x8(%ebp),%edx
571167:	81 fa 70 79 74 66    	cmp    $0x66747970,%edx
57116d:	74 10                	je     0x57117f
57116f:	68 0f 14 6a 00       	push   $0x6a140f
571174:	e8 db 8d 00 00       	call   0x579f54
571179:	59                   	pop    %ecx
57117a:	e9 9f 06 00 00       	jmp    0x57181e
57117f:	8b c5                	mov    %ebp,%eax
571181:	e8 8e 28 00 00       	call   0x573a14
571186:	33 ff                	xor    %edi,%edi
571188:	e9 ca 00 00 00       	jmp    0x571257
57118d:	e8 ba 8d 00 00       	call   0x579f4c
571192:	48                   	dec    %eax
571193:	7c 19                	jl     0x5711ae
571195:	8b 45 04             	mov    0x4(%ebp),%eax
571198:	8b 50 04             	mov    0x4(%eax),%edx
57119b:	52                   	push   %edx
57119c:	68 28 14 6a 00       	push   $0x6a1428
5711a1:	68 80 2e 6a 00       	push   $0x6a2e80
5711a6:	e8 21 8f 00 00       	call   0x57a0cc
5711ab:	83 c4 0c             	add    $0xc,%esp
5711ae:	8b 4d 08             	mov    0x8(%ebp),%ecx
5711b1:	81 f9 72 6c 6f 63    	cmp    $0x636f6c72,%ecx
5711b7:	7f 1c                	jg     0x5711d5
5711b9:	74 7f                	je     0x57123a
5711bb:	81 e9 63 63 70 62    	sub    $0x62706363,%ecx
5711c1:	74 41                	je     0x571204
5711c3:	81 e9 03 02 f4 00    	sub    $0xf40203,%ecx
5711c9:	74 47                	je     0x571212
5711cb:	81 e9 0a fc 08 00    	sub    $0x8fc0a,%ecx
5711d1:	74 59                	je     0x57122c
5711d3:	eb 71                	jmp    0x571246
5711d5:	81 e9 72 64 68 69    	sub    $0x69686472,%ecx
5711db:	74 19                	je     0x5711f6
5711dd:	81 e9 f1 cd 07 01    	sub    $0x107cdf1,%ecx
5711e3:	74 0a                	je     0x5711ef
5711e5:	81 e9 0f 3a f3 05    	sub    $0x5f33a0f,%ecx
5711eb:	74 33                	je     0x571220
5711ed:	eb 57                	jmp    0x571246
5711ef:	bf 01 00 00 00       	mov    $0x1,%edi
5711f4:	eb 50                	jmp    0x571246
5711f6:	8b 43 08             	mov    0x8(%ebx),%eax
5711f9:	85 c0                	test   %eax,%eax
5711fb:	75 49                	jne    0x571246
5711fd:	89 6b 08             	mov    %ebp,0x8(%ebx)
571200:	33 ed                	xor    %ebp,%ebp
571202:	eb 42                	jmp    0x571246
571204:	8b 43 0c             	mov    0xc(%ebx),%eax
571207:	85 c0                	test   %eax,%eax
571209:	75 3b                	jne    0x571246
57120b:	89 6b 0c             	mov    %ebp,0xc(%ebx)
57120e:	33 ed                	xor    %ebp,%ebp
571210:	eb 34                	jmp    0x571246
571212:	8b 43 04             	mov    0x4(%ebx),%eax
571215:	85 c0                	test   %eax,%eax
571217:	75 2d                	jne    0x571246
571219:	89 6b 04             	mov    %ebp,0x4(%ebx)
57121c:	33 ed                	xor    %ebp,%ebp
57121e:	eb 26                	jmp    0x571246
571220:	8b 03                	mov    (%ebx),%eax
571222:	85 c0                	test   %eax,%eax
571224:	75 20                	jne    0x571246
571226:	89 2b                	mov    %ebp,(%ebx)
571228:	33 ed                	xor    %ebp,%ebp
57122a:	eb 1a                	jmp    0x571246
57122c:	8b 43 10             	mov    0x10(%ebx),%eax
57122f:	85 c0                	test   %eax,%eax
571231:	75 13                	jne    0x571246
571233:	89 6b 10             	mov    %ebp,0x10(%ebx)
571236:	33 ed                	xor    %ebp,%ebp
571238:	eb 0c                	jmp    0x571246
57123a:	8b 43 14             	mov    0x14(%ebx),%eax
57123d:	85 c0                	test   %eax,%eax
57123f:	75 05                	jne    0x571246
571241:	89 6b 14             	mov    %ebp,0x14(%ebx)
571244:	33 ed                	xor    %ebp,%ebp
571246:	85 ed                	test   %ebp,%ebp
571248:	74 09                	je     0x571253
57124a:	8b c5                	mov    %ebp,%eax
57124c:	e8 c3 27 00 00       	call   0x573a14
571251:	33 ed                	xor    %ebp,%ebp
571253:	85 ff                	test   %edi,%edi
571255:	75 11                	jne    0x571268
571257:	8b c6                	mov    %esi,%eax
571259:	e8 02 28 00 00       	call   0x573a60
57125e:	8b e8                	mov    %eax,%ebp
571260:	85 c0                	test   %eax,%eax
571262:	0f 85 25 ff ff ff    	jne    0x57118d
571268:	85 ff                	test   %edi,%edi
57126a:	75 10                	jne    0x57127c
57126c:	68 35 14 6a 00       	push   $0x6a1435
571271:	e8 de 8c 00 00       	call   0x579f54
571276:	59                   	pop    %ecx
571277:	e9 a2 05 00 00       	jmp    0x57181e
57127c:	8b 14 24             	mov    (%esp),%edx
57127f:	8b c6                	mov    %esi,%eax
571281:	e8 d6 e8 fe ff       	call   0x55fb5c
571286:	89 43 18             	mov    %eax,0x18(%ebx)
571289:	85 c0                	test   %eax,%eax
57128b:	75 10                	jne    0x57129d
57128d:	68 52 14 6a 00       	push   $0x6a1452
571292:	e8 bd 8c 00 00       	call   0x579f54
571297:	59                   	pop    %ecx
571298:	e9 81 05 00 00       	jmp    0x57181e
57129d:	8b 53 08             	mov    0x8(%ebx),%edx
5712a0:	85 d2                	test   %edx,%edx
5712a2:	75 10                	jne    0x5712b4
5712a4:	68 74 14 6a 00       	push   $0x6a1474
5712a9:	e8 a6 8c 00 00       	call   0x579f54
5712ae:	59                   	pop    %ecx
5712af:	e9 6a 05 00 00       	jmp    0x57181e
5712b4:	8b 4b 08             	mov    0x8(%ebx),%ecx
5712b7:	8b 53 18             	mov    0x18(%ebx),%edx
5712ba:	66 8b 41 18          	mov    0x18(%ecx),%ax
5712be:	66 3b 42 10          	cmp    0x10(%edx),%ax
5712c2:	74 0b                	je     0x5712cf
5712c4:	68 8d 14 6a 00       	push   $0x6a148d
5712c9:	e8 86 8c 00 00       	call   0x579f54
5712ce:	59                   	pop    %ecx
5712cf:	8b 4b 18             	mov    0x18(%ebx),%ecx
5712d2:	66 83 79 10 00       	cmpw   $0x0,0x10(%ecx)
5712d7:	75 10                	jne    0x5712e9
5712d9:	68 b5 14 6a 00       	push   $0x6a14b5
5712de:	e8 71 8c 00 00       	call   0x579f54
5712e3:	59                   	pop    %ecx
5712e4:	e9 35 05 00 00       	jmp    0x57181e
5712e9:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
5712f0:	00
5712f1:	8b 43 18             	mov    0x18(%ebx),%eax
5712f4:	be 01 00 00 00       	mov    $0x1,%esi
5712f9:	8b 50 14             	mov    0x14(%eax),%edx
5712fc:	8b 02                	mov    (%edx),%eax
5712fe:	33 d2                	xor    %edx,%edx
571300:	0f b7 48 18          	movzwl 0x18(%eax),%ecx
571304:	8a 50 1a             	mov    0x1a(%eax),%dl
571307:	83 e1 7f             	and    $0x7f,%ecx
57130a:	83 e2 01             	and    $0x1,%edx
57130d:	c1 e2 07             	shl    $0x7,%edx
571310:	0b d1                	or     %ecx,%edx
571312:	89 54 24 08          	mov    %edx,0x8(%esp)
571316:	8b 43 18             	mov    0x18(%ebx),%eax
571319:	8b 50 14             	mov    0x14(%eax),%edx
57131c:	8d 42 04             	lea    0x4(%edx),%eax
57131f:	eb 2a                	jmp    0x57134b
571321:	8b 10                	mov    (%eax),%edx
571323:	33 c9                	xor    %ecx,%ecx
571325:	8a 4a 1a             	mov    0x1a(%edx),%cl
571328:	0f b7 52 18          	movzwl 0x18(%edx),%edx
57132c:	83 e1 01             	and    $0x1,%ecx
57132f:	83 e2 7f             	and    $0x7f,%edx
571332:	c1 e1 07             	shl    $0x7,%ecx
571335:	0b ca                	or     %edx,%ecx
571337:	8b 54 24 08          	mov    0x8(%esp),%edx
57133b:	3b ca                	cmp    %edx,%ecx
57133d:	74 08                	je     0x571347
57133f:	33 c0                	xor    %eax,%eax
571341:	89 44 24 04          	mov    %eax,0x4(%esp)
571345:	eb 0f                	jmp    0x571356
571347:	46                   	inc    %esi
571348:	83 c0 04             	add    $0x4,%eax
57134b:	8b 4b 18             	mov    0x18(%ebx),%ecx
57134e:	0f b7 51 10          	movzwl 0x10(%ecx),%edx
571352:	3b f2                	cmp    %edx,%esi
571354:	7c cb                	jl     0x571321
571356:	8b 44 24 04          	mov    0x4(%esp),%eax
57135a:	85 c0                	test   %eax,%eax
57135c:	74 23                	je     0x571381
57135e:	8b 4c 24 08          	mov    0x8(%esp),%ecx
571362:	8b 44 24 08          	mov    0x8(%esp),%eax
571366:	c1 f9 07             	sar    $0x7,%ecx
571369:	83 e0 7f             	and    $0x7f,%eax
57136c:	83 e1 01             	and    $0x1,%ecx
57136f:	48                   	dec    %eax
571370:	c1 e1 07             	shl    $0x7,%ecx
571373:	8b 53 08             	mov    0x8(%ebx),%edx
571376:	0b c8                	or     %eax,%ecx
571378:	33 c0                	xor    %eax,%eax
57137a:	8a 42 1a             	mov    0x1a(%edx),%al
57137d:	3b c8                	cmp    %eax,%ecx
57137f:	75 12                	jne    0x571393
571381:	8b 54 24 04          	mov    0x4(%esp),%edx
571385:	85 d2                	test   %edx,%edx
571387:	75 15                	jne    0x57139e
571389:	8b 4b 08             	mov    0x8(%ebx),%ecx
57138c:	8a 41 1a             	mov    0x1a(%ecx),%al
57138f:	3c ff                	cmp    $0xff,%al
571391:	74 0b                	je     0x57139e
571393:	68 cb 14 6a 00       	push   $0x6a14cb
571398:	e8 b7 8b 00 00       	call   0x579f54
57139d:	59                   	pop    %ecx
57139e:	8b 53 08             	mov    0x8(%ebx),%edx
5713a1:	8a 4a 1b             	mov    0x1b(%edx),%cl
5713a4:	80 f9 07             	cmp    $0x7,%cl
5713a7:	74 10                	je     0x5713b9
5713a9:	68 f2 14 6a 00       	push   $0x6a14f2
5713ae:	e8 a1 8b 00 00       	call   0x579f54
5713b3:	59                   	pop    %ecx
5713b4:	e9 65 04 00 00       	jmp    0x57181e
5713b9:	8b 43 0c             	mov    0xc(%ebx),%eax
5713bc:	85 c0                	test   %eax,%eax
5713be:	0f 84 96 00 00 00    	je     0x57145a
5713c4:	66 8b 50 10          	mov    0x10(%eax),%dx
5713c8:	8b 4b 18             	mov    0x18(%ebx),%ecx
5713cb:	66 3b 51 10          	cmp    0x10(%ecx),%dx
5713cf:	74 0b                	je     0x5713dc
5713d1:	68 17 15 6a 00       	push   $0x6a1517
5713d6:	e8 79 8b 00 00       	call   0x579f54
5713db:	59                   	pop    %ecx
5713dc:	8b 44 24 04          	mov    0x4(%esp),%eax
5713e0:	85 c0                	test   %eax,%eax
5713e2:	75 6b                	jne    0x57144f
5713e4:	33 f6                	xor    %esi,%esi
5713e6:	eb 5a                	jmp    0x571442
5713e8:	8b 40 14             	mov    0x14(%eax),%eax
5713eb:	33 c9                	xor    %ecx,%ecx
5713ed:	8b 14 b0             	mov    (%eax,%esi,4),%edx
5713f0:	8b 43 18             	mov    0x18(%ebx),%eax
5713f3:	8a 4a 1a             	mov    0x1a(%edx),%cl
5713f6:	8b 50 14             	mov    0x14(%eax),%edx
5713f9:	83 e1 01             	and    $0x1,%ecx
5713fc:	c1 e1 07             	shl    $0x7,%ecx
5713ff:	8b 04 b2             	mov    (%edx,%esi,4),%eax
571402:	0f b7 50 18          	movzwl 0x18(%eax),%edx
571406:	8b 43 0c             	mov    0xc(%ebx),%eax
571409:	83 e2 7f             	and    $0x7f,%edx
57140c:	0b ca                	or     %edx,%ecx
57140e:	8b 50 14             	mov    0x14(%eax),%edx
571411:	33 c0                	xor    %eax,%eax
571413:	8a 04 32             	mov    (%edx,%esi,1),%al
571416:	8b 53 0c             	mov    0xc(%ebx),%edx
571419:	c1 f8 07             	sar    $0x7,%eax
57141c:	83 e0 01             	and    $0x1,%eax
57141f:	8b 52 14             	mov    0x14(%edx),%edx
571422:	c1 e0 07             	shl    $0x7,%eax
571425:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
571429:	83 e2 7f             	and    $0x7f,%edx
57142c:	42                   	inc    %edx
57142d:	83 e2 7f             	and    $0x7f,%edx
571430:	0b c2                	or     %edx,%eax
571432:	3b c8                	cmp    %eax,%ecx