5fa39a:	47                   	inc    %edi
5fa39b:	88 07                	mov    %al,(%edi)
5fa39d:	47                   	inc    %edi
5fa39e:	88 07                	mov    %al,(%edi)
5fa3a0:	47                   	inc    %edi
5fa3a1:	83 44 24 14 04       	addl   $0x4,0x14(%esp)
5fa3a6:	4b                   	dec    %ebx
5fa3a7:	75 de                	jne    0x5fa387
5fa3a9:	ff 44 24 04          	incl   0x4(%esp)
5fa3ad:	ff 4c 24 30          	decl   0x30(%esp)
5fa3b1:	75 b0                	jne    0x5fa363
5fa3b3:	e9 9d 05 00 00       	jmp    0x5fa955
5fa3b8:	b2 05                	mov    $0x5,%dl
5fa3ba:	8b 04 24             	mov    (%esp),%eax
5fa3bd:	e8 ea 05 00 00       	call   0x5fa9ac
5fa3c2:	8b 14 24             	mov    (%esp),%edx
5fa3c5:	8b c6                	mov    %esi,%eax
5fa3c7:	e8 e4 e8 ff ff       	call   0x5f8cb0
5fa3cc:	e9 84 05 00 00       	jmp    0x5fa955
5fa3d1:	8b 46 34             	mov    0x34(%esi),%eax
5fa3d4:	48                   	dec    %eax
5fa3d5:	85 c0                	test   %eax,%eax
5fa3d7:	0f 8c 78 05 00 00    	jl     0x5fa955
5fa3dd:	40                   	inc    %eax
5fa3de:	89 44 24 30          	mov    %eax,0x30(%esp)
5fa3e2:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5fa3e9:	00
5fa3ea:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa3ee:	8b 04 24             	mov    (%esp),%eax
5fa3f1:	8b 08                	mov    (%eax),%ecx
5fa3f3:	ff 11                	call   *(%ecx)
5fa3f5:	89 44 24 14          	mov    %eax,0x14(%esp)
5fa3f9:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa3fd:	8b c6                	mov    %esi,%eax
5fa3ff:	8b 08                	mov    (%eax),%ecx
5fa401:	ff 11                	call   *(%ecx)
5fa403:	8b f8                	mov    %eax,%edi
5fa405:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa408:	4b                   	dec    %ebx
5fa409:	85 db                	test   %ebx,%ebx
5fa40b:	7c 2c                	jl     0x5fa439
5fa40d:	43                   	inc    %ebx
5fa40e:	8b 44 24 14          	mov    0x14(%esp),%eax
5fa412:	d9 00                	flds   (%eax)
5fa414:	d8 0d a0 a9 5f 00    	fmuls  0x5fa9a0
5fa41a:	e8 ad 88 e0 ff       	call   0x402ccc
5fa41f:	66 89 07             	mov    %ax,(%edi)
5fa422:	83 c7 02             	add    $0x2,%edi
5fa425:	66 89 07             	mov    %ax,(%edi)
5fa428:	83 c7 02             	add    $0x2,%edi
5fa42b:	66 89 07             	mov    %ax,(%edi)
5fa42e:	83 c7 02             	add    $0x2,%edi
5fa431:	83 44 24 14 04       	addl   $0x4,0x14(%esp)
5fa436:	4b                   	dec    %ebx
5fa437:	75 d5                	jne    0x5fa40e
5fa439:	ff 44 24 04          	incl   0x4(%esp)
5fa43d:	ff 4c 24 30          	decl   0x30(%esp)
5fa441:	75 a7                	jne    0x5fa3ea
5fa443:	e9 0d 05 00 00       	jmp    0x5fa955
5fa448:	33 c0                	xor    %eax,%eax
5fa44a:	8a 46 40             	mov    0x40(%esi),%al
5fa44d:	83 f8 08             	cmp    $0x8,%eax
5fa450:	0f 87 ff 04 00 00    	ja     0x5fa955
5fa456:	ff 24 85 5d a4 5f 00 	jmp    *0x5fa45d(,%eax,4)
5fa45d:	55                   	push   %ebp
5fa45e:	a9 5f 00 81 a4       	test   $0xa481005f,%eax
5fa463:	5f                   	pop    %edi
5fa464:	00 9a a4 5f 00 b3    	add    %bl,-0x4cffa05c(%edx)
5fa46a:	a4                   	movsb  %ds:(%esi),%es:(%edi)
5fa46b:	5f                   	pop    %edi
5fa46c:	00 cc                	add    %cl,%ah
5fa46e:	a4                   	movsb  %ds:(%esi),%es:(%edi)
5fa46f:	5f                   	pop    %edi
5fa470:	00 fe                	add    %bh,%dh
5fa472:	a4                   	movsb  %ds:(%esi),%es:(%edi)
5fa473:	5f                   	pop    %edi
5fa474:	00 e5                	add    %ah,%ch
5fa476:	a4                   	movsb  %ds:(%esi),%es:(%edi)
5fa477:	5f                   	pop    %edi
5fa478:	00 55 a9             	add    %dl,-0x57(%ebp)
5fa47b:	5f                   	pop    %edi
5fa47c:	00 7c a5 5f          	add    %bh,0x5f(%ebp,%eiz,4)
5fa480:	00 b2 05 8b 04 24    	add    %dh,0x24048b05(%edx)
5fa486:	e8 21 05 00 00       	call   0x5fa9ac
5fa48b:	8b 14 24             	mov    (%esp),%edx
5fa48e:	8b c6                	mov    %esi,%eax
5fa490:	e8 1b e8 ff ff       	call   0x5f8cb0
5fa495:	e9 bb 04 00 00       	jmp    0x5fa955
5fa49a:	b2 05                	mov    $0x5,%dl
5fa49c:	8b 04 24             	mov    (%esp),%eax
5fa49f:	e8 08 05 00 00       	call   0x5fa9ac
5fa4a4:	8b 14 24             	mov    (%esp),%edx
5fa4a7:	8b c6                	mov    %esi,%eax
5fa4a9:	e8 02 e8 ff ff       	call   0x5f8cb0
5fa4ae:	e9 a2 04 00 00       	jmp    0x5fa955
5fa4b3:	b2 05                	mov    $0x5,%dl
5fa4b5:	8b 04 24             	mov    (%esp),%eax
5fa4b8:	e8 ef 04 00 00       	call   0x5fa9ac
5fa4bd:	8b 14 24             	mov    (%esp),%edx
5fa4c0:	8b c6                	mov    %esi,%eax
5fa4c2:	e8 e9 e7 ff ff       	call   0x5f8cb0
5fa4c7:	e9 89 04 00 00       	jmp    0x5fa955
5fa4cc:	b2 05                	mov    $0x5,%dl
5fa4ce:	8b 04 24             	mov    (%esp),%eax
5fa4d1:	e8 d6 04 00 00       	call   0x5fa9ac
5fa4d6:	8b 14 24             	mov    (%esp),%edx
5fa4d9:	8b c6                	mov    %esi,%eax
5fa4db:	e8 d0 e7 ff ff       	call   0x5f8cb0
5fa4e0:	e9 70 04 00 00       	jmp    0x5fa955
5fa4e5:	b2 05                	mov    $0x5,%dl
5fa4e7:	8b 04 24             	mov    (%esp),%eax
5fa4ea:	e8 bd 04 00 00       	call   0x5fa9ac
5fa4ef:	8b 14 24             	mov    (%esp),%edx
5fa4f2:	8b c6                	mov    %esi,%eax
5fa4f4:	e8 b7 e7 ff ff       	call   0x5f8cb0
5fa4f9:	e9 57 04 00 00       	jmp    0x5fa955
5fa4fe:	8b 46 34             	mov    0x34(%esi),%eax
5fa501:	48                   	dec    %eax
5fa502:	85 c0                	test   %eax,%eax
5fa504:	0f 8c 4b 04 00 00    	jl     0x5fa955
5fa50a:	40                   	inc    %eax
5fa50b:	89 44 24 30          	mov    %eax,0x30(%esp)
5fa50f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5fa516:	00
5fa517:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa51b:	8b 04 24             	mov    (%esp),%eax
5fa51e:	8b 08                	mov    (%eax),%ecx
5fa520:	ff 11                	call   *(%ecx)
5fa522:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5fa526:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa52a:	8b c6                	mov    %esi,%eax
5fa52c:	8b 08                	mov    (%eax),%ecx
5fa52e:	ff 11                	call   *(%ecx)
5fa530:	8b f8                	mov    %eax,%edi
5fa532:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa535:	4b                   	dec    %ebx
5fa536:	85 db                	test   %ebx,%ebx
5fa538:	7c 33                	jl     0x5fa56d
5fa53a:	43                   	inc    %ebx
5fa53b:	8d 94 24 94 03 00 00 	lea    0x394(%esp),%edx
5fa542:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5fa546:	8b 00                	mov    (%eax),%eax
5fa548:	e8 53 aa fd ff       	call   0x5d4fa0
5fa54d:	66 8b 84 24 94 03 00 	mov    0x394(%esp),%ax
5fa554:	00
5fa555:	66 89 07             	mov    %ax,(%edi)
5fa558:	8a 84 24 96 03 00 00 	mov    0x396(%esp),%al
5fa55f:	88 47 02             	mov    %al,0x2(%edi)
5fa562:	83 44 24 1c 04       	addl   $0x4,0x1c(%esp)
5fa567:	83 c7 03             	add    $0x3,%edi
5fa56a:	4b                   	dec    %ebx
5fa56b:	75 ce                	jne    0x5fa53b
5fa56d:	ff 44 24 04          	incl   0x4(%esp)
5fa571:	ff 4c 24 30          	decl   0x30(%esp)
5fa575:	75 a0                	jne    0x5fa517
5fa577:	e9 d9 03 00 00       	jmp    0x5fa955
5fa57c:	b2 05                	mov    $0x5,%dl
5fa57e:	8b 04 24             	mov    (%esp),%eax
5fa581:	e8 26 04 00 00       	call   0x5fa9ac
5fa586:	8b 14 24             	mov    (%esp),%edx
5fa589:	8b c6                	mov    %esi,%eax
5fa58b:	e8 20 e7 ff ff       	call   0x5f8cb0
5fa590:	e9 c0 03 00 00       	jmp    0x5fa955
5fa595:	33 c0                	xor    %eax,%eax
5fa597:	8a 46 40             	mov    0x40(%esi),%al
5fa59a:	83 f8 07             	cmp    $0x7,%eax
5fa59d:	0f 87 b2 03 00 00    	ja     0x5fa955
5fa5a3:	ff 24 85 aa a5 5f 00 	jmp    *0x5fa5aa(,%eax,4)
5fa5aa:	55                   	push   %ebp
5fa5ab:	a9 5f 00 ca a5       	test   $0xa5ca005f,%eax
5fa5b0:	5f                   	pop    %edi
5fa5b1:	00 e1                	add    %ah,%cl
5fa5b3:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
5fa5b4:	5f                   	pop    %edi
5fa5b5:	00 fa                	add    %bh,%dl
5fa5b7:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
5fa5b8:	5f                   	pop    %edi
5fa5b9:	00 90 a7 5f 00 dd    	add    %dl,-0x22ffa059(%eax)
5fa5bf:	a8 5f                	test   $0x5f,%al
5fa5c1:	00 15 a8 5f 00 e1    	add    %dl,0xe1005fa8
5fa5c7:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
5fa5c8:	5f                   	pop    %edi
5fa5c9:	00 8a 46 4c 2c 01    	add    %cl,0x12c4c46(%edx)
5fa5cf:	72 0b                	jb     0x5fa5dc
5fa5d1:	0f 84 e5 00 00 00    	je     0x5fa6bc
5fa5d7:	e9 79 03 00 00       	jmp    0x5fa955
5fa5dc:	8b 46 34             	mov    0x34(%esi),%eax
5fa5df:	48                   	dec    %eax
5fa5e0:	85 c0                	test   %eax,%eax
5fa5e2:	0f 8c 6d 03 00 00    	jl     0x5fa955
5fa5e8:	40                   	inc    %eax
5fa5e9:	89 44 24 30          	mov    %eax,0x30(%esp)
5fa5ed:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5fa5f4:	00
5fa5f5:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa5f9:	8b 04 24             	mov    (%esp),%eax
5fa5fc:	8b 08                	mov    (%eax),%ecx
5fa5fe:	ff 11                	call   *(%ecx)
5fa600:	89 44 24 20          	mov    %eax,0x20(%esp)
5fa604:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa608:	8b c6                	mov    %esi,%eax
5fa60a:	8b 08                	mov    (%eax),%ecx
5fa60c:	ff 11                	call   *(%ecx)
5fa60e:	8b f8                	mov    %eax,%edi
5fa610:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa613:	4b                   	dec    %ebx
5fa614:	85 db                	test   %ebx,%ebx
5fa616:	0f 8c 8d 00 00 00    	jl     0x5fa6a9
5fa61c:	43                   	inc    %ebx
5fa61d:	33 ed                	xor    %ebp,%ebp
5fa61f:	8b 44 24 20          	mov    0x20(%esp),%eax
5fa623:	89 44 24 4c          	mov    %eax,0x4c(%esp)
5fa627:	8b 44 24 4c          	mov    0x4c(%esp),%eax
5fa62b:	0f b7 00             	movzwl (%eax),%eax
5fa62e:	c1 e8 08             	shr    $0x8,%eax
5fa631:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5fa637:	f7 2a                	imull  (%edx)
5fa639:	8b 54 24 4c          	mov    0x4c(%esp),%edx
5fa63d:	0f b7 52 02          	movzwl 0x2(%edx),%edx
5fa641:	c1 ea 08             	shr    $0x8,%edx
5fa644:	8b 0d 4c 71 6a 00    	mov    0x6a714c,%ecx
5fa64a:	0f af 11             	imul   (%ecx),%edx
5fa64d:	03 c2                	add    %edx,%eax
5fa64f:	8b 54 24 4c          	mov    0x4c(%esp),%edx
5fa653:	0f b7 52 04          	movzwl 0x4(%edx),%edx
5fa657:	c1 ea 08             	shr    $0x8,%edx
5fa65a:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5fa660:	0f af 11             	imul   (%ecx),%edx
5fa663:	03 c2                	add    %edx,%eax
5fa665:	b9 64 00 00 00       	mov    $0x64,%ecx
5fa66a:	99                   	cltd
5fa66b:	f7 f9                	idiv   %ecx
5fa66d:	c1 e8 02             	shr    $0x2,%eax
5fa670:	8b d5                	mov    %ebp,%edx
5fa672:	83 e2 07             	and    $0x7,%edx
5fa675:	c1 e2 02             	shl    $0x2,%edx
5fa678:	8b 0d c0 6f 6a 00    	mov    0x6a6fc0,%ecx
5fa67e:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
5fa681:	52                   	push   %edx
5fa682:	8b 54 24 08          	mov    0x8(%esp),%edx
5fa686:	83 e2 07             	and    $0x7,%edx
5fa689:	59                   	pop    %ecx
5fa68a:	3b 04 91             	cmp    (%ecx,%edx,4),%eax
5fa68d:	0f 9f c1             	setg   %cl
5fa690:	83 e1 7f             	and    $0x7f,%ecx
5fa693:	8b d5                	mov    %ebp,%edx
5fa695:	8b c7                	mov    %edi,%eax
5fa697:	e8 80 54 fb ff       	call   0x5afb1c
5fa69c:	83 44 24 20 06       	addl   $0x6,0x20(%esp)
5fa6a1:	45                   	inc    %ebp
5fa6a2:	4b                   	dec    %ebx
5fa6a3:	0f 85 76 ff ff ff    	jne    0x5fa61f
5fa6a9:	ff 44 24 04          	incl   0x4(%esp)
5fa6ad:	ff 4c 24 30          	decl   0x30(%esp)
5fa6b1:	0f 85 3e ff ff ff    	jne    0x5fa5f5
5fa6b7:	e9 99 02 00 00       	jmp    0x5fa955
5fa6bc:	b2 05                	mov    $0x5,%dl
5fa6be:	8b 04 24             	mov    (%esp),%eax
5fa6c1:	e8 e6 02 00 00       	call   0x5fa9ac
5fa6c6:	8d 84 24 58 03 00 00 	lea    0x358(%esp),%eax
5fa6cd:	50                   	push   %eax
5fa6ce:	83 c9 ff             	or     $0xffffffff,%ecx
5fa6d1:	8b d6                	mov    %esi,%edx
5fa6d3:	8b 44 24 04          	mov    0x4(%esp),%eax
5fa6d7:	e8 d0 f2 fb ff       	call   0x5b99ac
5fa6dc:	e9 74 02 00 00       	jmp    0x5fa955
5fa6e1:	b2 05                	mov    $0x5,%dl
5fa6e3:	8b 04 24             	mov    (%esp),%eax
5fa6e6:	e8 c1 02 00 00       	call   0x5fa9ac
5fa6eb:	8b 14 24             	mov    (%esp),%edx
5fa6ee:	8b c6                	mov    %esi,%eax
5fa6f0:	e8 bb e5 ff ff       	call   0x5f8cb0
5fa6f5:	e9 5b 02 00 00       	jmp    0x5fa955
5fa6fa:	8b 46 34             	mov    0x34(%esi),%eax
5fa6fd:	48                   	dec    %eax
5fa6fe:	85 c0                	test   %eax,%eax
5fa700:	0f 8c 4f 02 00 00    	jl     0x5fa955
5fa706:	40                   	inc    %eax
5fa707:	89 44 24 30          	mov    %eax,0x30(%esp)
5fa70b:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5fa712:	00
5fa713:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa717:	8b 04 24             	mov    (%esp),%eax
5fa71a:	8b 08                	mov    (%eax),%ecx
5fa71c:	ff 11                	call   *(%ecx)
5fa71e:	89 44 24 20          	mov    %eax,0x20(%esp)
5fa722:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa726:	8b c6                	mov    %esi,%eax
5fa728:	8b 08                	mov    (%eax),%ecx
5fa72a:	ff 11                	call   *(%ecx)
5fa72c:	8b f8                	mov    %eax,%edi
5fa72e:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa731:	4b                   	dec    %ebx
5fa732:	85 db                	test   %ebx,%ebx
5fa734:	7c 4b                	jl     0x5fa781
5fa736:	43                   	inc    %ebx
5fa737:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5fa73b:	0f b7 01             	movzwl (%ecx),%eax
5fa73e:	c1 e8 08             	shr    $0x8,%eax
5fa741:	8b 15 24 72 6a 00    	mov    0x6a7224,%edx
5fa747:	f7 2a                	imull  (%edx)
5fa749:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
5fa74d:	c1 ea 08             	shr    $0x8,%edx
5fa750:	8b 2d 4c 71 6a 00    	mov    0x6a714c,%ebp
5fa756:	0f af 55 00          	imul   0x0(%ebp),%edx
5fa75a:	03 c2                	add    %edx,%eax
5fa75c:	0f b7 51 04          	movzwl 0x4(%ecx),%edx
5fa760:	c1 ea 08             	shr    $0x8,%edx
5fa763:	8b 0d bc 6d 6a 00    	mov    0x6a6dbc,%ecx
5fa769:	0f af 11             	imul   (%ecx),%edx
5fa76c:	03 c2                	add    %edx,%eax
5fa76e:	b9 64 00 00 00       	mov    $0x64,%ecx
5fa773:	99                   	cltd
5fa774:	f7 f9                	idiv   %ecx
5fa776:	88 07                	mov    %al,(%edi)
5fa778:	83 44 24 20 06       	addl   $0x6,0x20(%esp)
5fa77d:	47                   	inc    %edi
5fa77e:	4b                   	dec    %ebx
5fa77f:	75 b6                	jne    0x5fa737
5fa781:	ff 44 24 04          	incl   0x4(%esp)
5fa785:	ff 4c 24 30          	decl   0x30(%esp)
5fa789:	75 88                	jne    0x5fa713
5fa78b:	e9 c5 01 00 00       	jmp    0x5fa955
5fa790:	8b 46 34             	mov    0x34(%esi),%eax
5fa793:	48                   	dec    %eax
5fa794:	85 c0                	test   %eax,%eax
5fa796:	0f 8c b9 01 00 00    	jl     0x5fa955
5fa79c:	40                   	inc    %eax
5fa79d:	89 44 24 30          	mov    %eax,0x30(%esp)
5fa7a1:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
5fa7a8:	00
5fa7a9:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa7ad:	8b 04 24             	mov    (%esp),%eax
5fa7b0:	8b 08                	mov    (%eax),%ecx
5fa7b2:	ff 11                	call   *(%ecx)
5fa7b4:	89 44 24 20          	mov    %eax,0x20(%esp)
5fa7b8:	8b 54 24 04          	mov    0x4(%esp),%edx
5fa7bc:	8b c6                	mov    %esi,%eax
5fa7be:	8b 08                	mov    (%eax),%ecx
5fa7c0:	ff 11                	call   *(%ecx)
5fa7c2:	8b f8                	mov    %eax,%edi
5fa7c4:	8b 5e 30             	mov    0x30(%esi),%ebx
5fa7c7:	4b                   	dec    %ebx
5fa7c8:	85 db                	test   %ebx,%ebx
5fa7ca:	7c 3a                	jl     0x5fa806
5fa7cc:	43                   	inc    %ebx
5fa7cd:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5fa7d1:	0f b7 01             	movzwl (%ecx),%eax
5fa7d4:	69 c0 d4 00 00 00    	imul   $0xd4,%eax,%eax
5fa7da:	0f b7 51 02          	movzwl 0x2(%ecx),%edx