5794f1:	e8 86 ee ff ff       	call   0x57837c
5794f6:	8b d8                	mov    %eax,%ebx
5794f8:	85 c0                	test   %eax,%eax
5794fa:	75 04                	jne    0x579500
5794fc:	33 c0                	xor    %eax,%eax
5794fe:	eb 25                	jmp    0x579525
579500:	33 c0                	xor    %eax,%eax
579502:	56                   	push   %esi
579503:	8b fe                	mov    %esi,%edi
579505:	83 c9 ff             	or     $0xffffffff,%ecx
579508:	f2 ae                	repnz scas %es:(%edi),%al
57950a:	f7 d1                	not    %ecx
57950c:	2b f9                	sub    %ecx,%edi
57950e:	8b f3                	mov    %ebx,%esi
579510:	87 f7                	xchg   %esi,%edi
579512:	8b d1                	mov    %ecx,%edx
579514:	8b c7                	mov    %edi,%eax
579516:	c1 e9 02             	shr    $0x2,%ecx
579519:	8b c3                	mov    %ebx,%eax
57951b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
57951d:	8b ca                	mov    %edx,%ecx
57951f:	83 e1 03             	and    $0x3,%ecx
579522:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
579524:	5e                   	pop    %esi
579525:	5f                   	pop    %edi
579526:	5e                   	pop    %esi
579527:	5b                   	pop    %ebx
579528:	c3                   	ret
579529:	8d 40 00             	lea    0x0(%eax),%eax
57952c:	b8 28 2c 6a 00       	mov    $0x6a2c28,%eax
579531:	c3                   	ret
579532:	8b c0                	mov    %eax,%eax
579534:	53                   	push   %ebx
579535:	8b d8                	mov    %eax,%ebx
579537:	85 db                	test   %ebx,%ebx
579539:	7f 17                	jg     0x579552
57953b:	68 8f 00 00 00       	push   $0x8f
579540:	68 36 2c 6a 00       	push   $0x6a2c36
579545:	68 30 2c 6a 00       	push   $0x6a2c30
57954a:	e8 f1 15 fe ff       	call   0x55ab40
57954f:	83 c4 0c             	add    $0xc,%esp
579552:	33 c0                	xor    %eax,%eax
579554:	83 fb 01             	cmp    $0x1,%ebx
579557:	7e 08                	jle    0x579561
579559:	d1 fb                	sar    $1,%ebx
57955b:	40                   	inc    %eax
57955c:	83 fb 01             	cmp    $0x1,%ebx
57955f:	7f f8                	jg     0x579559
579561:	5b                   	pop    %ebx
579562:	c3                   	ret
579563:	90                   	nop
579564:	53                   	push   %ebx
579565:	8b d8                	mov    %eax,%ebx
579567:	85 db                	test   %ebx,%ebx
579569:	7d 17                	jge    0x579582
57956b:	68 a2 00 00 00       	push   $0xa2
579570:	68 48 2c 6a 00       	push   $0x6a2c48
579575:	68 41 2c 6a 00       	push   $0x6a2c41
57957a:	e8 c1 15 fe ff       	call   0x55ab40
57957f:	83 c4 0c             	add    $0xc,%esp
579582:	83 c8 ff             	or     $0xffffffff,%eax
579585:	85 db                	test   %ebx,%ebx
579587:	7e 07                	jle    0x579590
579589:	d1 fb                	sar    $1,%ebx
57958b:	40                   	inc    %eax
57958c:	85 db                	test   %ebx,%ebx
57958e:	7f f9                	jg     0x579589
579590:	5b                   	pop    %ebx
579591:	c3                   	ret
579592:	8b c0                	mov    %eax,%eax
579594:	53                   	push   %ebx
579595:	56                   	push   %esi
579596:	57                   	push   %edi
579597:	55                   	push   %ebp
579598:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
57959e:	50                   	push   %eax
57959f:	83 c4 f8             	add    $0xfffffff8,%esp
5795a2:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5795a6:	89 14 24             	mov    %edx,(%esp)
5795a9:	8b e8                	mov    %eax,%ebp
5795ab:	68 00 10 00 00       	push   $0x1000
5795b0:	55                   	push   %ebp
5795b1:	8d 44 24 10          	lea    0x10(%esp),%eax
5795b5:	50                   	push   %eax
5795b6:	e8 b5 1a fe ff       	call   0x55b070
5795bb:	83 c4 0c             	add    $0xc,%esp
5795be:	33 f6                	xor    %esi,%esi
5795c0:	c6 84 24 07 10 00 00 	movb   $0x0,0x1007(%esp)
5795c7:	00
5795c8:	68 54 2c 6a 00       	push   $0x6a2c54
5795cd:	8d 44 24 0c          	lea    0xc(%esp),%eax
5795d1:	50                   	push   %eax
5795d2:	e8 d1 0b 00 00       	call   0x57a1a8
5795d7:	83 c4 08             	add    $0x8,%esp
5795da:	8b d8                	mov    %eax,%ebx
5795dc:	85 c0                	test   %eax,%eax
5795de:	74 1d                	je     0x5795fd
5795e0:	46                   	inc    %esi
5795e1:	eb 05                	jmp    0x5795e8
5795e3:	85 db                	test   %ebx,%ebx
5795e5:	74 01                	je     0x5795e8
5795e7:	46                   	inc    %esi
5795e8:	68 54 2c 6a 00       	push   $0x6a2c54
5795ed:	6a 00                	push   $0x0
5795ef:	e8 b4 0b 00 00       	call   0x57a1a8
5795f4:	83 c4 08             	add    $0x8,%esp
5795f7:	8b d8                	mov    %eax,%ebx
5795f9:	85 c0                	test   %eax,%eax
5795fb:	75 e6                	jne    0x5795e3
5795fd:	85 f6                	test   %esi,%esi
5795ff:	0f 84 83 00 00 00    	je     0x579688
579605:	8b c6                	mov    %esi,%eax
579607:	c1 e0 03             	shl    $0x3,%eax
57960a:	e8 6d ed ff ff       	call   0x57837c
57960f:	8b f8                	mov    %eax,%edi
579611:	85 c0                	test   %eax,%eax
579613:	75 05                	jne    0x57961a
579615:	83 c8 ff             	or     $0xffffffff,%eax
579618:	eb 7d                	jmp    0x579697
57961a:	68 00 10 00 00       	push   $0x1000
57961f:	55                   	push   %ebp
579620:	8d 54 24 10          	lea    0x10(%esp),%edx
579624:	52                   	push   %edx
579625:	e8 46 1a fe ff       	call   0x55b070
57962a:	83 c4 0c             	add    $0xc,%esp
57962d:	33 f6                	xor    %esi,%esi
57962f:	c6 84 24 07 10 00 00 	movb   $0x0,0x1007(%esp)
579636:	00
579637:	68 54 2c 6a 00       	push   $0x6a2c54
57963c:	8d 44 24 0c          	lea    0xc(%esp),%eax
579640:	50                   	push   %eax
579641:	e8 62 0b 00 00       	call   0x57a1a8
579646:	83 c4 08             	add    $0x8,%esp
579649:	8b d8                	mov    %eax,%ebx
57964b:	85 c0                	test   %eax,%eax
57964d:	74 3b                	je     0x57968a
57964f:	53                   	push   %ebx
579650:	e8 57 19 fe ff       	call   0x55afac
579655:	59                   	pop    %ecx
579656:	dd 1c f7             	fstpl  (%edi,%esi,8)
579659:	46                   	inc    %esi
57965a:	8d 2c f7             	lea    (%edi,%esi,8),%ebp
57965d:	eb 12                	jmp    0x579671
57965f:	85 db                	test   %ebx,%ebx
579661:	74 0e                	je     0x579671
579663:	53                   	push   %ebx
579664:	e8 43 19 fe ff       	call   0x55afac
579669:	59                   	pop    %ecx
57966a:	46                   	inc    %esi
57966b:	dd 5d 00             	fstpl  0x0(%ebp)
57966e:	83 c5 08             	add    $0x8,%ebp
579671:	68 54 2c 6a 00       	push   $0x6a2c54
579676:	6a 00                	push   $0x0
579678:	e8 2b 0b 00 00       	call   0x57a1a8
57967d:	83 c4 08             	add    $0x8,%esp
579680:	8b d8                	mov    %eax,%ebx
579682:	85 c0                	test   %eax,%eax
579684:	75 d9                	jne    0x57965f
579686:	eb 02                	jmp    0x57968a
579688:	33 ff                	xor    %edi,%edi
57968a:	8b 04 24             	mov    (%esp),%eax
57968d:	89 30                	mov    %esi,(%eax)
57968f:	33 c0                	xor    %eax,%eax
579691:	8b 54 24 04          	mov    0x4(%esp),%edx
579695:	89 3a                	mov    %edi,(%edx)
579697:	81 c4 08 10 00 00    	add    $0x1008,%esp
57969d:	5d                   	pop    %ebp
57969e:	5f                   	pop    %edi
57969f:	5e                   	pop    %esi
5796a0:	5b                   	pop    %ebx
5796a1:	c3                   	ret
5796a2:	90                   	nop
5796a3:	90                   	nop
5796a4:	53                   	push   %ebx
5796a5:	56                   	push   %esi
5796a6:	57                   	push   %edi
5796a7:	8b f8                	mov    %eax,%edi
5796a9:	55                   	push   %ebp
5796aa:	6a 01                	push   $0x1
5796ac:	8b 4f 0c             	mov    0xc(%edi),%ecx
5796af:	8b da                	mov    %edx,%ebx
5796b1:	49                   	dec    %ecx
5796b2:	8b 47 04             	mov    0x4(%edi),%eax
5796b5:	0f af cb             	imul   %ebx,%ecx
5796b8:	f7 eb                	imul   %ebx
5796ba:	41                   	inc    %ecx
5796bb:	33 d2                	xor    %edx,%edx
5796bd:	e8 96 e5 ff ff       	call   0x577c58
5796c2:	8b f0                	mov    %eax,%esi
5796c4:	85 c0                	test   %eax,%eax
5796c6:	75 04                	jne    0x5796cc
5796c8:	33 c0                	xor    %eax,%eax
5796ca:	eb 5f                	jmp    0x57972b
5796cc:	8b 4e 04             	mov    0x4(%esi),%ecx
5796cf:	eb 51                	jmp    0x579722
5796d1:	85 c9                	test   %ecx,%ecx
5796d3:	7d 1c                	jge    0x5796f1
5796d5:	8b c1                	mov    %ecx,%eax
5796d7:	f7 d8                	neg    %eax
5796d9:	99                   	cltd
5796da:	f7 fb                	idiv   %ebx
5796dc:	85 d2                	test   %edx,%edx
5796de:	74 0d                	je     0x5796ed
5796e0:	8b c1                	mov    %ecx,%eax
5796e2:	f7 d8                	neg    %eax
5796e4:	99                   	cltd
5796e5:	f7 fb                	idiv   %ebx
5796e7:	8b c3                	mov    %ebx,%eax
5796e9:	2b c2                	sub    %edx,%eax
5796eb:	eb 0b                	jmp    0x5796f8
5796ed:	33 c0                	xor    %eax,%eax
5796ef:	eb 07                	jmp    0x5796f8
5796f1:	8b c1                	mov    %ecx,%eax
5796f3:	99                   	cltd
5796f4:	f7 fb                	idiv   %ebx
5796f6:	8b c2                	mov    %edx,%eax
5796f8:	85 c0                	test   %eax,%eax
5796fa:	75 14                	jne    0x579710
5796fc:	8b c1                	mov    %ecx,%eax
5796fe:	99                   	cltd
5796ff:	f7 fb                	idiv   %ebx
579701:	8b 57 04             	mov    0x4(%edi),%edx
579704:	2b c2                	sub    %edx,%eax
579706:	8b 57 1c             	mov    0x1c(%edi),%edx
579709:	8b 12                	mov    (%edx),%edx
57970b:	8b 04 82             	mov    (%edx,%eax,4),%eax
57970e:	eb 02                	jmp    0x579712
579710:	33 c0                	xor    %eax,%eax
579712:	8b 6e 1c             	mov    0x1c(%esi),%ebp
579715:	8b d1                	mov    %ecx,%edx
579717:	2b 56 04             	sub    0x4(%esi),%edx
57971a:	41                   	inc    %ecx
57971b:	8b 6d 00             	mov    0x0(%ebp),%ebp
57971e:	89 44 95 00          	mov    %eax,0x0(%ebp,%edx,4)
579722:	8b 46 0c             	mov    0xc(%esi),%eax
579725:	3b c8                	cmp    %eax,%ecx
579727:	7c a8                	jl     0x5796d1
579729:	8b c6                	mov    %esi,%eax
57972b:	5d                   	pop    %ebp
57972c:	5f                   	pop    %edi
57972d:	5e                   	pop    %esi
57972e:	5b                   	pop    %ebx
57972f:	c3                   	ret
579730:	53                   	push   %ebx
579731:	8b d8                	mov    %eax,%ebx
579733:	56                   	push   %esi
579734:	57                   	push   %edi
579735:	51                   	push   %ecx
579736:	33 ff                	xor    %edi,%edi
579738:	8b 73 04             	mov    0x4(%ebx),%esi
57973b:	eb 31                	jmp    0x57976e
57973d:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
579740:	8b 53 04             	mov    0x4(%ebx),%edx
579743:	8b c6                	mov    %esi,%eax
579745:	2b c2                	sub    %edx,%eax
579747:	8b 11                	mov    (%ecx),%edx
579749:	8b ce                	mov    %esi,%ecx
57974b:	8b 04 82             	mov    (%edx,%eax,4),%eax
57974e:	99                   	cltd
57974f:	52                   	push   %edx
579750:	50                   	push   %eax
579751:	8b 53 1c             	mov    0x1c(%ebx),%edx
579754:	8b 43 04             	mov    0x4(%ebx),%eax
579757:	2b c8                	sub    %eax,%ecx
579759:	8b 02                	mov    (%edx),%eax
57975b:	8b 04 88             	mov    (%eax,%ecx,4),%eax
57975e:	99                   	cltd
57975f:	e8 20 19 fe ff       	call   0x55b084
579764:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
579768:	c1 fa 0d             	sar    $0xd,%edx
57976b:	03 f8                	add    %eax,%edi
57976d:	46                   	inc    %esi
57976e:	8b 53 0c             	mov    0xc(%ebx),%edx
579771:	3b f2                	cmp    %edx,%esi
579773:	7c c8                	jl     0x57973d
579775:	89 3c 24             	mov    %edi,(%esp)
579778:	db 04 24             	fildl  (%esp)
57977b:	d8 0d a0 97 57 00    	fmuls  0x5797a0
579781:	83 c4 f8             	add    $0xfffffff8,%esp
579784:	dd 1c 24             	fstpl  (%esp)
579787:	e8 ac 18 fe ff       	call   0x55b038
57978c:	83 c4 08             	add    $0x8,%esp
57978f:	d8 0d a4 97 57 00    	fmuls  0x5797a4
579795:	e8 46 13 fe ff       	call   0x55aae0
57979a:	5a                   	pop    %edx
57979b:	5f                   	pop    %edi
57979c:	5e                   	pop    %esi
57979d:	5b                   	pop    %ebx
57979e:	c3                   	ret
57979f:	00 00                	add    %al,(%eax)
5797a1:	00 00                	add    %al,(%eax)
5797a3:	39 00                	cmp    %eax,(%eax)
5797a5:	00 00                	add    %al,(%eax)
5797a7:	46                   	inc    %esi
5797a8:	53                   	push   %ebx
5797a9:	56                   	push   %esi
5797aa:	57                   	push   %edi
5797ab:	55                   	push   %ebp
5797ac:	83 c4 f4             	add    $0xfffffff4,%esp
5797af:	8b fa                	mov    %edx,%edi
5797b1:	8b f0                	mov    %eax,%esi
5797b3:	6a 01                	push   $0x1
5797b5:	8b 4f 0c             	mov    0xc(%edi),%ecx
5797b8:	8b 46 0c             	mov    0xc(%esi),%eax
5797bb:	03 c8                	add    %eax,%ecx
5797bd:	8b 56 04             	mov    0x4(%esi),%edx
5797c0:	8b 47 04             	mov    0x4(%edi),%eax
5797c3:	49                   	dec    %ecx
5797c4:	03 c2                	add    %edx,%eax
5797c6:	33 d2                	xor    %edx,%edx
5797c8:	e8 8b e4 ff ff       	call   0x577c58
5797cd:	89 44 24 04          	mov    %eax,0x4(%esp)
5797d1:	8b 44 24 04          	mov    0x4(%esp),%eax
5797d5:	85 c0                	test   %eax,%eax
5797d7:	75 17                	jne    0x5797f0
5797d9:	68 e2 00 00 00       	push   $0xe2
5797de:	68 5b 2c 6a 00       	push   $0x6a2c5b
5797e3:	68 59 2c 6a 00       	push   $0x6a2c59
5797e8:	e8 53 13 fe ff       	call   0x55ab40
5797ed:	83 c4 0c             	add    $0xc,%esp
5797f0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5797f4:	8b 41 04             	mov    0x4(%ecx),%eax
5797f7:	89 04 24             	mov    %eax,(%esp)
5797fa:	eb 78                	jmp    0x579874
5797fc:	33 d2                	xor    %edx,%edx
5797fe:	89 54 24 08          	mov    %edx,0x8(%esp)
579802:	8b 5f 04             	mov    0x4(%edi),%ebx
579805:	eb 47                	jmp    0x57984e
579807:	8b 04 24             	mov    (%esp),%eax
57980a:	2b c3                	sub    %ebx,%eax
57980c:	8b 56 04             	mov    0x4(%esi),%edx
57980f:	3b c2                	cmp    %edx,%eax
579811:	7c 07                	jl     0x57981a
579813:	8b 4e 0c             	mov    0xc(%esi),%ecx
579816:	3b c1                	cmp    %ecx,%eax
579818:	7c 04                	jl     0x57981e
57981a:	33 ed                	xor    %ebp,%ebp
57981c:	eb 0a                	jmp    0x579828
57981e:	2b c2                	sub    %edx,%eax
579820:	8b 56 1c             	mov    0x1c(%esi),%edx
579823:	8b 0a                	mov    (%edx),%ecx
579825:	8b 2c 81             	mov    (%ecx,%eax,4),%ebp
579828:	8b c5                	mov    %ebp,%eax
57982a:	8b cb                	mov    %ebx,%ecx
57982c:	99                   	cltd
57982d:	52                   	push   %edx
57982e:	50                   	push   %eax
57982f:	8b 57 1c             	mov    0x1c(%edi),%edx
579832:	8b 47 04             	mov    0x4(%edi),%eax
579835:	2b c8                	sub    %eax,%ecx