573464:	83 4a 08 04          	orl    $0x4,0x8(%edx)
573468:	83 c9 ff             	or     $0xffffffff,%ecx
57346b:	eb 3d                	jmp    0x5734aa
57346d:	8b 43 18             	mov    0x18(%ebx),%eax
573470:	83 48 04 20          	orl    $0x20,0x4(%eax)
573474:	8b 53 18             	mov    0x18(%ebx),%edx
573477:	ff 4a 1c             	decl   0x1c(%edx)
57347a:	79 11                	jns    0x57348d
57347c:	33 d2                	xor    %edx,%edx
57347e:	8b 43 18             	mov    0x18(%ebx),%eax
573481:	8a 53 1c             	mov    0x1c(%ebx),%dl
573484:	e8 8f 59 00 00       	call   0x578e18
573489:	8b c8                	mov    %eax,%ecx
57348b:	eb 1d                	jmp    0x5734aa
57348d:	8b 43 18             	mov    0x18(%ebx),%eax
573490:	ff 40 3c             	incl   0x3c(%eax)
573493:	8b 53 18             	mov    0x18(%ebx),%edx
573496:	8b 4a 18             	mov    0x18(%edx),%ecx
573499:	ff 42 18             	incl   0x18(%edx)
57349c:	8a 43 1c             	mov    0x1c(%ebx),%al
57349f:	88 01                	mov    %al,(%ecx)
5734a1:	33 c9                	xor    %ecx,%ecx
5734a3:	8a c8                	mov    %al,%cl
5734a5:	eb 03                	jmp    0x5734aa
5734a7:	83 c9 ff             	or     $0xffffffff,%ecx
5734aa:	41                   	inc    %ecx
5734ab:	75 04                	jne    0x5734b1
5734ad:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5734b1:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5734b5:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5734b9:	8b 13                	mov    (%ebx),%edx
5734bb:	c1 ea 14             	shr    $0x14,%edx
5734be:	66 81 e2 ff 00       	and    $0xff,%dx
5734c3:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5734c7:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
5734cd:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
5734d4:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5734d8:	66 3d ff 00          	cmp    $0xff,%ax
5734dc:	0f 84 a5 02 00 00    	je     0x573787
5734e2:	66 3d ff 00          	cmp    $0xff,%ax
5734e6:	0f 84 00 02 00 00    	je     0x5736ec
5734ec:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
5734f0:	0f 84 5d 01 00 00    	je     0x573653
5734f6:	66 ff 43 1c          	incw   0x1c(%ebx)
5734fa:	66 8b 53 1c          	mov    0x1c(%ebx),%dx
5734fe:	66 81 fa ff 00       	cmp    $0xff,%dx
573503:	0f 85 a8 00 00 00    	jne    0x5735b1
573509:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
57350f:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
573514:	7c 73                	jl     0x573589
573516:	8b 4b 18             	mov    0x18(%ebx),%ecx
573519:	f6 41 08 07          	testb  $0x7,0x8(%ecx)
57351d:	75 60                	jne    0x57357f
57351f:	8b 43 18             	mov    0x18(%ebx),%eax
573522:	8b 50 40             	mov    0x40(%eax),%edx
573525:	85 d2                	test   %edx,%edx
573527:	7c 1c                	jl     0x573545
573529:	8b 4b 18             	mov    0x18(%ebx),%ecx
57352c:	8b 53 18             	mov    0x18(%ebx),%edx
57352f:	8b 41 40             	mov    0x40(%ecx),%eax
573532:	8b 4a 3c             	mov    0x3c(%edx),%ecx
573535:	3b c1                	cmp    %ecx,%eax
573537:	7f 0c                	jg     0x573545
573539:	8b 43 18             	mov    0x18(%ebx),%eax
57353c:	83 48 08 04          	orl    $0x4,0x8(%eax)
573540:	83 ca ff             	or     $0xffffffff,%edx
573543:	eb 3d                	jmp    0x573582
573545:	8b 4b 18             	mov    0x18(%ebx),%ecx
573548:	83 49 04 20          	orl    $0x20,0x4(%ecx)
57354c:	8b 43 18             	mov    0x18(%ebx),%eax
57354f:	ff 48 1c             	decl   0x1c(%eax)
573552:	79 11                	jns    0x573565
573554:	33 d2                	xor    %edx,%edx
573556:	8b 43 18             	mov    0x18(%ebx),%eax
573559:	8a 53 1c             	mov    0x1c(%ebx),%dl
57355c:	e8 b7 58 00 00       	call   0x578e18
573561:	8b d0                	mov    %eax,%edx
573563:	eb 1d                	jmp    0x573582
573565:	8b 4b 18             	mov    0x18(%ebx),%ecx
573568:	ff 41 3c             	incl   0x3c(%ecx)
57356b:	8b 43 18             	mov    0x18(%ebx),%eax
57356e:	8b 50 18             	mov    0x18(%eax),%edx
573571:	ff 40 18             	incl   0x18(%eax)
573574:	8a 4b 1c             	mov    0x1c(%ebx),%cl
573577:	88 0a                	mov    %cl,(%edx)
573579:	33 d2                	xor    %edx,%edx
57357b:	8a d1                	mov    %cl,%dl
57357d:	eb 03                	jmp    0x573582
57357f:	83 ca ff             	or     $0xffffffff,%edx
573582:	42                   	inc    %edx
573583:	75 04                	jne    0x573589
573585:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
573589:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
57358d:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
573591:	8b 0b                	mov    (%ebx),%ecx
573593:	c1 e9 14             	shr    $0x14,%ecx
573596:	66 81 e1 ff 00       	and    $0xff,%cx
57359b:	66 89 4b 1c          	mov    %cx,0x1c(%ebx)
57359f:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
5735a5:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
5735ac:	e9 d6 01 00 00       	jmp    0x573787
5735b1:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5735b6:	7c 73                	jl     0x57362b
5735b8:	8b 43 18             	mov    0x18(%ebx),%eax
5735bb:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5735bf:	75 60                	jne    0x573621
5735c1:	8b 53 18             	mov    0x18(%ebx),%edx
5735c4:	8b 4a 40             	mov    0x40(%edx),%ecx
5735c7:	85 c9                	test   %ecx,%ecx
5735c9:	7c 1c                	jl     0x5735e7
5735cb:	8b 43 18             	mov    0x18(%ebx),%eax
5735ce:	8b 4b 18             	mov    0x18(%ebx),%ecx
5735d1:	8b 50 40             	mov    0x40(%eax),%edx
5735d4:	8b 41 3c             	mov    0x3c(%ecx),%eax
5735d7:	3b d0                	cmp    %eax,%edx
5735d9:	7f 0c                	jg     0x5735e7
5735db:	8b 53 18             	mov    0x18(%ebx),%edx
5735de:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5735e2:	83 c9 ff             	or     $0xffffffff,%ecx
5735e5:	eb 3d                	jmp    0x573624
5735e7:	8b 43 18             	mov    0x18(%ebx),%eax
5735ea:	83 48 04 20          	orl    $0x20,0x4(%eax)
5735ee:	8b 53 18             	mov    0x18(%ebx),%edx
5735f1:	ff 4a 1c             	decl   0x1c(%edx)
5735f4:	79 11                	jns    0x573607
5735f6:	33 d2                	xor    %edx,%edx
5735f8:	8b 43 18             	mov    0x18(%ebx),%eax
5735fb:	8a 53 1c             	mov    0x1c(%ebx),%dl
5735fe:	e8 15 58 00 00       	call   0x578e18
573603:	8b c8                	mov    %eax,%ecx
573605:	eb 1d                	jmp    0x573624
573607:	8b 43 18             	mov    0x18(%ebx),%eax
57360a:	ff 40 3c             	incl   0x3c(%eax)
57360d:	8b 53 18             	mov    0x18(%ebx),%edx
573610:	8b 4a 18             	mov    0x18(%edx),%ecx
573613:	ff 42 18             	incl   0x18(%edx)
573616:	8a 43 1c             	mov    0x1c(%ebx),%al
573619:	88 01                	mov    %al,(%ecx)
57361b:	33 c9                	xor    %ecx,%ecx
57361d:	8a c8                	mov    %al,%cl
57361f:	eb 03                	jmp    0x573624
573621:	83 c9 ff             	or     $0xffffffff,%ecx
573624:	41                   	inc    %ecx
573625:	75 04                	jne    0x57362b
573627:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57362b:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
57362f:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
573633:	8b 13                	mov    (%ebx),%edx
573635:	c1 ea 13             	shr    $0x13,%edx
573638:	66 81 e2 ff 00       	and    $0xff,%dx
57363d:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
573641:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
573647:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
57364e:	e9 34 01 00 00       	jmp    0x573787
573653:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
573658:	7c 6a                	jl     0x5736c4
57365a:	8b 43 18             	mov    0x18(%ebx),%eax
57365d:	f6 40 08 07          	testb  $0x7,0x8(%eax)
573661:	75 57                	jne    0x5736ba
573663:	8b 73 18             	mov    0x18(%ebx),%esi
573666:	8b 7e 40             	mov    0x40(%esi),%edi
573669:	85 ff                	test   %edi,%edi
57366b:	7c 13                	jl     0x573680
57366d:	8b 46 3c             	mov    0x3c(%esi),%eax
573670:	3b f8                	cmp    %eax,%edi
573672:	7f 0c                	jg     0x573680
573674:	8b 53 18             	mov    0x18(%ebx),%edx
573677:	83 4a 08 04          	orl    $0x4,0x8(%edx)
57367b:	83 c9 ff             	or     $0xffffffff,%ecx
57367e:	eb 3d                	jmp    0x5736bd
573680:	8b 43 18             	mov    0x18(%ebx),%eax
573683:	83 48 04 20          	orl    $0x20,0x4(%eax)
573687:	8b 53 18             	mov    0x18(%ebx),%edx
57368a:	ff 4a 1c             	decl   0x1c(%edx)
57368d:	79 11                	jns    0x5736a0
57368f:	33 d2                	xor    %edx,%edx
573691:	8b 43 18             	mov    0x18(%ebx),%eax
573694:	8a 53 1c             	mov    0x1c(%ebx),%dl
573697:	e8 7c 57 00 00       	call   0x578e18
57369c:	8b c8                	mov    %eax,%ecx
57369e:	eb 1d                	jmp    0x5736bd
5736a0:	8b 43 18             	mov    0x18(%ebx),%eax
5736a3:	ff 40 3c             	incl   0x3c(%eax)
5736a6:	8b 53 18             	mov    0x18(%ebx),%edx
5736a9:	8b 4a 18             	mov    0x18(%edx),%ecx
5736ac:	ff 42 18             	incl   0x18(%edx)
5736af:	8a 43 1c             	mov    0x1c(%ebx),%al
5736b2:	88 01                	mov    %al,(%ecx)
5736b4:	33 c9                	xor    %ecx,%ecx
5736b6:	8a c8                	mov    %al,%cl
5736b8:	eb 03                	jmp    0x5736bd
5736ba:	83 c9 ff             	or     $0xffffffff,%ecx
5736bd:	41                   	inc    %ecx
5736be:	75 04                	jne    0x5736c4
5736c0:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5736c4:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5736c8:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5736cc:	8b 13                	mov    (%ebx),%edx
5736ce:	c1 ea 13             	shr    $0x13,%edx
5736d1:	66 81 e2 ff 00       	and    $0xff,%dx
5736d6:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5736da:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
5736e0:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
5736e7:	e9 9b 00 00 00       	jmp    0x573787
5736ec:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
5736f1:	7c 6a                	jl     0x57375d
5736f3:	8b 43 18             	mov    0x18(%ebx),%eax
5736f6:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5736fa:	75 57                	jne    0x573753
5736fc:	8b 73 18             	mov    0x18(%ebx),%esi
5736ff:	8b 7e 40             	mov    0x40(%esi),%edi
573702:	85 ff                	test   %edi,%edi
573704:	7c 13                	jl     0x573719
573706:	8b 46 3c             	mov    0x3c(%esi),%eax
573709:	3b f8                	cmp    %eax,%edi
57370b:	7f 0c                	jg     0x573719
57370d:	8b 53 18             	mov    0x18(%ebx),%edx
573710:	83 4a 08 04          	orl    $0x4,0x8(%edx)
573714:	83 c9 ff             	or     $0xffffffff,%ecx
573717:	eb 3d                	jmp    0x573756
573719:	8b 43 18             	mov    0x18(%ebx),%eax
57371c:	83 48 04 20          	orl    $0x20,0x4(%eax)
573720:	8b 53 18             	mov    0x18(%ebx),%edx
573723:	ff 4a 1c             	decl   0x1c(%edx)
573726:	79 11                	jns    0x573739
573728:	33 d2                	xor    %edx,%edx
57372a:	8b 43 18             	mov    0x18(%ebx),%eax
57372d:	8a 53 1c             	mov    0x1c(%ebx),%dl
573730:	e8 e3 56 00 00       	call   0x578e18
573735:	8b c8                	mov    %eax,%ecx
573737:	eb 1d                	jmp    0x573756
573739:	8b 43 18             	mov    0x18(%ebx),%eax
57373c:	ff 40 3c             	incl   0x3c(%eax)
57373f:	8b 53 18             	mov    0x18(%ebx),%edx
573742:	8b 4a 18             	mov    0x18(%edx),%ecx
573745:	ff 42 18             	incl   0x18(%edx)
573748:	8a 43 1c             	mov    0x1c(%ebx),%al
57374b:	88 01                	mov    %al,(%ecx)
57374d:	33 c9                	xor    %ecx,%ecx
57374f:	8a c8                	mov    %al,%cl
573751:	eb 03                	jmp    0x573756
573753:	83 c9 ff             	or     $0xffffffff,%ecx
573756:	41                   	inc    %ecx
573757:	75 04                	jne    0x57375d
573759:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
57375d:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
573761:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
573765:	8b 13                	mov    (%ebx),%edx
573767:	c1 ea 14             	shr    $0x14,%edx
57376a:	66 81 e2 ff 00       	and    $0xff,%dx
57376f:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
573773:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
573779:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
573780:	eb 05                	jmp    0x573787
573782:	e8 c1 73 fe ff       	call   0x55ab48
573787:	33 c0                	xor    %eax,%eax
573789:	5d                   	pop    %ebp
57378a:	5f                   	pop    %edi
57378b:	5e                   	pop    %esi
57378c:	5b                   	pop    %ebx
57378d:	c3                   	ret
57378e:	90                   	nop
57378f:	90                   	nop
573790:	8b 10                	mov    (%eax),%edx
573792:	8b 48 04             	mov    0x4(%eax),%ecx
573795:	03 d1                	add    %ecx,%edx
573797:	81 08 ff ff 00 00    	orl    $0xffff,(%eax)
57379d:	8b 08                	mov    (%eax),%ecx
57379f:	3b d1                	cmp    %ecx,%edx
5737a1:	77 06                	ja     0x5737a9
5737a3:	81 28 00 80 00 00    	subl   $0x8000,(%eax)
5737a9:	c3                   	ret
5737aa:	90                   	nop
5737ab:	90                   	nop
5737ac:	53                   	push   %ebx
5737ad:	8b d8                	mov    %eax,%ebx
5737af:	56                   	push   %esi
5737b0:	8b f2                	mov    %edx,%esi
5737b2:	8b 43 08             	mov    0x8(%ebx),%eax
5737b5:	50                   	push   %eax
5737b6:	8b 13                	mov    (%ebx),%edx
5737b8:	52                   	push   %edx
5737b9:	8b 4b 04             	mov    0x4(%ebx),%ecx
5737bc:	51                   	push   %ecx
5737bd:	68 ac 17 6a 00       	push   $0x6a17ac
5737c2:	56                   	push   %esi
5737c3:	e8 04 69 00 00       	call   0x57a0cc
5737c8:	83 c4 14             	add    $0x14,%esp
5737cb:	8b 43 14             	mov    0x14(%ebx),%eax
5737ce:	8b 08                	mov    (%eax),%ecx
5737d0:	0f b7 11             	movzwl (%ecx),%edx
5737d3:	52                   	push   %edx
5737d4:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
5737d8:	50                   	push   %eax
5737d9:	8b c1                	mov    %ecx,%eax
5737db:	81 e8 f8 17 6a 00    	sub    $0x6a17f8,%eax
5737e1:	b9 0c 00 00 00       	mov    $0xc,%ecx
5737e6:	99                   	cltd
5737e7:	f7 f9                	idiv   %ecx
5737e9:	50                   	push   %eax
5737ea:	68 d2 17 6a 00       	push   $0x6a17d2
5737ef:	56                   	push   %esi
5737f0:	e8 d7 68 00 00       	call   0x57a0cc
5737f5:	83 c4 14             	add    $0x14,%esp
5737f8:	33 c0                	xor    %eax,%eax
5737fa:	5e                   	pop    %esi
5737fb:	5b                   	pop    %ebx
5737fc:	c3                   	ret
5737fd:	8d 40 00             	lea    0x0(%eax),%eax
573800:	53                   	push   %ebx
573801:	56                   	push   %esi
573802:	8b f0                	mov    %eax,%esi
573804:	b8 10 00 00 00       	mov    $0x10,%eax
573809:	e8 6e 4b 00 00       	call   0x57837c
57380e:	8b d8                	mov    %eax,%ebx
573810:	85 c0                	test   %eax,%eax
573812:	75 05                	jne    0x573819
573814:	33 c0                	xor    %eax,%eax
573816:	5e                   	pop    %esi
573817:	5b                   	pop    %ebx
573818:	c3                   	ret
573819:	8b c6                	mov    %esi,%eax
57381b:	e8 c0 5c 00 00       	call   0x5794e0
573820:	89 03                	mov    %eax,(%ebx)
573822:	85 c0                	test   %eax,%eax
573824:	75 0c                	jne    0x573832
573826:	8b c3                	mov    %ebx,%eax
573828:	e8 1b 00 00 00       	call   0x573848
57382d:	33 c0                	xor    %eax,%eax
57382f:	5e                   	pop    %esi
573830:	5b                   	pop    %ebx
573831:	c3                   	ret
573832:	8b 13                	mov    (%ebx),%edx
573834:	89 53 0c             	mov    %edx,0xc(%ebx)
573837:	33 c9                	xor    %ecx,%ecx
573839:	89 4b 04             	mov    %ecx,0x4(%ebx)
57383c:	33 c0                	xor    %eax,%eax
57383e:	89 43 08             	mov    %eax,0x8(%ebx)
573841:	8b c3                	mov    %ebx,%eax
573843:	5e                   	pop    %esi
573844:	5b                   	pop    %ebx
573845:	c3                   	ret
573846:	90                   	nop
573847:	90                   	nop
573848:	53                   	push   %ebx
573849:	8b d8                	mov    %eax,%ebx
57384b:	8b 03                	mov    (%ebx),%eax
57384d:	85 c0                	test   %eax,%eax
57384f:	74 05                	je     0x573856
573851:	e8 2e 4b 00 00       	call   0x578384