57454a:	8a d0                	mov    %al,%dl
57454c:	88 01                	mov    %al,(%ecx)
57454e:	eb 03                	jmp    0x574553
574550:	83 ca ff             	or     $0xffffffff,%edx
574553:	42                   	inc    %edx
574554:	74 57                	je     0x5745ad
574556:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
57455a:	75 4b                	jne    0x5745a7
57455c:	8b 7b 40             	mov    0x40(%ebx),%edi
57455f:	85 ff                	test   %edi,%edi
574561:	7c 10                	jl     0x574573
574563:	8b 43 3c             	mov    0x3c(%ebx),%eax
574566:	3b f8                	cmp    %eax,%edi
574568:	7f 09                	jg     0x574573
57456a:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57456e:	83 ca ff             	or     $0xffffffff,%edx
574571:	eb 37                	jmp    0x5745aa
574573:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
574577:	ff 4b 1c             	decl   0x1c(%ebx)
57457a:	79 16                	jns    0x574592
57457c:	8b d6                	mov    %esi,%edx
57457e:	8b c3                	mov    %ebx,%eax
574580:	80 e2 ff             	and    $0xff,%dl
574583:	81 e2 ff 00 00 00    	and    $0xff,%edx
574589:	e8 8a 48 00 00       	call   0x578e18
57458e:	8b d0                	mov    %eax,%edx
574590:	eb 18                	jmp    0x5745aa
574592:	ff 43 3c             	incl   0x3c(%ebx)
574595:	8b c6                	mov    %esi,%eax
574597:	8b 4b 18             	mov    0x18(%ebx),%ecx
57459a:	24 ff                	and    $0xff,%al
57459c:	ff 43 18             	incl   0x18(%ebx)
57459f:	33 d2                	xor    %edx,%edx
5745a1:	8a d0                	mov    %al,%dl
5745a3:	88 01                	mov    %al,(%ecx)
5745a5:	eb 03                	jmp    0x5745aa
5745a7:	83 ca ff             	or     $0xffffffff,%edx
5745aa:	42                   	inc    %edx
5745ab:	75 05                	jne    0x5745b2
5745ad:	83 c8 ff             	or     $0xffffffff,%eax
5745b0:	eb 02                	jmp    0x5745b4
5745b2:	33 c0                	xor    %eax,%eax
5745b4:	5f                   	pop    %edi
5745b5:	5e                   	pop    %esi
5745b6:	5b                   	pop    %ebx
5745b7:	c3                   	ret
5745b8:	53                   	push   %ebx
5745b9:	8b d8                	mov    %eax,%ebx
5745bb:	56                   	push   %esi
5745bc:	57                   	push   %edi
5745bd:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5745c1:	8b f2                	mov    %edx,%esi
5745c3:	75 51                	jne    0x574616
5745c5:	8b 7b 40             	mov    0x40(%ebx),%edi
5745c8:	85 ff                	test   %edi,%edi
5745ca:	7c 10                	jl     0x5745dc
5745cc:	8b 43 3c             	mov    0x3c(%ebx),%eax
5745cf:	3b f8                	cmp    %eax,%edi
5745d1:	7f 09                	jg     0x5745dc
5745d3:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5745d7:	83 ca ff             	or     $0xffffffff,%edx
5745da:	eb 3d                	jmp    0x574619
5745dc:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
5745e0:	ff 4b 1c             	decl   0x1c(%ebx)
5745e3:	79 19                	jns    0x5745fe
5745e5:	8b d6                	mov    %esi,%edx
5745e7:	8b c3                	mov    %ebx,%eax
5745e9:	c1 ea 18             	shr    $0x18,%edx
5745ec:	80 e2 ff             	and    $0xff,%dl
5745ef:	81 e2 ff 00 00 00    	and    $0xff,%edx
5745f5:	e8 1e 48 00 00       	call   0x578e18
5745fa:	8b d0                	mov    %eax,%edx
5745fc:	eb 1b                	jmp    0x574619
5745fe:	ff 43 3c             	incl   0x3c(%ebx)
574601:	8b c6                	mov    %esi,%eax
574603:	8b 4b 18             	mov    0x18(%ebx),%ecx
574606:	ff 43 18             	incl   0x18(%ebx)
574609:	c1 e8 18             	shr    $0x18,%eax
57460c:	24 ff                	and    $0xff,%al
57460e:	33 d2                	xor    %edx,%edx
574610:	8a d0                	mov    %al,%dl
574612:	88 01                	mov    %al,(%ecx)
574614:	eb 03                	jmp    0x574619
574616:	83 ca ff             	or     $0xffffffff,%edx
574619:	42                   	inc    %edx
57461a:	0f 84 15 01 00 00    	je     0x574735
574620:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
574624:	75 51                	jne    0x574677
574626:	8b 7b 40             	mov    0x40(%ebx),%edi
574629:	85 ff                	test   %edi,%edi
57462b:	7c 10                	jl     0x57463d
57462d:	8b 43 3c             	mov    0x3c(%ebx),%eax
574630:	3b f8                	cmp    %eax,%edi
574632:	7f 09                	jg     0x57463d
574634:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
574638:	83 ca ff             	or     $0xffffffff,%edx
57463b:	eb 3d                	jmp    0x57467a
57463d:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
574641:	ff 4b 1c             	decl   0x1c(%ebx)
574644:	79 19                	jns    0x57465f
574646:	8b d6                	mov    %esi,%edx
574648:	8b c3                	mov    %ebx,%eax
57464a:	c1 ea 10             	shr    $0x10,%edx
57464d:	80 e2 ff             	and    $0xff,%dl
574650:	81 e2 ff 00 00 00    	and    $0xff,%edx
574656:	e8 bd 47 00 00       	call   0x578e18
57465b:	8b d0                	mov    %eax,%edx
57465d:	eb 1b                	jmp    0x57467a
57465f:	ff 43 3c             	incl   0x3c(%ebx)
574662:	8b c6                	mov    %esi,%eax
574664:	8b 4b 18             	mov    0x18(%ebx),%ecx
574667:	ff 43 18             	incl   0x18(%ebx)
57466a:	c1 e8 10             	shr    $0x10,%eax
57466d:	24 ff                	and    $0xff,%al
57466f:	33 d2                	xor    %edx,%edx
574671:	8a d0                	mov    %al,%dl
574673:	88 01                	mov    %al,(%ecx)
574675:	eb 03                	jmp    0x57467a
574677:	83 ca ff             	or     $0xffffffff,%edx
57467a:	42                   	inc    %edx
57467b:	0f 84 b4 00 00 00    	je     0x574735
574681:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
574685:	75 51                	jne    0x5746d8
574687:	8b 7b 40             	mov    0x40(%ebx),%edi
57468a:	85 ff                	test   %edi,%edi
57468c:	7c 10                	jl     0x57469e
57468e:	8b 43 3c             	mov    0x3c(%ebx),%eax
574691:	3b f8                	cmp    %eax,%edi
574693:	7f 09                	jg     0x57469e
574695:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
574699:	83 ca ff             	or     $0xffffffff,%edx
57469c:	eb 3d                	jmp    0x5746db
57469e:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
5746a2:	ff 4b 1c             	decl   0x1c(%ebx)
5746a5:	79 19                	jns    0x5746c0
5746a7:	8b d6                	mov    %esi,%edx
5746a9:	8b c3                	mov    %ebx,%eax
5746ab:	c1 ea 08             	shr    $0x8,%edx
5746ae:	80 e2 ff             	and    $0xff,%dl
5746b1:	81 e2 ff 00 00 00    	and    $0xff,%edx
5746b7:	e8 5c 47 00 00       	call   0x578e18
5746bc:	8b d0                	mov    %eax,%edx
5746be:	eb 1b                	jmp    0x5746db
5746c0:	ff 43 3c             	incl   0x3c(%ebx)
5746c3:	8b c6                	mov    %esi,%eax
5746c5:	8b 4b 18             	mov    0x18(%ebx),%ecx
5746c8:	ff 43 18             	incl   0x18(%ebx)
5746cb:	c1 e8 08             	shr    $0x8,%eax
5746ce:	24 ff                	and    $0xff,%al
5746d0:	33 d2                	xor    %edx,%edx
5746d2:	8a d0                	mov    %al,%dl
5746d4:	88 01                	mov    %al,(%ecx)
5746d6:	eb 03                	jmp    0x5746db
5746d8:	83 ca ff             	or     $0xffffffff,%edx
5746db:	42                   	inc    %edx
5746dc:	74 57                	je     0x574735
5746de:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5746e2:	75 4b                	jne    0x57472f
5746e4:	8b 7b 40             	mov    0x40(%ebx),%edi
5746e7:	85 ff                	test   %edi,%edi
5746e9:	7c 10                	jl     0x5746fb
5746eb:	8b 43 3c             	mov    0x3c(%ebx),%eax
5746ee:	3b f8                	cmp    %eax,%edi
5746f0:	7f 09                	jg     0x5746fb
5746f2:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5746f6:	83 ca ff             	or     $0xffffffff,%edx
5746f9:	eb 37                	jmp    0x574732
5746fb:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
5746ff:	ff 4b 1c             	decl   0x1c(%ebx)
574702:	79 16                	jns    0x57471a
574704:	8b d6                	mov    %esi,%edx
574706:	8b c3                	mov    %ebx,%eax
574708:	80 e2 ff             	and    $0xff,%dl
57470b:	81 e2 ff 00 00 00    	and    $0xff,%edx
574711:	e8 02 47 00 00       	call   0x578e18
574716:	8b d0                	mov    %eax,%edx
574718:	eb 18                	jmp    0x574732
57471a:	ff 43 3c             	incl   0x3c(%ebx)
57471d:	8b c6                	mov    %esi,%eax
57471f:	8b 4b 18             	mov    0x18(%ebx),%ecx
574722:	24 ff                	and    $0xff,%al
574724:	ff 43 18             	incl   0x18(%ebx)
574727:	33 d2                	xor    %edx,%edx
574729:	8a d0                	mov    %al,%dl
57472b:	88 01                	mov    %al,(%ecx)
57472d:	eb 03                	jmp    0x574732
57472f:	83 ca ff             	or     $0xffffffff,%edx
574732:	42                   	inc    %edx
574733:	75 05                	jne    0x57473a
574735:	83 c8 ff             	or     $0xffffffff,%eax
574738:	eb 02                	jmp    0x57473c
57473a:	33 c0                	xor    %eax,%eax
57473c:	5f                   	pop    %edi
57473d:	5e                   	pop    %esi
57473e:	5b                   	pop    %ebx
57473f:	c3                   	ret
574740:	55                   	push   %ebp
574741:	8b ec                	mov    %esp,%ebp
574743:	53                   	push   %ebx
574744:	8b d8                	mov    %eax,%ebx
574746:	8b 45 0c             	mov    0xc(%ebp),%eax
574749:	33 d2                	xor    %edx,%edx
57474b:	8b d0                	mov    %eax,%edx
57474d:	8b c3                	mov    %ebx,%eax
57474f:	83 e2 ff             	and    $0xffffffff,%edx
574752:	e8 61 fe ff ff       	call   0x5745b8
574757:	85 c0                	test   %eax,%eax
574759:	75 13                	jne    0x57476e
57475b:	8b 45 08             	mov    0x8(%ebp),%eax
57475e:	8b d0                	mov    %eax,%edx
574760:	8b c3                	mov    %ebx,%eax
574762:	83 e2 ff             	and    $0xffffffff,%edx
574765:	e8 4e fe ff ff       	call   0x5745b8
57476a:	85 c0                	test   %eax,%eax
57476c:	74 05                	je     0x574773
57476e:	83 c8 ff             	or     $0xffffffff,%eax
574771:	eb 02                	jmp    0x574775
574773:	33 c0                	xor    %eax,%eax
574775:	5b                   	pop    %ebx
574776:	5d                   	pop    %ebp
574777:	c2 08 00             	ret    $0x8
57477a:	90                   	nop
57477b:	90                   	nop
57477c:	ba 6c 1c 6a 00       	mov    $0x6a1c6c,%edx
574781:	eb 0c                	jmp    0x57478f
574783:	8b 0a                	mov    (%edx),%ecx
574785:	3b c1                	cmp    %ecx,%eax
574787:	75 03                	jne    0x57478c
574789:	8b c2                	mov    %edx,%eax
57478b:	c3                   	ret
57478c:	83 c2 20             	add    $0x20,%edx
57478f:	8b 4a 04             	mov    0x4(%edx),%ecx
574792:	85 c9                	test   %ecx,%ecx
574794:	75 ed                	jne    0x574783
574796:	b8 ec 1e 6a 00       	mov    $0x6a1eec,%eax
57479b:	c3                   	ret
57479c:	83 c0 10             	add    $0x10,%eax
57479f:	8b 50 04             	mov    0x4(%eax),%edx
5747a2:	85 d2                	test   %edx,%edx
5747a4:	74 07                	je     0x5747ad
5747a6:	8b c2                	mov    %edx,%eax
5747a8:	e8 d7 3b 00 00       	call   0x578384
5747ad:	c3                   	ret
5747ae:	90                   	nop
5747af:	90                   	nop
5747b0:	53                   	push   %ebx
5747b1:	56                   	push   %esi
5747b2:	57                   	push   %edi
5747b3:	55                   	push   %ebp
5747b4:	8b 58 0c             	mov    0xc(%eax),%ebx
5747b7:	8d 68 10             	lea    0x10(%eax),%ebp
5747ba:	83 eb 08             	sub    $0x8,%ebx
5747bd:	8b fa                	mov    %edx,%edi
5747bf:	c1 eb 02             	shr    $0x2,%ebx
5747c2:	0f b7 c3             	movzwl %bx,%eax
5747c5:	66 89 5d 00          	mov    %bx,0x0(%ebp)
5747c9:	c1 e0 02             	shl    $0x2,%eax
5747cc:	e8 ab 3b 00 00       	call   0x57837c
5747d1:	89 45 04             	mov    %eax,0x4(%ebp)
5747d4:	85 c0                	test   %eax,%eax
5747d6:	75 05                	jne    0x5747dd
5747d8:	83 c8 ff             	or     $0xffffffff,%eax
5747db:	eb 47                	jmp    0x574824
5747dd:	33 f6                	xor    %esi,%esi
5747df:	eb 39                	jmp    0x57481a
5747e1:	8b c6                	mov    %esi,%eax
5747e3:	8b 5d 04             	mov    0x4(%ebp),%ebx
5747e6:	c1 e0 02             	shl    $0x2,%eax
5747e9:	03 d8                	add    %eax,%ebx
5747eb:	8b c7                	mov    %edi,%eax
5747ed:	8b d3                	mov    %ebx,%edx
5747ef:	e8 5c fa ff ff       	call   0x574250
5747f4:	85 c0                	test   %eax,%eax
5747f6:	75 1c                	jne    0x574814
5747f8:	8d 53 02             	lea    0x2(%ebx),%edx
5747fb:	8b c7                	mov    %edi,%eax
5747fd:	e8 ea f9 ff ff       	call   0x5741ec
574802:	85 c0                	test   %eax,%eax
574804:	75 0e                	jne    0x574814
574806:	8d 53 03             	lea    0x3(%ebx),%edx
574809:	8b c7                	mov    %edi,%eax
57480b:	e8 dc f9 ff ff       	call   0x5741ec
574810:	85 c0                	test   %eax,%eax
574812:	74 05                	je     0x574819
574814:	83 c8 ff             	or     $0xffffffff,%eax
574817:	eb 0b                	jmp    0x574824
574819:	46                   	inc    %esi
57481a:	0f b7 55 00          	movzwl 0x0(%ebp),%edx
57481e:	3b f2                	cmp    %edx,%esi
574820:	7c bf                	jl     0x5747e1
574822:	33 c0                	xor    %eax,%eax
574824:	5d                   	pop    %ebp
574825:	5f                   	pop    %edi
574826:	5e                   	pop    %esi
574827:	5b                   	pop    %ebx
574828:	c3                   	ret
574829:	90                   	nop
57482a:	90                   	nop
57482b:	90                   	nop
57482c:	83 c8 ff             	or     $0xffffffff,%eax
57482f:	c3                   	ret
574830:	53                   	push   %ebx
574831:	56                   	push   %esi
574832:	8d 70 10             	lea    0x10(%eax),%esi
574835:	0f b7 06             	movzwl (%esi),%eax
574838:	50                   	push   %eax
574839:	68 f0 1f 6a 00       	push   $0x6a1ff0
57483e:	68 80 2e 6a 00       	push   $0x6a2e80
574843:	e8 84 58 00 00       	call   0x57a0cc
574848:	83 c4 0c             	add    $0xc,%esp
57484b:	33 db                	xor    %ebx,%ebx
57484d:	eb 2d                	jmp    0x57487c
57484f:	8b 46 04             	mov    0x4(%esi),%eax
574852:	8b d3                	mov    %ebx,%edx
574854:	c1 e2 02             	shl    $0x2,%edx
574857:	03 c2                	add    %edx,%eax
574859:	33 c9                	xor    %ecx,%ecx
57485b:	8a 48 03             	mov    0x3(%eax),%cl
57485e:	51                   	push   %ecx
57485f:	33 d2                	xor    %edx,%edx
574861:	8a 50 02             	mov    0x2(%eax),%dl
574864:	52                   	push   %edx
574865:	0f b7 00             	movzwl (%eax),%eax
574868:	50                   	push   %eax
574869:	68 ff 1f 6a 00       	push   $0x6a1fff
57486e:	68 80 2e 6a 00       	push   $0x6a2e80
574873:	e8 54 58 00 00       	call   0x57a0cc
574878:	83 c4 14             	add    $0x14,%esp
57487b:	43                   	inc    %ebx
57487c:	0f b7 0e             	movzwl (%esi),%ecx
57487f:	3b d9                	cmp    %ecx,%ebx
574881:	7c cc                	jl     0x57484f
574883:	5e                   	pop    %esi
574884:	5b                   	pop    %ebx
574885:	c3                   	ret
574886:	90                   	nop
574887:	90                   	nop
574888:	83 c0 10             	add    $0x10,%eax
57488b:	8b 50 04             	mov    0x4(%eax),%edx
57488e:	85 d2                	test   %edx,%edx
574890:	74 07                	je     0x574899
574892:	8b c2                	mov    %edx,%eax
574894:	e8 eb 3a 00 00       	call   0x578384
574899:	c3                   	ret
57489a:	90                   	nop
57489b:	90                   	nop
57489c:	53                   	push   %ebx
57489d:	56                   	push   %esi
57489e:	57                   	push   %edi
57489f:	55                   	push   %ebp