579434:	8b 47 10             	mov    0x10(%edi),%eax
579437:	85 c0                	test   %eax,%eax
579439:	75 0c                	jne    0x579447
57943b:	ff 77 08             	push   0x8(%edi)
57943e:	e8 2d 9f f3 ff       	call   0x4b3370
579443:	83 c4 04             	add    $0x4,%esp
579446:	48                   	dec    %eax
579447:	6a 00                	push   $0x0
579449:	6a 00                	push   $0x0
57944b:	50                   	push   %eax
57944c:	56                   	push   %esi
57944d:	e8 1e 52 ff ff       	call   0x56e670
579452:	83 c4 10             	add    $0x10,%esp
579455:	85 c0                	test   %eax,%eax
579457:	74 7d                	je     0x5794d6
579459:	f6 47 1c 02          	testb  $0x2,0x1c(%edi)
57945d:	75 44                	jne    0x5794a3
57945f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
579463:	50                   	push   %eax
579464:	e8 b7 9d f3 ff       	call   0x4b3220
579469:	8b 06                	mov    (%esi),%eax
57946b:	8d 54 24 20          	lea    0x20(%esp),%edx
57946f:	8b 4e 10             	mov    0x10(%esi),%ecx
579472:	83 c4 04             	add    $0x4,%esp
579475:	89 44 24 1c          	mov    %eax,0x1c(%esp)
579479:	83 e1 fe             	and    $0xfffffffe,%ecx
57947c:	8b 46 04             	mov    0x4(%esi),%eax
57947f:	89 44 24 20          	mov    %eax,0x20(%esp)
579483:	8b 46 08             	mov    0x8(%esi),%eax
579486:	89 44 24 24          	mov    %eax,0x24(%esp)
57948a:	8b 46 0c             	mov    0xc(%esi),%eax
57948d:	89 44 24 28          	mov    %eax,0x28(%esp)
579491:	8b 44 24 2c          	mov    0x2c(%esp),%eax
579495:	83 e0 01             	and    $0x1,%eax
579498:	0b c8                	or     %eax,%ecx
57949a:	83 c9 06             	or     $0x6,%ecx
57949d:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
5794a1:	eb 02                	jmp    0x5794a5
5794a3:	8b d6                	mov    %esi,%edx
5794a5:	ff 74 24 14          	push   0x14(%esp)
5794a9:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5794ad:	8b 47 44             	mov    0x44(%edi),%eax
5794b0:	55                   	push   %ebp
5794b1:	ff 77 08             	push   0x8(%edi)
5794b4:	8b 40 0c             	mov    0xc(%eax),%eax
5794b7:	52                   	push   %edx
5794b8:	ff 77 0c             	push   0xc(%edi)
5794bb:	53                   	push   %ebx
5794bc:	57                   	push   %edi
5794bd:	ff d0                	call   *%eax
5794bf:	83 c4 1c             	add    $0x1c,%esp
5794c2:	85 c0                	test   %eax,%eax
5794c4:	74 18                	je     0x5794de
5794c6:	89 5f 14             	mov    %ebx,0x14(%edi)
5794c9:	89 77 18             	mov    %esi,0x18(%edi)
5794cc:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
5794d3:	00
5794d4:	eb 20                	jmp    0x5794f6
5794d6:	8b 6c 24 10          	mov    0x10(%esp),%ebp
5794da:	eb 02                	jmp    0x5794de
5794dc:	8b e8                	mov    %eax,%ebp
5794de:	68 c6 00 00 00       	push   $0xc6
5794e3:	68 5c d4 6b 00       	push   $0x6bd45c
5794e8:	6a 03                	push   $0x3
5794ea:	6a 67                	push   $0x67
5794ec:	6a 05                	push   $0x5
5794ee:	e8 ad 7f f2 ff       	call   0x4a14a0
5794f3:	83 c4 14             	add    $0x14,%esp
5794f6:	85 db                	test   %ebx,%ebx
5794f8:	74 0f                	je     0x579509
5794fa:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
5794fe:	75 09                	jne    0x579509
579500:	53                   	push   %ebx
579501:	e8 da 9c f3 ff       	call   0x4b31e0
579506:	83 c4 04             	add    $0x4,%esp
579509:	85 f6                	test   %esi,%esi
57950b:	74 0f                	je     0x57951c
57950d:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
579511:	75 09                	jne    0x57951c
579513:	56                   	push   %esi
579514:	e8 c7 9c f3 ff       	call   0x4b31e0
579519:	83 c4 04             	add    $0x4,%esp
57951c:	55                   	push   %ebp
57951d:	e8 6e e8 f5 ff       	call   0x4d7d90
579522:	8b 44 24 1c          	mov    0x1c(%esp),%eax
579526:	83 c4 04             	add    $0x4,%esp
579529:	5f                   	pop    %edi
57952a:	5e                   	pop    %esi
57952b:	5d                   	pop    %ebp
57952c:	5b                   	pop    %ebx
57952d:	83 c4 20             	add    $0x20,%esp
579530:	c3                   	ret
579531:	cc                   	int3
579532:	cc                   	int3
579533:	cc                   	int3
579534:	cc                   	int3
579535:	cc                   	int3
579536:	cc                   	int3
579537:	cc                   	int3
579538:	cc                   	int3
579539:	cc                   	int3
57953a:	cc                   	int3
57953b:	cc                   	int3
57953c:	cc                   	int3
57953d:	cc                   	int3
57953e:	cc                   	int3
57953f:	cc                   	int3
579540:	b8 04 00 00 00       	mov    $0x4,%eax
579545:	e8 a6 7f 06 00       	call   0x5e14f0
57954a:	53                   	push   %ebx
57954b:	56                   	push   %esi
57954c:	8b 74 24 18          	mov    0x18(%esp),%esi
579550:	83 cb ff             	or     $0xffffffff,%ebx
579553:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
57955a:	00
57955b:	ff 76 08             	push   0x8(%esi)
57955e:	e8 0d 9e f3 ff       	call   0x4b3370
579563:	83 c4 04             	add    $0x4,%esp
579566:	3d 10 27 00 00       	cmp    $0x2710,%eax
57956b:	7e 1e                	jle    0x57958b
57956d:	68 d9 00 00 00       	push   $0xd9
579572:	68 5c d4 6b 00       	push   $0x6bd45c
579577:	6a 67                	push   $0x67
579579:	6a 66                	push   $0x66
57957b:	6a 05                	push   $0x5
57957d:	e8 1e 7f f2 ff       	call   0x4a14a0
579582:	83 c4 14             	add    $0x14,%esp
579585:	8b c3                	mov    %ebx,%eax
579587:	5e                   	pop    %esi
579588:	5b                   	pop    %ebx
579589:	59                   	pop    %ecx
57958a:	c3                   	ret
57958b:	57                   	push   %edi
57958c:	e8 8f e8 f5 ff       	call   0x4d7e20
579591:	8b f8                	mov    %eax,%edi
579593:	85 ff                	test   %edi,%edi
579595:	0f 84 e2 00 00 00    	je     0x57967d
57959b:	55                   	push   %ebp
57959c:	57                   	push   %edi
57959d:	e8 fe e8 f5 ff       	call   0x4d7ea0
5795a2:	57                   	push   %edi
5795a3:	e8 18 e8 f5 ff       	call   0x4d7dc0
5795a8:	8b e8                	mov    %eax,%ebp
5795aa:	83 c4 08             	add    $0x8,%esp
5795ad:	85 ed                	test   %ebp,%ebp
5795af:	0f 84 b8 00 00 00    	je     0x57966d
5795b5:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
5795b9:	75 11                	jne    0x5795cc
5795bb:	68 e6 00 00 00       	push   $0xe6
5795c0:	68 5c d4 6b 00       	push   $0x6bd45c
5795c5:	6a 64                	push   $0x64
5795c7:	e9 95 00 00 00       	jmp    0x579661
5795cc:	f6 46 1c 01          	testb  $0x1,0x1c(%esi)
5795d0:	74 27                	je     0x5795f9
5795d2:	57                   	push   %edi
5795d3:	ff 76 08             	push   0x8(%esi)
5795d6:	8d 46 20             	lea    0x20(%esi),%eax
5795d9:	6a 1a                	push   $0x1a
5795db:	50                   	push   %eax
5795dc:	e8 8f 75 ff ff       	call   0x570b70
5795e1:	83 c4 10             	add    $0x10,%esp
5795e4:	89 44 24 10          	mov    %eax,0x10(%esp)
5795e8:	f6 46 1c 02          	testb  $0x2,0x1c(%esi)
5795ec:	75 07                	jne    0x5795f5
5795ee:	8b 4e 18             	mov    0x18(%esi),%ecx
5795f1:	83 49 10 04          	orl    $0x4,0x10(%ecx)
5795f5:	85 c0                	test   %eax,%eax
5795f7:	74 74                	je     0x57966d
5795f9:	8d 44 24 20          	lea    0x20(%esp),%eax
5795fd:	50                   	push   %eax
5795fe:	ff 74 24 20          	push   0x20(%esp)
579602:	56                   	push   %esi
579603:	e8 38 4e 01 00       	call   0x58e440
579608:	83 c4 0c             	add    $0xc,%esp
57960b:	85 c0                	test   %eax,%eax
57960d:	74 46                	je     0x579655
57960f:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
579614:	75 3f                	jne    0x579655
579616:	ff 74 24 10          	push   0x10(%esp)
57961a:	8b 46 44             	mov    0x44(%esi),%eax
57961d:	57                   	push   %edi
57961e:	ff 76 08             	push   0x8(%esi)
579621:	ff 76 18             	push   0x18(%esi)
579624:	8b 40 0c             	mov    0xc(%eax),%eax
579627:	ff 74 24 2c          	push   0x2c(%esp)
57962b:	55                   	push   %ebp
57962c:	56                   	push   %esi
57962d:	ff d0                	call   *%eax
57962f:	83 c4 1c             	add    $0x1c,%esp
579632:	85 c0                	test   %eax,%eax
579634:	75 0e                	jne    0x579644
579636:	68 fc 00 00 00       	push   $0xfc
57963b:	68 5c d4 6b 00       	push   $0x6bd45c
579640:	6a 03                	push   $0x3
579642:	eb 1d                	jmp    0x579661
579644:	ff 74 24 18          	push   0x18(%esp)
579648:	55                   	push   %ebp
579649:	e8 c2 96 f3 ff       	call   0x4b2d10
57964e:	83 c4 08             	add    $0x8,%esp
579651:	8b d8                	mov    %eax,%ebx
579653:	eb 18                	jmp    0x57966d
579655:	68 f6 00 00 00       	push   $0xf6
57965a:	68 5c d4 6b 00       	push   $0x6bd45c
57965f:	6a 66                	push   $0x66
579661:	6a 66                	push   $0x66
579663:	6a 05                	push   $0x5
579665:	e8 36 7e f2 ff       	call   0x4a14a0
57966a:	83 c4 14             	add    $0x14,%esp
57966d:	57                   	push   %edi
57966e:	e8 dd e6 f5 ff       	call   0x4d7d50
579673:	57                   	push   %edi
579674:	e8 17 e7 f5 ff       	call   0x4d7d90
579679:	83 c4 08             	add    $0x8,%esp
57967c:	5d                   	pop    %ebp
57967d:	5f                   	pop    %edi
57967e:	5e                   	pop    %esi
57967f:	8b c3                	mov    %ebx,%eax
579681:	5b                   	pop    %ebx
579682:	59                   	pop    %ecx
579683:	c3                   	ret
579684:	cc                   	int3
579685:	cc                   	int3
579686:	cc                   	int3
579687:	cc                   	int3
579688:	cc                   	int3
579689:	cc                   	int3
57968a:	cc                   	int3
57968b:	cc                   	int3
57968c:	cc                   	int3
57968d:	cc                   	int3
57968e:	cc                   	int3
57968f:	cc                   	int3
579690:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
579694:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
579698:	75 2b                	jne    0x5796c5
57969a:	8b 44 24 04          	mov    0x4(%esp),%eax
57969e:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
5796a2:	74 21                	je     0x5796c5
5796a4:	ff 74 24 1c          	push   0x1c(%esp)
5796a8:	8b 01                	mov    (%ecx),%eax
5796aa:	ff 74 24 1c          	push   0x1c(%esp)
5796ae:	ff 74 24 1c          	push   0x1c(%esp)
5796b2:	ff 74 24 1c          	push   0x1c(%esp)
5796b6:	ff 30                	push   (%eax)
5796b8:	ff 74 24 1c          	push   0x1c(%esp)
5796bc:	e8 cf 62 ff ff       	call   0x56f990
5796c1:	83 c4 18             	add    $0x18,%esp
5796c4:	c3                   	ret
5796c5:	ff 74 24 1c          	push   0x1c(%esp)
5796c9:	ff 74 24 1c          	push   0x1c(%esp)
5796cd:	ff 74 24 1c          	push   0x1c(%esp)
5796d1:	ff 74 24 1c          	push   0x1c(%esp)
5796d5:	51                   	push   %ecx
5796d6:	ff 74 24 1c          	push   0x1c(%esp)
5796da:	e8 31 57 ff ff       	call   0x56ee10
5796df:	83 c4 18             	add    $0x18,%esp
5796e2:	c3                   	ret
5796e3:	cc                   	int3
5796e4:	cc                   	int3
5796e5:	cc                   	int3
5796e6:	cc                   	int3
5796e7:	cc                   	int3
5796e8:	cc                   	int3
5796e9:	cc                   	int3
5796ea:	cc                   	int3
5796eb:	cc                   	int3
5796ec:	cc                   	int3
5796ed:	cc                   	int3
5796ee:	cc                   	int3
5796ef:	cc                   	int3
5796f0:	8b 44 24 04          	mov    0x4(%esp),%eax
5796f4:	83 48 1c 01          	orl    $0x1,0x1c(%eax)
5796f8:	b8 01 00 00 00       	mov    $0x1,%eax
5796fd:	c3                   	ret
5796fe:	cc                   	int3
5796ff:	cc                   	int3
579700:	8b 44 24 04          	mov    0x4(%esp),%eax
579704:	8b 40 20             	mov    0x20(%eax),%eax
579707:	85 c0                	test   %eax,%eax
579709:	74 09                	je     0x579714
57970b:	50                   	push   %eax
57970c:	e8 2f 72 ff ff       	call   0x570940
579711:	83 c4 04             	add    $0x4,%esp
579714:	b8 01 00 00 00       	mov    $0x1,%eax
579719:	c3                   	ret
57971a:	cc                   	int3
57971b:	cc                   	int3
57971c:	cc                   	int3
57971d:	cc                   	int3
57971e:	cc                   	int3
57971f:	cc                   	int3
579720:	b8 98 34 72 00       	mov    $0x723498,%eax
579725:	c3                   	ret
579726:	cc                   	int3
579727:	cc                   	int3
579728:	cc                   	int3
579729:	cc                   	int3
57972a:	cc                   	int3
57972b:	cc                   	int3
57972c:	cc                   	int3
57972d:	cc                   	int3
57972e:	cc                   	int3
57972f:	cc                   	int3
579730:	8b 44 24 0c          	mov    0xc(%esp),%eax
579734:	8b 48 44             	mov    0x44(%eax),%ecx
579737:	89 44 24 0c          	mov    %eax,0xc(%esp)
57973b:	8b 41 08             	mov    0x8(%ecx),%eax
57973e:	ff e0                	jmp    *%eax
579740:	53                   	push   %ebx
579741:	8b 5c 24 08          	mov    0x8(%esp),%ebx
579745:	56                   	push   %esi
579746:	57                   	push   %edi
579747:	8b 7c 24 18          	mov    0x18(%esp),%edi
57974b:	57                   	push   %edi
57974c:	ff 74 24 18          	push   0x18(%esp)
579750:	8b 47 44             	mov    0x44(%edi),%eax
579753:	53                   	push   %ebx
579754:	8b 40 08             	mov    0x8(%eax),%eax
579757:	ff d0                	call   *%eax
579759:	8b f0                	mov    %eax,%esi
57975b:	83 c4 0c             	add    $0xc,%esp
57975e:	85 f6                	test   %esi,%esi
579760:	7e 38                	jle    0x57979a
579762:	ff 77 08             	push   0x8(%edi)
579765:	e8 06 9c f3 ff       	call   0x4b3370
57976a:	83 c0 07             	add    $0x7,%eax
57976d:	83 c4 04             	add    $0x4,%esp
579770:	99                   	cltd
579771:	83 e2 07             	and    $0x7,%edx
579774:	8d 3c 02             	lea    (%edx,%eax,1),%edi
579777:	c1 ff 03             	sar    $0x3,%edi
57977a:	2b fe                	sub    %esi,%edi
57977c:	85 ff                	test   %edi,%edi
57977e:	7e 17                	jle    0x579797
579780:	56                   	push   %esi
579781:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
579784:	53                   	push   %ebx
579785:	51                   	push   %ecx
579786:	e8 f5 9c 06 00       	call   0x5e3480
57978b:	57                   	push   %edi
57978c:	6a 00                	push   $0x0
57978e:	53                   	push   %ebx
57978f:	e8 6c a2 06 00       	call   0x5e3a00
579794:	83 c4 18             	add    $0x18,%esp
579797:	8d 04 37             	lea    (%edi,%esi,1),%eax
57979a:	5f                   	pop    %edi
57979b:	5e                   	pop    %esi
57979c:	5b                   	pop    %ebx
57979d:	c3                   	ret
57979e:	cc                   	int3