574390:	79 10                	jns    0x5743a2
574392:	ba 01 00 00 00       	mov    $0x1,%edx
574397:	8b c3                	mov    %ebx,%eax
574399:	e8 8a 49 00 00       	call   0x578d28
57439e:	8b f0                	mov    %eax,%esi
5743a0:	eb 11                	jmp    0x5743b3
5743a2:	ff 43 3c             	incl   0x3c(%ebx)
5743a5:	8b 43 18             	mov    0x18(%ebx),%eax
5743a8:	ff 43 18             	incl   0x18(%ebx)
5743ab:	0f b6 30             	movzbl (%eax),%esi
5743ae:	eb 03                	jmp    0x5743b3
5743b0:	83 ce ff             	or     $0xffffffff,%esi
5743b3:	83 fe ff             	cmp    $0xffffffff,%esi
5743b6:	75 08                	jne    0x5743c0
5743b8:	83 c8 ff             	or     $0xffffffff,%eax
5743bb:	e9 b7 00 00 00       	jmp    0x574477
5743c0:	c1 e7 08             	shl    $0x8,%edi
5743c3:	0b fe                	or     %esi,%edi
5743c5:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5743c9:	75 3a                	jne    0x574405
5743cb:	8b 6b 40             	mov    0x40(%ebx),%ebp
5743ce:	85 ed                	test   %ebp,%ebp
5743d0:	7c 10                	jl     0x5743e2
5743d2:	8b 43 3c             	mov    0x3c(%ebx),%eax
5743d5:	3b e8                	cmp    %eax,%ebp
5743d7:	7f 09                	jg     0x5743e2
5743d9:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5743dd:	83 ce ff             	or     $0xffffffff,%esi
5743e0:	eb 26                	jmp    0x574408
5743e2:	ff 4b 1c             	decl   0x1c(%ebx)
5743e5:	79 10                	jns    0x5743f7
5743e7:	ba 01 00 00 00       	mov    $0x1,%edx
5743ec:	8b c3                	mov    %ebx,%eax
5743ee:	e8 35 49 00 00       	call   0x578d28
5743f3:	8b f0                	mov    %eax,%esi
5743f5:	eb 11                	jmp    0x574408
5743f7:	ff 43 3c             	incl   0x3c(%ebx)
5743fa:	8b 43 18             	mov    0x18(%ebx),%eax
5743fd:	ff 43 18             	incl   0x18(%ebx)
574400:	0f b6 30             	movzbl (%eax),%esi
574403:	eb 03                	jmp    0x574408
574405:	83 ce ff             	or     $0xffffffff,%esi
574408:	83 fe ff             	cmp    $0xffffffff,%esi
57440b:	75 05                	jne    0x574412
57440d:	83 c8 ff             	or     $0xffffffff,%eax
574410:	eb 65                	jmp    0x574477
574412:	c1 e7 08             	shl    $0x8,%edi
574415:	0b fe                	or     %esi,%edi
574417:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
57441b:	75 3a                	jne    0x574457
57441d:	8b 6b 40             	mov    0x40(%ebx),%ebp
574420:	85 ed                	test   %ebp,%ebp
574422:	7c 10                	jl     0x574434
574424:	8b 43 3c             	mov    0x3c(%ebx),%eax
574427:	3b e8                	cmp    %eax,%ebp
574429:	7f 09                	jg     0x574434
57442b:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57442f:	83 ce ff             	or     $0xffffffff,%esi
574432:	eb 26                	jmp    0x57445a
574434:	ff 4b 1c             	decl   0x1c(%ebx)
574437:	79 10                	jns    0x574449
574439:	ba 01 00 00 00       	mov    $0x1,%edx
57443e:	8b c3                	mov    %ebx,%eax
574440:	e8 e3 48 00 00       	call   0x578d28
574445:	8b f0                	mov    %eax,%esi
574447:	eb 11                	jmp    0x57445a
574449:	ff 43 3c             	incl   0x3c(%ebx)
57444c:	8b 43 18             	mov    0x18(%ebx),%eax
57444f:	ff 43 18             	incl   0x18(%ebx)
574452:	0f b6 30             	movzbl (%eax),%esi
574455:	eb 03                	jmp    0x57445a
574457:	83 ce ff             	or     $0xffffffff,%esi
57445a:	83 fe ff             	cmp    $0xffffffff,%esi
57445d:	75 05                	jne    0x574464
57445f:	83 c8 ff             	or     $0xffffffff,%eax
574462:	eb 13                	jmp    0x574477
574464:	c1 e7 08             	shl    $0x8,%edi
574467:	0b fe                	or     %esi,%edi
574469:	8b 14 24             	mov    (%esp),%edx
57446c:	85 d2                	test   %edx,%edx
57446e:	74 05                	je     0x574475
574470:	8b 0c 24             	mov    (%esp),%ecx
574473:	89 39                	mov    %edi,(%ecx)
574475:	33 c0                	xor    %eax,%eax
574477:	5a                   	pop    %edx
574478:	5d                   	pop    %ebp
574479:	5f                   	pop    %edi
57447a:	5e                   	pop    %esi
57447b:	5b                   	pop    %ebx
57447c:	c3                   	ret
57447d:	90                   	nop
57447e:	90                   	nop
57447f:	90                   	nop
574480:	e8 c3 66 fe ff       	call   0x55ab48
574485:	c3                   	ret
574486:	90                   	nop
574487:	90                   	nop
574488:	53                   	push   %ebx
574489:	56                   	push   %esi
57448a:	8b f0                	mov    %eax,%esi
57448c:	57                   	push   %edi
57448d:	8b da                	mov    %edx,%ebx
57448f:	f6 46 08 07          	testb  $0x7,0x8(%esi)
574493:	75 4a                	jne    0x5744df
574495:	8b 7e 40             	mov    0x40(%esi),%edi
574498:	85 ff                	test   %edi,%edi
57449a:	7c 10                	jl     0x5744ac
57449c:	8b 46 3c             	mov    0x3c(%esi),%eax
57449f:	3b f8                	cmp    %eax,%edi
5744a1:	7f 09                	jg     0x5744ac
5744a3:	83 4e 08 04          	orl    $0x4,0x8(%esi)
5744a7:	83 ca ff             	or     $0xffffffff,%edx
5744aa:	eb 36                	jmp    0x5744e2
5744ac:	83 4e 04 20          	orl    $0x20,0x4(%esi)
5744b0:	ff 4e 1c             	decl   0x1c(%esi)
5744b3:	79 16                	jns    0x5744cb
5744b5:	8b d3                	mov    %ebx,%edx
5744b7:	8b c6                	mov    %esi,%eax
5744b9:	80 e2 ff             	and    $0xff,%dl
5744bc:	81 e2 ff 00 00 00    	and    $0xff,%edx
5744c2:	e8 51 49 00 00       	call   0x578e18
5744c7:	8b d0                	mov    %eax,%edx
5744c9:	eb 17                	jmp    0x5744e2
5744cb:	ff 46 3c             	incl   0x3c(%esi)
5744ce:	80 e3 ff             	and    $0xff,%bl
5744d1:	8b 46 18             	mov    0x18(%esi),%eax
5744d4:	ff 46 18             	incl   0x18(%esi)
5744d7:	88 18                	mov    %bl,(%eax)
5744d9:	33 d2                	xor    %edx,%edx
5744db:	8a d3                	mov    %bl,%dl
5744dd:	eb 03                	jmp    0x5744e2
5744df:	83 ca ff             	or     $0xffffffff,%edx
5744e2:	42                   	inc    %edx
5744e3:	75 05                	jne    0x5744ea
5744e5:	83 c8 ff             	or     $0xffffffff,%eax
5744e8:	eb 02                	jmp    0x5744ec
5744ea:	33 c0                	xor    %eax,%eax
5744ec:	5f                   	pop    %edi
5744ed:	5e                   	pop    %esi
5744ee:	5b                   	pop    %ebx
5744ef:	c3                   	ret
5744f0:	53                   	push   %ebx
5744f1:	8b d8                	mov    %eax,%ebx
5744f3:	56                   	push   %esi
5744f4:	57                   	push   %edi
5744f5:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5744f9:	8b f2                	mov    %edx,%esi
5744fb:	75 53                	jne    0x574550
5744fd:	8b 7b 40             	mov    0x40(%ebx),%edi
574500:	85 ff                	test   %edi,%edi
574502:	7c 10                	jl     0x574514
574504:	8b 43 3c             	mov    0x3c(%ebx),%eax
574507:	3b f8                	cmp    %eax,%edi
574509:	7f 09                	jg     0x574514
57450b:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57450f:	83 ca ff             	or     $0xffffffff,%edx
574512:	eb 3f                	jmp    0x574553
574514:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
574518:	ff 4b 1c             	decl   0x1c(%ebx)
57451b:	79 1a                	jns    0x574537
57451d:	0f b7 d6             	movzwl %si,%edx
574520:	c1 fa 08             	sar    $0x8,%edx
574523:	8b c3                	mov    %ebx,%eax
574525:	80 e2 ff             	and    $0xff,%dl
574528:	81 e2 ff 00 00 00    	and    $0xff,%edx
57452e:	e8 e5 48 00 00       	call   0x578e18
574533:	8b d0                	mov    %eax,%edx
574535:	eb 1c                	jmp    0x574553
574537:	0f b7 c6             	movzwl %si,%eax
57453a:	ff 43 3c             	incl   0x3c(%ebx)
57453d:	8b 4b 18             	mov    0x18(%ebx),%ecx
574540:	ff 43 18             	incl   0x18(%ebx)
574543:	c1 f8 08             	sar    $0x8,%eax
574546:	24 ff                	and    $0xff,%al
574548:	33 d2                	xor    %edx,%edx
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