572376:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
57237a:	8b 13                	mov    (%ebx),%edx
57237c:	c1 ea 13             	shr    $0x13,%edx
57237f:	66 81 e2 ff 00       	and    $0xff,%dx
572384:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572388:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
57238e:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
572395:	e9 94 00 00 00       	jmp    0x57242e
57239a:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
57239f:	7c 6a                	jl     0x57240b
5723a1:	8b 43 18             	mov    0x18(%ebx),%eax
5723a4:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5723a8:	75 57                	jne    0x572401
5723aa:	8b 73 18             	mov    0x18(%ebx),%esi
5723ad:	8b 7e 40             	mov    0x40(%esi),%edi
5723b0:	85 ff                	test   %edi,%edi
5723b2:	7c 13                	jl     0x5723c7
5723b4:	8b 46 3c             	mov    0x3c(%esi),%eax
5723b7:	3b f8                	cmp    %eax,%edi
5723b9:	7f 0c                	jg     0x5723c7
5723bb:	8b 53 18             	mov    0x18(%ebx),%edx
5723be:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5723c2:	83 c9 ff             	or     $0xffffffff,%ecx
5723c5:	eb 3d                	jmp    0x572404
5723c7:	8b 43 18             	mov    0x18(%ebx),%eax
5723ca:	83 48 04 20          	orl    $0x20,0x4(%eax)
5723ce:	8b 53 18             	mov    0x18(%ebx),%edx
5723d1:	ff 4a 1c             	decl   0x1c(%edx)
5723d4:	79 11                	jns    0x5723e7
5723d6:	33 d2                	xor    %edx,%edx
5723d8:	8b 43 18             	mov    0x18(%ebx),%eax
5723db:	8a 53 1c             	mov    0x1c(%ebx),%dl
5723de:	e8 35 6a 00 00       	call   0x578e18
5723e3:	8b c8                	mov    %eax,%ecx
5723e5:	eb 1d                	jmp    0x572404
5723e7:	8b 43 18             	mov    0x18(%ebx),%eax
5723ea:	ff 40 3c             	incl   0x3c(%eax)
5723ed:	8b 53 18             	mov    0x18(%ebx),%edx
5723f0:	8b 4a 18             	mov    0x18(%edx),%ecx
5723f3:	ff 42 18             	incl   0x18(%edx)
5723f6:	8a 43 1c             	mov    0x1c(%ebx),%al
5723f9:	88 01                	mov    %al,(%ecx)
5723fb:	33 c9                	xor    %ecx,%ecx
5723fd:	8a c8                	mov    %al,%cl
5723ff:	eb 03                	jmp    0x572404
572401:	83 c9 ff             	or     $0xffffffff,%ecx
572404:	41                   	inc    %ecx
572405:	75 04                	jne    0x57240b
572407:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57240b:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
57240f:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572413:	8b 13                	mov    (%ebx),%edx
572415:	c1 ea 14             	shr    $0x14,%edx
572418:	66 81 e2 ff 00       	and    $0xff,%dx
57241d:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572421:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572427:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
57242e:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
572432:	0f 84 5b fd ff ff    	je     0x572193
572438:	8b 43 20             	mov    0x20(%ebx),%eax
57243b:	85 c0                	test   %eax,%eax
57243d:	74 05                	je     0x572444
57243f:	83 c8 ff             	or     $0xffffffff,%eax
572442:	eb 02                	jmp    0x572446
572444:	33 c0                	xor    %eax,%eax
572446:	5f                   	pop    %edi
572447:	5e                   	pop    %esi
572448:	5b                   	pop    %ebx
572449:	c3                   	ret
57244a:	90                   	nop
57244b:	90                   	nop
57244c:	53                   	push   %ebx
57244d:	8b d8                	mov    %eax,%ebx
57244f:	56                   	push   %esi
572450:	57                   	push   %edi
572451:	8b 43 14             	mov    0x14(%ebx),%eax
572454:	8b 4b 04             	mov    0x4(%ebx),%ecx
572457:	8b 00                	mov    (%eax),%eax
572459:	0f b7 10             	movzwl (%eax),%edx
57245c:	3b d1                	cmp    %ecx,%edx
57245e:	76 05                	jbe    0x572465
572460:	89 53 04             	mov    %edx,0x4(%ebx)
572463:	eb 05                	jmp    0x57246a
572465:	0f b7 10             	movzwl (%eax),%edx
572468:	01 13                	add    %edx,(%ebx)
57246a:	8b 4b 14             	mov    0x14(%ebx),%ecx
57246d:	8b 40 04             	mov    0x4(%eax),%eax
572470:	89 01                	mov    %eax,(%ecx)
572472:	d1 63 04             	shll   $1,0x4(%ebx)
572475:	d1 23                	shll   $1,(%ebx)
572477:	ff 4b 08             	decl   0x8(%ebx)
57247a:	0f 85 8d 02 00 00    	jne    0x57270d
572480:	66 81 7b 1c ff 00    	cmpw   $0xff,0x1c(%ebx)
572486:	0f 84 ed 01 00 00    	je     0x572679
57248c:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
572490:	0f 84 4a 01 00 00    	je     0x5725e0
572496:	66 ff 43 1c          	incw   0x1c(%ebx)
57249a:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
57249e:	66 3d ff 00          	cmp    $0xff,%ax
5724a2:	0f 85 9f 00 00 00    	jne    0x572547
5724a8:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
5724ae:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5724b3:	7c 6a                	jl     0x57251f
5724b5:	8b 53 18             	mov    0x18(%ebx),%edx
5724b8:	f6 42 08 07          	testb  $0x7,0x8(%edx)
5724bc:	75 57                	jne    0x572515
5724be:	8b 73 18             	mov    0x18(%ebx),%esi
5724c1:	8b 7e 40             	mov    0x40(%esi),%edi
5724c4:	85 ff                	test   %edi,%edi
5724c6:	7c 13                	jl     0x5724db
5724c8:	8b 46 3c             	mov    0x3c(%esi),%eax
5724cb:	3b f8                	cmp    %eax,%edi
5724cd:	7f 0c                	jg     0x5724db
5724cf:	8b 53 18             	mov    0x18(%ebx),%edx
5724d2:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5724d6:	83 c9 ff             	or     $0xffffffff,%ecx
5724d9:	eb 3d                	jmp    0x572518
5724db:	8b 43 18             	mov    0x18(%ebx),%eax
5724de:	83 48 04 20          	orl    $0x20,0x4(%eax)
5724e2:	8b 53 18             	mov    0x18(%ebx),%edx
5724e5:	ff 4a 1c             	decl   0x1c(%edx)
5724e8:	79 11                	jns    0x5724fb
5724ea:	33 d2                	xor    %edx,%edx
5724ec:	8b 43 18             	mov    0x18(%ebx),%eax
5724ef:	8a 53 1c             	mov    0x1c(%ebx),%dl
5724f2:	e8 21 69 00 00       	call   0x578e18
5724f7:	8b c8                	mov    %eax,%ecx
5724f9:	eb 1d                	jmp    0x572518
5724fb:	8b 43 18             	mov    0x18(%ebx),%eax
5724fe:	ff 40 3c             	incl   0x3c(%eax)
572501:	8b 53 18             	mov    0x18(%ebx),%edx
572504:	8b 4a 18             	mov    0x18(%edx),%ecx
572507:	ff 42 18             	incl   0x18(%edx)
57250a:	8a 43 1c             	mov    0x1c(%ebx),%al
57250d:	88 01                	mov    %al,(%ecx)
57250f:	33 c9                	xor    %ecx,%ecx
572511:	8a c8                	mov    %al,%cl
572513:	eb 03                	jmp    0x572518
572515:	83 c9 ff             	or     $0xffffffff,%ecx
572518:	41                   	inc    %ecx
572519:	75 04                	jne    0x57251f
57251b:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57251f:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572523:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572527:	8b 13                	mov    (%ebx),%edx
572529:	c1 ea 14             	shr    $0x14,%edx
57252c:	66 81 e2 ff 00       	and    $0xff,%dx
572531:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572535:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
57253b:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572542:	e9 c6 01 00 00       	jmp    0x57270d
572547:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
57254c:	7c 6a                	jl     0x5725b8
57254e:	8b 43 18             	mov    0x18(%ebx),%eax
572551:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572555:	75 57                	jne    0x5725ae
572557:	8b 73 18             	mov    0x18(%ebx),%esi
57255a:	8b 7e 40             	mov    0x40(%esi),%edi
57255d:	85 ff                	test   %edi,%edi
57255f:	7c 13                	jl     0x572574
572561:	8b 46 3c             	mov    0x3c(%esi),%eax
572564:	3b f8                	cmp    %eax,%edi
572566:	7f 0c                	jg     0x572574
572568:	8b 53 18             	mov    0x18(%ebx),%edx
57256b:	83 4a 08 04          	orl    $0x4,0x8(%edx)
57256f:	83 c9 ff             	or     $0xffffffff,%ecx
572572:	eb 3d                	jmp    0x5725b1
572574:	8b 43 18             	mov    0x18(%ebx),%eax
572577:	83 48 04 20          	orl    $0x20,0x4(%eax)
57257b:	8b 53 18             	mov    0x18(%ebx),%edx
57257e:	ff 4a 1c             	decl   0x1c(%edx)
572581:	79 11                	jns    0x572594
572583:	33 d2                	xor    %edx,%edx
572585:	8b 43 18             	mov    0x18(%ebx),%eax
572588:	8a 53 1c             	mov    0x1c(%ebx),%dl
57258b:	e8 88 68 00 00       	call   0x578e18
572590:	8b c8                	mov    %eax,%ecx
572592:	eb 1d                	jmp    0x5725b1
572594:	8b 43 18             	mov    0x18(%ebx),%eax
572597:	ff 40 3c             	incl   0x3c(%eax)
57259a:	8b 53 18             	mov    0x18(%ebx),%edx
57259d:	8b 4a 18             	mov    0x18(%edx),%ecx
5725a0:	ff 42 18             	incl   0x18(%edx)
5725a3:	8a 43 1c             	mov    0x1c(%ebx),%al
5725a6:	88 01                	mov    %al,(%ecx)
5725a8:	33 c9                	xor    %ecx,%ecx
5725aa:	8a c8                	mov    %al,%cl
5725ac:	eb 03                	jmp    0x5725b1
5725ae:	83 c9 ff             	or     $0xffffffff,%ecx
5725b1:	41                   	inc    %ecx
5725b2:	75 04                	jne    0x5725b8
5725b4:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5725b8:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5725bc:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5725c0:	8b 13                	mov    (%ebx),%edx
5725c2:	c1 ea 13             	shr    $0x13,%edx
5725c5:	66 81 e2 ff 00       	and    $0xff,%dx
5725ca:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5725ce:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
5725d4:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
5725db:	e9 2d 01 00 00       	jmp    0x57270d
5725e0:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5725e5:	7c 6a                	jl     0x572651
5725e7:	8b 43 18             	mov    0x18(%ebx),%eax
5725ea:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5725ee:	75 57                	jne    0x572647
5725f0:	8b 73 18             	mov    0x18(%ebx),%esi
5725f3:	8b 7e 40             	mov    0x40(%esi),%edi
5725f6:	85 ff                	test   %edi,%edi
5725f8:	7c 13                	jl     0x57260d
5725fa:	8b 46 3c             	mov    0x3c(%esi),%eax
5725fd:	3b f8                	cmp    %eax,%edi
5725ff:	7f 0c                	jg     0x57260d
572601:	8b 53 18             	mov    0x18(%ebx),%edx
572604:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572608:	83 c9 ff             	or     $0xffffffff,%ecx
57260b:	eb 3d                	jmp    0x57264a
57260d:	8b 43 18             	mov    0x18(%ebx),%eax
572610:	83 48 04 20          	orl    $0x20,0x4(%eax)
572614:	8b 53 18             	mov    0x18(%ebx),%edx
572617:	ff 4a 1c             	decl   0x1c(%edx)
57261a:	79 11                	jns    0x57262d
57261c:	33 d2                	xor    %edx,%edx
57261e:	8b 43 18             	mov    0x18(%ebx),%eax
572621:	8a 53 1c             	mov    0x1c(%ebx),%dl
572624:	e8 ef 67 00 00       	call   0x578e18
572629:	8b c8                	mov    %eax,%ecx
57262b:	eb 1d                	jmp    0x57264a
57262d:	8b 43 18             	mov    0x18(%ebx),%eax
572630:	ff 40 3c             	incl   0x3c(%eax)
572633:	8b 53 18             	mov    0x18(%ebx),%edx
572636:	8b 4a 18             	mov    0x18(%edx),%ecx
572639:	ff 42 18             	incl   0x18(%edx)
57263c:	8a 43 1c             	mov    0x1c(%ebx),%al
57263f:	88 01                	mov    %al,(%ecx)
572641:	33 c9                	xor    %ecx,%ecx
572643:	8a c8                	mov    %al,%cl
572645:	eb 03                	jmp    0x57264a
572647:	83 c9 ff             	or     $0xffffffff,%ecx
57264a:	41                   	inc    %ecx
57264b:	75 04                	jne    0x572651
57264d:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572651:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572655:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572659:	8b 13                	mov    (%ebx),%edx
57265b:	c1 ea 13             	shr    $0x13,%edx
57265e:	66 81 e2 ff 00       	and    $0xff,%dx
572663:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572667:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
57266d:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
572674:	e9 94 00 00 00       	jmp    0x57270d
572679:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
57267e:	7c 6a                	jl     0x5726ea
572680:	8b 43 18             	mov    0x18(%ebx),%eax
572683:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572687:	75 57                	jne    0x5726e0
572689:	8b 73 18             	mov    0x18(%ebx),%esi
57268c:	8b 7e 40             	mov    0x40(%esi),%edi
57268f:	85 ff                	test   %edi,%edi
572691:	7c 13                	jl     0x5726a6
572693:	8b 46 3c             	mov    0x3c(%esi),%eax
572696:	3b f8                	cmp    %eax,%edi
572698:	7f 0c                	jg     0x5726a6
57269a:	8b 53 18             	mov    0x18(%ebx),%edx
57269d:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5726a1:	83 c9 ff             	or     $0xffffffff,%ecx
5726a4:	eb 3d                	jmp    0x5726e3
5726a6:	8b 43 18             	mov    0x18(%ebx),%eax
5726a9:	83 48 04 20          	orl    $0x20,0x4(%eax)
5726ad:	8b 53 18             	mov    0x18(%ebx),%edx
5726b0:	ff 4a 1c             	decl   0x1c(%edx)
5726b3:	79 11                	jns    0x5726c6
5726b5:	33 d2                	xor    %edx,%edx
5726b7:	8b 43 18             	mov    0x18(%ebx),%eax
5726ba:	8a 53 1c             	mov    0x1c(%ebx),%dl
5726bd:	e8 56 67 00 00       	call   0x578e18
5726c2:	8b c8                	mov    %eax,%ecx
5726c4:	eb 1d                	jmp    0x5726e3
5726c6:	8b 43 18             	mov    0x18(%ebx),%eax
5726c9:	ff 40 3c             	incl   0x3c(%eax)
5726cc:	8b 53 18             	mov    0x18(%ebx),%edx
5726cf:	8b 4a 18             	mov    0x18(%edx),%ecx
5726d2:	ff 42 18             	incl   0x18(%edx)
5726d5:	8a 43 1c             	mov    0x1c(%ebx),%al
5726d8:	88 01                	mov    %al,(%ecx)
5726da:	33 c9                	xor    %ecx,%ecx
5726dc:	8a c8                	mov    %al,%cl
5726de:	eb 03                	jmp    0x5726e3
5726e0:	83 c9 ff             	or     $0xffffffff,%ecx
5726e3:	41                   	inc    %ecx
5726e4:	75 04                	jne    0x5726ea
5726e6:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5726ea:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5726ee:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5726f2:	8b 13                	mov    (%ebx),%edx
5726f4:	c1 ea 14             	shr    $0x14,%edx
5726f7:	66 81 e2 ff 00       	and    $0xff,%dx
5726fc:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572700:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572706:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
57270d:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
572711:	0f 84 5b fd ff ff    	je     0x572472
572717:	8b 43 20             	mov    0x20(%ebx),%eax
57271a:	85 c0                	test   %eax,%eax
57271c:	74 05                	je     0x572723
57271e:	83 c8 ff             	or     $0xffffffff,%eax
572721:	eb 02                	jmp    0x572725
572723:	33 c0                	xor    %eax,%eax
572725:	5f                   	pop    %edi
572726:	5e                   	pop    %esi
572727:	5b                   	pop    %ebx
572728:	c3                   	ret
572729:	90                   	nop
57272a:	90                   	nop
57272b:	90                   	nop
57272c:	53                   	push   %ebx
57272d:	56                   	push   %esi
57272e:	57                   	push   %edi
57272f:	8b d8                	mov    %eax,%ebx
572731:	8b 43 14             	mov    0x14(%ebx),%eax
572734:	8b 00                	mov    (%eax),%eax
572736:	0f b7 10             	movzwl (%eax),%edx
572739:	29 53 04             	sub    %edx,0x4(%ebx)
57273c:	0f b7 10             	movzwl (%eax),%edx
57273f:	8b 4b 04             	mov    0x4(%ebx),%ecx
572742:	3b d1                	cmp    %ecx,%edx
572744:	76 04                	jbe    0x57274a
572746:	01 13                	add    %edx,(%ebx)
572748:	eb 06                	jmp    0x572750
57274a:	0f b7 10             	movzwl (%eax),%edx
57274d:	89 53 04             	mov    %edx,0x4(%ebx)
572750:	8b 4b 14             	mov    0x14(%ebx),%ecx
572753:	8b 40 08             	mov    0x8(%eax),%eax
572756:	89 01                	mov    %eax,(%ecx)
572758:	d1 63 04             	shll   $1,0x4(%ebx)
57275b:	d1 23                	shll   $1,(%ebx)
57275d:	ff 4b 08             	decl   0x8(%ebx)
572760:	0f 85 8d 02 00 00    	jne    0x5729f3
572766:	66 81 7b 1c ff 00    	cmpw   $0xff,0x1c(%ebx)
57276c:	0f 84 ed 01 00 00    	je     0x57295f
572772:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
572776:	0f 84 4a 01 00 00    	je     0x5728c6
57277c:	66 ff 43 1c          	incw   0x1c(%ebx)
572780:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572784:	66 3d ff 00          	cmp    $0xff,%ax
572788:	0f 85 9f 00 00 00    	jne    0x57282d
57278e:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
572794:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572799:	7c 6a                	jl     0x572805
57279b:	8b 53 18             	mov    0x18(%ebx),%edx