569341:	b9 01 00 00 00       	mov    $0x1,%ecx
569346:	eb 02                	jmp    0x56934a
569348:	33 c9                	xor    %ecx,%ecx
56934a:	89 4d 98             	mov    %ecx,-0x68(%ebp)
56934d:	8b 43 14             	mov    0x14(%ebx),%eax
569350:	8b 10                	mov    (%eax),%edx
569352:	0f b7 42 02          	movzwl 0x2(%edx),%eax
569356:	8b 55 9c             	mov    -0x64(%ebp),%edx
569359:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
56935f:	c1 fa 04             	sar    $0x4,%edx
569362:	8b 0c 95 14 c4 6a 00 	mov    0x6ac414(,%edx,4),%ecx
569369:	8b 55 98             	mov    -0x68(%ebp),%edx
56936c:	33 ca                	xor    %edx,%ecx
56936e:	3b c1                	cmp    %ecx,%eax
569370:	75 28                	jne    0x56939a
569372:	8b 43 14             	mov    0x14(%ebx),%eax
569375:	8b 08                	mov    (%eax),%ecx
569377:	0f b7 01             	movzwl (%ecx),%eax
56937a:	29 43 04             	sub    %eax,0x4(%ebx)
56937d:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
569381:	75 09                	jne    0x56938c
569383:	8b c3                	mov    %ebx,%eax
569385:	e8 c2 90 00 00       	call   0x57244c
56938a:	eb 15                	jmp    0x5693a1
56938c:	8b 53 14             	mov    0x14(%ebx),%edx
56938f:	8b 0a                	mov    (%edx),%ecx
569391:	0f b7 01             	movzwl (%ecx),%eax
569394:	01 03                	add    %eax,(%ebx)
569396:	8b 03                	mov    (%ebx),%eax
569398:	eb 07                	jmp    0x5693a1
56939a:	8b c3                	mov    %ebx,%eax
56939c:	e8 8b 93 00 00       	call   0x57272c
5693a1:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5693a4:	c1 e2 02             	shl    $0x2,%edx
5693a7:	52                   	push   %edx
5693a8:	8b d6                	mov    %esi,%edx
5693aa:	58                   	pop    %eax
5693ab:	2b d0                	sub    %eax,%edx
5693ad:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5693b0:	c1 e0 02             	shl    $0x2,%eax
5693b3:	03 c6                	add    %esi,%eax
5693b5:	eb 33                	jmp    0x5693ea
5693b7:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
5693bb:	83 48 04 08          	orl    $0x8,0x4(%eax)
5693bf:	8b 55 98             	mov    -0x68(%ebp),%edx
5693c2:	85 d2                	test   %edx,%edx
5693c4:	74 14                	je     0x5693da
5693c6:	81 08 10 01 00 00    	orl    $0x110,(%eax)
5693cc:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
5693d3:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
5693da:	83 08 10             	orl    $0x10,(%eax)
5693dd:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
5693e1:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
5693e8:	eb 44                	jmp    0x56942e
5693ea:	83 4a fc 02          	orl    $0x2,-0x4(%edx)
5693ee:	83 4a 04 04          	orl    $0x4,0x4(%edx)
5693f2:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
5693f6:	83 48 04 08          	orl    $0x8,0x4(%eax)
5693fa:	8b 4d 98             	mov    -0x68(%ebp),%ecx
5693fd:	85 c9                	test   %ecx,%ecx
5693ff:	74 1c                	je     0x56941d
569401:	81 0a 40 04 00 00    	orl    $0x440,(%edx)
569407:	81 08 10 01 00 00    	orl    $0x110,(%eax)
56940d:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
569414:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
56941b:	eb 11                	jmp    0x56942e
56941d:	83 0a 40             	orl    $0x40,(%edx)
569420:	83 08 10             	orl    $0x10,(%eax)
569423:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
569427:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
56942e:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
569434:	81 26 ff bf ff ff    	andl   $0xffffbfff,(%esi)
56943a:	ff 4d f0             	decl   -0x10(%ebp)
56943d:	83 45 bc 04          	addl   $0x4,-0x44(%ebp)
569441:	83 45 b8 04          	addl   $0x4,-0x48(%ebp)
569445:	8b 45 f0             	mov    -0x10(%ebp),%eax
569448:	85 c0                	test   %eax,%eax
56944a:	0f 8f c3 f4 ff ff    	jg     0x568913
569450:	83 6d f4 04          	subl   $0x4,-0xc(%ebp)
569454:	8b 55 cc             	mov    -0x34(%ebp),%edx
569457:	c1 e2 02             	shl    $0x2,%edx
56945a:	01 55 c4             	add    %edx,-0x3c(%ebp)
56945d:	8b 4d c8             	mov    -0x38(%ebp),%ecx
569460:	c1 e1 02             	shl    $0x2,%ecx
569463:	01 4d c0             	add    %ecx,-0x40(%ebp)
569466:	8b 45 f4             	mov    -0xc(%ebp),%eax
569469:	85 c0                	test   %eax,%eax
56946b:	0f 8f 70 f4 ff ff    	jg     0x5688e1
569471:	8b 55 18             	mov    0x18(%ebp),%edx
569474:	85 d2                	test   %edx,%edx
569476:	0f 84 f5 00 00 00    	je     0x569571
56947c:	8b 4b 10             	mov    0x10(%ebx),%ecx
56947f:	83 c1 48             	add    $0x48,%ecx
569482:	89 4b 14             	mov    %ecx,0x14(%ebx)
569485:	8b 43 14             	mov    0x14(%ebx),%eax
569488:	8b 10                	mov    (%eax),%edx
56948a:	66 83 7a 02 01       	cmpw   $0x1,0x2(%edx)
56948f:	75 28                	jne    0x5694b9
569491:	8b 4b 14             	mov    0x14(%ebx),%ecx
569494:	8b 01                	mov    (%ecx),%eax
569496:	0f b7 10             	movzwl (%eax),%edx
569499:	29 53 04             	sub    %edx,0x4(%ebx)
56949c:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5694a0:	75 09                	jne    0x5694ab
5694a2:	8b c3                	mov    %ebx,%eax
5694a4:	e8 a3 8f 00 00       	call   0x57244c
5694a9:	eb 15                	jmp    0x5694c0
5694ab:	8b 53 14             	mov    0x14(%ebx),%edx
5694ae:	8b 0a                	mov    (%edx),%ecx
5694b0:	0f b7 01             	movzwl (%ecx),%eax
5694b3:	01 03                	add    %eax,(%ebx)
5694b5:	8b 03                	mov    (%ebx),%eax
5694b7:	eb 07                	jmp    0x5694c0
5694b9:	8b c3                	mov    %ebx,%eax
5694bb:	e8 6c 92 00 00       	call   0x57272c
5694c0:	8b 53 14             	mov    0x14(%ebx),%edx
5694c3:	8b 0a                	mov    (%edx),%ecx
5694c5:	66 83 79 02 00       	cmpw   $0x0,0x2(%ecx)
5694ca:	75 28                	jne    0x5694f4
5694cc:	8b 43 14             	mov    0x14(%ebx),%eax
5694cf:	8b 10                	mov    (%eax),%edx
5694d1:	0f b7 0a             	movzwl (%edx),%ecx
5694d4:	29 4b 04             	sub    %ecx,0x4(%ebx)
5694d7:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5694db:	75 09                	jne    0x5694e6
5694dd:	8b c3                	mov    %ebx,%eax
5694df:	e8 68 8f 00 00       	call   0x57244c
5694e4:	eb 15                	jmp    0x5694fb
5694e6:	8b 53 14             	mov    0x14(%ebx),%edx
5694e9:	8b 0a                	mov    (%edx),%ecx
5694eb:	0f b7 01             	movzwl (%ecx),%eax
5694ee:	01 03                	add    %eax,(%ebx)
5694f0:	8b 03                	mov    (%ebx),%eax
5694f2:	eb 07                	jmp    0x5694fb
5694f4:	8b c3                	mov    %ebx,%eax
5694f6:	e8 31 92 00 00       	call   0x57272c
5694fb:	8b 53 14             	mov    0x14(%ebx),%edx
5694fe:	8b 0a                	mov    (%edx),%ecx
569500:	66 83 79 02 01       	cmpw   $0x1,0x2(%ecx)
569505:	75 28                	jne    0x56952f
569507:	8b 43 14             	mov    0x14(%ebx),%eax
56950a:	8b 10                	mov    (%eax),%edx
56950c:	0f b7 0a             	movzwl (%edx),%ecx
56950f:	29 4b 04             	sub    %ecx,0x4(%ebx)
569512:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
569516:	75 09                	jne    0x569521
569518:	8b c3                	mov    %ebx,%eax
56951a:	e8 2d 8f 00 00       	call   0x57244c
56951f:	eb 15                	jmp    0x569536
569521:	8b 53 14             	mov    0x14(%ebx),%edx
569524:	8b 0a                	mov    (%edx),%ecx
569526:	0f b7 01             	movzwl (%ecx),%eax
569529:	01 03                	add    %eax,(%ebx)
56952b:	8b 03                	mov    (%ebx),%eax
56952d:	eb 07                	jmp    0x569536
56952f:	8b c3                	mov    %ebx,%eax
569531:	e8 f6 91 00 00       	call   0x57272c
569536:	8b 53 14             	mov    0x14(%ebx),%edx
569539:	8b 0a                	mov    (%edx),%ecx
56953b:	66 83 79 02 00       	cmpw   $0x0,0x2(%ecx)
569540:	75 28                	jne    0x56956a
569542:	8b 43 14             	mov    0x14(%ebx),%eax
569545:	8b 10                	mov    (%eax),%edx
569547:	0f b7 0a             	movzwl (%edx),%ecx
56954a:	29 4b 04             	sub    %ecx,0x4(%ebx)
56954d:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
569551:	75 09                	jne    0x56955c
569553:	8b c3                	mov    %ebx,%eax
569555:	e8 f2 8e 00 00       	call   0x57244c
56955a:	eb 15                	jmp    0x569571
56955c:	8b 53 14             	mov    0x14(%ebx),%edx
56955f:	8b 0a                	mov    (%edx),%ecx
569561:	0f b7 01             	movzwl (%ecx),%eax
569564:	01 03                	add    %eax,(%ebx)
569566:	8b 03                	mov    (%ebx),%eax
569568:	eb 07                	jmp    0x569571
56956a:	8b c3                	mov    %ebx,%eax
56956c:	e8 bb 91 00 00       	call   0x57272c
569571:	8b 55 0c             	mov    0xc(%ebp),%edx
569574:	85 d2                	test   %edx,%edx
569576:	74 0b                	je     0x569583
569578:	8b 55 0c             	mov    0xc(%ebp),%edx
56957b:	8b c3                	mov    %ebx,%eax
56957d:	4a                   	dec    %edx
56957e:	e8 8d 94 00 00       	call   0x572a10
569583:	8b 4b 20             	mov    0x20(%ebx),%ecx
569586:	85 c9                	test   %ecx,%ecx
569588:	74 05                	je     0x56958f
56958a:	83 c8 ff             	or     $0xffffffff,%eax
56958d:	eb 02                	jmp    0x569591
56958f:	33 c0                	xor    %eax,%eax
569591:	5f                   	pop    %edi
569592:	5e                   	pop    %esi
569593:	5b                   	pop    %ebx
569594:	8b e5                	mov    %ebp,%esp
569596:	5d                   	pop    %ebp
569597:	c2 18 00             	ret    $0x18
56959a:	8b c0                	mov    %eax,%eax
56959c:	53                   	push   %ebx
56959d:	56                   	push   %esi
56959e:	57                   	push   %edi
56959f:	55                   	push   %ebp
5695a0:	51                   	push   %ecx
5695a1:	89 14 24             	mov    %edx,(%esp)
5695a4:	8b d8                	mov    %eax,%ebx
5695a6:	8b 04 24             	mov    (%esp),%eax
5695a9:	85 c0                	test   %eax,%eax
5695ab:	0f 8d 17 01 00 00    	jge    0x5696c8
5695b1:	68 91 00 00 00       	push   $0x91
5695b6:	68 f3 f8 69 00       	push   $0x69f8f3
5695bb:	68 ec f8 69 00       	push   $0x69f8ec
5695c0:	e8 7b 15 ff ff       	call   0x55ab40
5695c5:	83 c4 0c             	add    $0xc,%esp
5695c8:	e9 fb 00 00 00       	jmp    0x5696c8
5695cd:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
5695d1:	75 17                	jne    0x5695ea
5695d3:	68 94 00 00 00       	push   $0x94
5695d8:	68 26 f9 69 00       	push   $0x69f926
5695dd:	68 ff f8 69 00       	push   $0x69f8ff
5695e2:	e8 59 15 ff ff       	call   0x55ab40
5695e7:	83 c4 0c             	add    $0xc,%esp
5695ea:	ff 4b 08             	decl   0x8(%ebx)
5695ed:	0f 89 b7 00 00 00    	jns    0x5696aa
5695f3:	66 8b 73 04          	mov    0x4(%ebx),%si
5695f7:	c1 e6 08             	shl    $0x8,%esi
5695fa:	66 81 e6 ff ff       	and    $0xffff,%si
5695ff:	66 89 73 04          	mov    %si,0x4(%ebx)
569603:	66 81 fe 00 ff       	cmp    $0xff00,%si
569608:	75 07                	jne    0x569611
56960a:	bf 06 00 00 00       	mov    $0x6,%edi
56960f:	eb 05                	jmp    0x569616
569611:	bf 07 00 00 00       	mov    $0x7,%edi
569616:	89 7b 08             	mov    %edi,0x8(%ebx)
569619:	8b cf                	mov    %edi,%ecx
56961b:	66 b8 01 00          	mov    $0x1,%ax
56961f:	66 d3 e0             	shl    %cl,%ax
569622:	66 09 43 04          	or     %ax,0x4(%ebx)
569626:	8b 53 0c             	mov    0xc(%ebx),%edx
569629:	f6 42 08 07          	testb  $0x7,0x8(%edx)
56962d:	75 69                	jne    0x569698
56962f:	8b 6b 0c             	mov    0xc(%ebx),%ebp
569632:	8b 45 40             	mov    0x40(%ebp),%eax
569635:	85 c0                	test   %eax,%eax
569637:	7c 19                	jl     0x569652
569639:	8b 53 0c             	mov    0xc(%ebx),%edx
56963c:	8b 4a 40             	mov    0x40(%edx),%ecx
56963f:	8b 45 3c             	mov    0x3c(%ebp),%eax
569642:	3b c8                	cmp    %eax,%ecx
569644:	7f 0c                	jg     0x569652
569646:	8b 53 0c             	mov    0xc(%ebx),%edx
569649:	83 4a 08 04          	orl    $0x4,0x8(%edx)
56964d:	83 c9 ff             	or     $0xffffffff,%ecx
569650:	eb 49                	jmp    0x56969b
569652:	8b 43 0c             	mov    0xc(%ebx),%eax
569655:	83 48 04 20          	orl    $0x20,0x4(%eax)
569659:	8b 53 0c             	mov    0xc(%ebx),%edx
56965c:	ff 4a 1c             	decl   0x1c(%edx)
56965f:	79 19                	jns    0x56967a
569661:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
569665:	c1 fa 08             	sar    $0x8,%edx
569668:	8b 43 0c             	mov    0xc(%ebx),%eax
56966b:	81 e2 ff 00 00 00    	and    $0xff,%edx
569671:	e8 a2 f7 00 00       	call   0x578e18
569676:	8b c8                	mov    %eax,%ecx
569678:	eb 21                	jmp    0x56969b
56967a:	8b 43 0c             	mov    0xc(%ebx),%eax
56967d:	ff 40 3c             	incl   0x3c(%eax)
569680:	8b 53 0c             	mov    0xc(%ebx),%edx
569683:	8b 4a 18             	mov    0x18(%edx),%ecx
569686:	ff 42 18             	incl   0x18(%edx)
569689:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
56968d:	c1 f8 08             	sar    $0x8,%eax
569690:	88 01                	mov    %al,(%ecx)
569692:	33 c9                	xor    %ecx,%ecx
569694:	8a c8                	mov    %al,%cl
569696:	eb 03                	jmp    0x56969b
569698:	83 c9 ff             	or     $0xffffffff,%ecx
56969b:	41                   	inc    %ecx
56969c:	75 05                	jne    0x5696a3
56969e:	83 c8 ff             	or     $0xffffffff,%eax
5696a1:	eb 1a                	jmp    0x5696bd
5696a3:	b8 01 00 00 00       	mov    $0x1,%eax
5696a8:	eb 13                	jmp    0x5696bd
5696aa:	66 ba 01 00          	mov    $0x1,%dx
5696ae:	8b 4b 08             	mov    0x8(%ebx),%ecx
5696b1:	66 d3 e2             	shl    %cl,%dx
5696b4:	66 09 53 04          	or     %dx,0x4(%ebx)
5696b8:	b8 01 00 00 00       	mov    $0x1,%eax
5696bd:	40                   	inc    %eax
5696be:	75 08                	jne    0x5696c8
5696c0:	83 c8 ff             	or     $0xffffffff,%eax
5696c3:	e9 f9 00 00 00       	jmp    0x5697c1
5696c8:	ff 0c 24             	decl   (%esp)
5696cb:	0f 89 fc fe ff ff    	jns    0x5695cd
5696d1:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
5696d5:	75 17                	jne    0x5696ee
5696d7:	68 98 00 00 00       	push   $0x98
5696dc:	68 59 f9 69 00       	push   $0x69f959
5696e1:	68 32 f9 69 00       	push   $0x69f932
5696e6:	e8 55 14 ff ff       	call   0x55ab40
5696eb:	83 c4 0c             	add    $0xc,%esp
5696ee:	ff 4b 08             	decl   0x8(%ebx)
5696f1:	0f 89 b2 00 00 00    	jns    0x5697a9
5696f7:	66 8b 73 04          	mov    0x4(%ebx),%si
5696fb:	c1 e6 08             	shl    $0x8,%esi
5696fe:	66 81 e6 ff ff       	and    $0xffff,%si
569703:	66 89 73 04          	mov    %si,0x4(%ebx)
569707:	66 81 fe 00 ff       	cmp    $0xff00,%si
56970c:	75 07                	jne    0x569715
56970e:	bf 06 00 00 00       	mov    $0x6,%edi
569713:	eb 05                	jmp    0x56971a
569715:	bf 07 00 00 00       	mov    $0x7,%edi
56971a:	89 7b 08             	mov    %edi,0x8(%ebx)
56971d:	8b cf                	mov    %edi,%ecx
56971f:	33 c0                	xor    %eax,%eax
569721:	66 d3 e0             	shl    %cl,%ax
569724:	66 09 43 04          	or     %ax,0x4(%ebx)
569728:	8b 53 0c             	mov    0xc(%ebx),%edx
56972b:	f6 42 08 07          	testb  $0x7,0x8(%edx)
56972f:	75 69                	jne    0x56979a
569731:	8b 6b 0c             	mov    0xc(%ebx),%ebp
569734:	8b 45 40             	mov    0x40(%ebp),%eax
569737:	85 c0                	test   %eax,%eax
569739:	7c 19                	jl     0x569754
56973b:	8b 53 0c             	mov    0xc(%ebx),%edx
56973e:	8b 4a 40             	mov    0x40(%edx),%ecx
569741:	8b 45 3c             	mov    0x3c(%ebp),%eax
569744:	3b c8                	cmp    %eax,%ecx
569746:	7f 0c                	jg     0x569754
569748:	8b 53 0c             	mov    0xc(%ebx),%edx
56974b:	83 4a 08 04          	orl    $0x4,0x8(%edx)
56974f:	83 c9 ff             	or     $0xffffffff,%ecx
569752:	eb 49                	jmp    0x56979d
569754:	8b 43 0c             	mov    0xc(%ebx),%eax
569757:	83 48 04 20          	orl    $0x20,0x4(%eax)
56975b:	8b 53 0c             	mov    0xc(%ebx),%edx
56975e:	ff 4a 1c             	decl   0x1c(%edx)
569761:	79 19                	jns    0x56977c
569763:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
569767:	c1 fa 08             	sar    $0x8,%edx
56976a:	8b 43 0c             	mov    0xc(%ebx),%eax
56976d:	81 e2 ff 00 00 00    	and    $0xff,%edx
569773:	e8 a0 f6 00 00       	call   0x578e18
569778:	8b c8                	mov    %eax,%ecx
56977a:	eb 21                	jmp    0x56979d
56977c:	8b 43 0c             	mov    0xc(%ebx),%eax
56977f:	ff 40 3c             	incl   0x3c(%eax)
569782:	8b 53 0c             	mov    0xc(%ebx),%edx
569785:	8b 4a 18             	mov    0x18(%edx),%ecx
569788:	ff 42 18             	incl   0x18(%edx)