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
571434:	74 0b                	je     0x571441
571436:	68 3f 15 6a 00       	push   $0x6a153f
57143b:	e8 14 8b 00 00       	call   0x579f54
571440:	59                   	pop    %ecx
571441:	46                   	inc    %esi
571442:	8b 43 18             	mov    0x18(%ebx),%eax
571445:	0f b7 48 10          	movzwl 0x10(%eax),%ecx
571449:	3b f1                	cmp    %ecx,%esi
57144b:	7c 9b                	jl     0x5713e8
57144d:	eb 0b                	jmp    0x57145a
57144f:	68 66 15 6a 00       	push   $0x6a1566
571454:	e8 fb 8a 00 00       	call   0x579f54
571459:	59                   	pop    %ecx
57145a:	8b 43 14             	mov    0x14(%ebx),%eax
57145d:	85 c0                	test   %eax,%eax
57145f:	75 10                	jne    0x571471
571461:	68 85 15 6a 00       	push   $0x6a1585
571466:	e8 e9 8a 00 00       	call   0x579f54
57146b:	59                   	pop    %ecx
57146c:	e9 ad 03 00 00       	jmp    0x57181e
571471:	8b 53 14             	mov    0x14(%ebx),%edx
571474:	8a 4a 10             	mov    0x10(%edx),%cl
571477:	fe c9                	dec    %cl
571479:	74 06                	je     0x571481
57147b:	fe c9                	dec    %cl
57147d:	74 15                	je     0x571494
57147f:	eb 67                	jmp    0x5714e8
571481:	8b 43 14             	mov    0x14(%ebx),%eax
571484:	83 c0 10             	add    $0x10,%eax
571487:	e8 5c 05 00 00       	call   0x5719e8
57148c:	8b 53 18             	mov    0x18(%ebx),%edx
57148f:	89 42 18             	mov    %eax,0x18(%edx)
571492:	eb 54                	jmp    0x5714e8
571494:	8b 4b 14             	mov    0x14(%ebx),%ecx
571497:	8b 41 1c             	mov    0x1c(%ecx),%eax
57149a:	3d 80 00 00 00       	cmp    $0x80,%eax
57149f:	7d 05                	jge    0x5714a6
5714a1:	e8 a2 96 fe ff       	call   0x55ab48
5714a6:	8b 53 14             	mov    0x14(%ebx),%edx
5714a9:	33 c9                	xor    %ecx,%ecx
5714ab:	8b 42 18             	mov    0x18(%edx),%eax
5714ae:	33 d2                	xor    %edx,%edx
5714b0:	0f b6 70 10          	movzbl 0x10(%eax),%esi
5714b4:	8a 50 11             	mov    0x11(%eax),%dl
5714b7:	8a 48 12             	mov    0x12(%eax),%cl
5714ba:	0f b6 40 13          	movzbl 0x13(%eax),%eax
5714be:	c1 e2 10             	shl    $0x10,%edx
5714c1:	c1 e6 18             	shl    $0x18,%esi
5714c4:	c1 e1 08             	shl    $0x8,%ecx
5714c7:	0b f2                	or     %edx,%esi
5714c9:	0b f1                	or     %ecx,%esi
5714cb:	0b f0                	or     %eax,%esi
5714cd:	56                   	push   %esi
5714ce:	68 99 15 6a 00       	push   $0x6a1599
5714d3:	e8 7c 8a 00 00       	call   0x579f54
5714d8:	83 c4 08             	add    $0x8,%esp
5714db:	8b c6                	mov    %esi,%eax
5714dd:	e8 32 05 00 00       	call   0x571a14
5714e2:	8b 53 18             	mov    0x18(%ebx),%edx
5714e5:	89 42 18             	mov    %eax,0x18(%edx)
5714e8:	8b 4b 10             	mov    0x10(%ebx),%ecx
5714eb:	85 c9                	test   %ecx,%ecx
5714ed:	74 1e                	je     0x57150d
5714ef:	8b 03                	mov    (%ebx),%eax
5714f1:	85 c0                	test   %eax,%eax
5714f3:	75 18                	jne    0x57150d
5714f5:	68 ae 15 6a 00       	push   $0x6a15ae
5714fa:	e8 55 8a 00 00       	call   0x579f54
5714ff:	59                   	pop    %ecx
571500:	8b 43 10             	mov    0x10(%ebx),%eax
571503:	e8 0c 25 00 00       	call   0x573a14
571508:	33 d2                	xor    %edx,%edx
57150a:	89 53 10             	mov    %edx,0x10(%ebx)
57150d:	8b 4b 10             	mov    0x10(%ebx),%ecx
571510:	85 c9                	test   %ecx,%ecx
571512:	75 1c                	jne    0x571530
571514:	8b 03                	mov    (%ebx),%eax
571516:	85 c0                	test   %eax,%eax
571518:	74 16                	je     0x571530
57151a:	68 e1 15 6a 00       	push   $0x6a15e1
57151f:	e8 30 8a 00 00       	call   0x579f54
571524:	59                   	pop    %ecx
571525:	8b 03                	mov    (%ebx),%eax
571527:	e8 e8 24 00 00       	call   0x573a14
57152c:	33 d2                	xor    %edx,%edx
57152e:	89 13                	mov    %edx,(%ebx)
571530:	8b 4b 10             	mov    0x10(%ebx),%ecx
571533:	85 c9                	test   %ecx,%ecx
571535:	74 09                	je     0x571540
571537:	8b 43 10             	mov    0x10(%ebx),%eax
57153a:	66 8b 50 10          	mov    0x10(%eax),%dx
57153e:	eb 07                	jmp    0x571547
571540:	8b 4b 18             	mov    0x18(%ebx),%ecx
571543:	66 8b 51 10          	mov    0x10(%ecx),%dx
571547:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
57154b:	8b 43 10             	mov    0x10(%ebx),%eax
57154e:	85 c0                	test   %eax,%eax
571550:	74 53                	je     0x5715a5
571552:	33 f6                	xor    %esi,%esi
571554:	eb 47                	jmp    0x57159d
571556:	8b 43 10             	mov    0x10(%ebx),%eax
571559:	8b 50 14             	mov    0x14(%eax),%edx
57155c:	8b 43 18             	mov    0x18(%ebx),%eax
57155f:	66 8b 0c b2          	mov    (%edx,%esi,4),%cx
571563:	66 3b 48 10          	cmp    0x10(%eax),%cx
571567:	72 10                	jb     0x571579
571569:	68 14 16 6a 00       	push   $0x6a1614
57156e:	e8 e1 89 00 00       	call   0x579f54
571573:	59                   	pop    %ecx
571574:	e9 a5 02 00 00       	jmp    0x57181e
571579:	8b 53 10             	mov    0x10(%ebx),%edx
57157c:	8b 4a 14             	mov    0x14(%edx),%ecx
57157f:	8b 13                	mov    (%ebx),%edx
571581:	8a 44 b1 03          	mov    0x3(%ecx,%esi,4),%al
571585:	8a 4a 12             	mov    0x12(%edx),%cl
571588:	3a c1                	cmp    %cl,%al
57158a:	72 10                	jb     0x57159c
57158c:	68 41 16 6a 00       	push   $0x6a1641
571591:	e8 be 89 00 00       	call   0x579f54
571596:	59                   	pop    %ecx
571597:	e9 82 02 00 00       	jmp    0x57181e
57159c:	46                   	inc    %esi
57159d:	0f b7 43 1c          	movzwl 0x1c(%ebx),%eax
5715a1:	3b f0                	cmp    %eax,%esi
5715a3:	7c b1                	jl     0x571556
5715a5:	0f b7 43 1c          	movzwl 0x1c(%ebx),%eax
5715a9:	03 c0                	add    %eax,%eax
5715ab:	e8 cc 6d 00 00       	call   0x57837c
5715b0:	89 43 20             	mov    %eax,0x20(%ebx)
5715b3:	85 c0                	test   %eax,%eax
5715b5:	75 10                	jne    0x5715c7
5715b7:	68 60 16 6a 00       	push   $0x6a1660
5715bc:	e8 93 89 00 00       	call   0x579f54
5715c1:	59                   	pop    %ecx
5715c2:	e9 57 02 00 00       	jmp    0x57181e
5715c7:	8b 53 10             	mov    0x10(%ebx),%edx
5715ca:	85 d2                	test   %edx,%edx
5715cc:	75 19                	jne    0x5715e7
5715ce:	33 f6                	xor    %esi,%esi
5715d0:	eb 08                	jmp    0x5715da
5715d2:	8b 43 20             	mov    0x20(%ebx),%eax
5715d5:	66 89 34 70          	mov    %si,(%eax,%esi,2)
5715d9:	46                   	inc    %esi
5715da:	0f b7 53 1c          	movzwl 0x1c(%ebx),%edx
5715de:	3b f2                	cmp    %edx,%esi
5715e0:	7c f0                	jl     0x5715d2
5715e2:	e9 23 01 00 00       	jmp    0x57170a
5715e7:	8b 4b 10             	mov    0x10(%ebx),%ecx
5715ea:	83 c1 10             	add    $0x10,%ecx
5715ed:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
5715f1:	8b 3b                	mov    (%ebx),%edi
5715f3:	8b 43 04             	mov    0x4(%ebx),%eax
5715f6:	83 c0 10             	add    $0x10,%eax
5715f9:	83 c7 10             	add    $0x10,%edi
5715fc:	33 d2                	xor    %edx,%edx
5715fe:	89 44 24 10          	mov    %eax,0x10(%esp)
571602:	89 54 24 14          	mov    %edx,0x14(%esp)
571606:	e9 ec 00 00 00       	jmp    0x5716f7
57160b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
57160f:	8b 54 24 14          	mov    0x14(%esp),%edx
571613:	c1 e2 02             	shl    $0x2,%edx
571616:	8b 41 04             	mov    0x4(%ecx),%eax
571619:	03 c2                	add    %edx,%eax
57161b:	89 44 24 24          	mov    %eax,0x24(%esp)
57161f:	8b 4c 24 24          	mov    0x24(%esp),%ecx
571623:	8a 41 02             	mov    0x2(%ecx),%al
571626:	84 c0                	test   %al,%al
571628:	75 15                	jne    0x57163f
57162a:	8b 53 20             	mov    0x20(%ebx),%edx
57162d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
571631:	66 8b 44 24 14       	mov    0x14(%esp),%ax
571636:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
57163a:	e9 b4 00 00 00       	jmp    0x5716f3
57163f:	8b 54 24 24          	mov    0x24(%esp),%edx
571643:	8a 4a 02             	mov    0x2(%edx),%cl