411584:	52                   	push   %edx
411585:	57                   	push   %edi
411586:	89 45 e0             	mov    %eax,-0x20(%ebp)
411589:	e8 52 80 00 00       	call   0x4195e0
41158e:	8b 45 ec             	mov    -0x14(%ebp),%eax
411591:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411594:	03 74 08 04          	add    0x4(%eax,%ecx,1),%esi
411598:	83 c0 08             	add    $0x8,%eax
41159b:	83 c4 18             	add    $0x18,%esp
41159e:	89 45 ec             	mov    %eax,-0x14(%ebp)
4115a1:	3b 75 d0             	cmp    -0x30(%ebp),%esi
4115a4:	72 c0                	jb     0x411566
4115a6:	8d 55 f8             	lea    -0x8(%ebp),%edx
4115a9:	52                   	push   %edx
4115aa:	e8 81 7f 00 00       	call   0x419530
4115af:	6a 02                	push   $0x2
4115b1:	57                   	push   %edi
4115b2:	89 45 d8             	mov    %eax,-0x28(%ebp)
4115b5:	e8 f6 7e 00 00       	call   0x4194b0
4115ba:	33 ff                	xor    %edi,%edi
4115bc:	83 c4 0c             	add    $0xc,%esp
4115bf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4115c2:	39 7d d8             	cmp    %edi,-0x28(%ebp)
4115c5:	76 50                	jbe    0x411617
4115c7:	0f b7 45 dc          	movzwl -0x24(%ebp),%eax
4115cb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4115ce:	8b ff                	mov    %edi,%edi
4115d0:	33 f6                	xor    %esi,%esi
4115d2:	3b 44 f9 04          	cmp    0x4(%ecx,%edi,8),%eax
4115d6:	73 39                	jae    0x411611
4115d8:	eb 06                	jmp    0x4115e0
4115da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4115e0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4115e3:	8b 14 b9             	mov    (%ecx,%edi,4),%edx
4115e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4115e9:	03 d0                	add    %eax,%edx
4115eb:	03 d6                	add    %esi,%edx
4115ed:	52                   	push   %edx
4115ee:	8d 45 f4             	lea    -0xc(%ebp),%eax
4115f1:	50                   	push   %eax
4115f2:	51                   	push   %ecx
4115f3:	e8 e8 7f 00 00       	call   0x4195e0
4115f8:	0f b7 45 dc          	movzwl -0x24(%ebp),%eax
4115fc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4115ff:	83 c6 02             	add    $0x2,%esi
411602:	8d 14 30             	lea    (%eax,%esi,1),%edx
411605:	83 c4 0c             	add    $0xc,%esp
411608:	3b 54 f9 04          	cmp    0x4(%ecx,%edi,8),%edx
41160c:	72 d2                	jb     0x4115e0
41160e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411611:	47                   	inc    %edi
411612:	3b 7d d8             	cmp    -0x28(%ebp),%edi
411615:	72 b9                	jb     0x4115d0
411617:	8d 45 f4             	lea    -0xc(%ebp),%eax
41161a:	50                   	push   %eax
41161b:	e8 10 7f 00 00       	call   0x419530
411620:	8b 4d 08             	mov    0x8(%ebp),%ecx
411623:	6a 02                	push   $0x2
411625:	51                   	push   %ecx
411626:	8b f8                	mov    %eax,%edi
411628:	e8 83 7e 00 00       	call   0x4194b0
41162d:	83 c4 0c             	add    $0xc,%esp
411630:	33 f6                	xor    %esi,%esi
411632:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411635:	85 ff                	test   %edi,%edi
411637:	74 31                	je     0x41166a
411639:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
411640:	8b 55 f4             	mov    -0xc(%ebp),%edx
411643:	66 8b 04 72          	mov    (%edx,%esi,2),%ax
411647:	66 c1 e8 0c          	shr    $0xc,%ax
41164b:	0f b7 c8             	movzwl %ax,%ecx
41164e:	8d 55 0c             	lea    0xc(%ebp),%edx
411651:	52                   	push   %edx
411652:	8d 45 e4             	lea    -0x1c(%ebp),%eax
411655:	89 4d 0c             	mov    %ecx,0xc(%ebp)
411658:	8b 4d 08             	mov    0x8(%ebp),%ecx
41165b:	50                   	push   %eax
41165c:	51                   	push   %ecx
41165d:	e8 7e 7f 00 00       	call   0x4195e0
411662:	46                   	inc    %esi
411663:	83 c4 0c             	add    $0xc,%esp
411666:	3b f7                	cmp    %edi,%esi
411668:	72 d6                	jb     0x411640
41166a:	8b 55 08             	mov    0x8(%ebp),%edx
41166d:	6a 02                	push   $0x2
41166f:	52                   	push   %edx
411670:	e8 3b 7e 00 00       	call   0x4194b0
411675:	83 c4 08             	add    $0x8,%esp
411678:	33 f6                	xor    %esi,%esi
41167a:	89 45 f0             	mov    %eax,-0x10(%ebp)
41167d:	85 ff                	test   %edi,%edi
41167f:	74 2e                	je     0x4116af
411681:	8b 45 f4             	mov    -0xc(%ebp),%eax
411684:	66 8b 0c 70          	mov    (%eax,%esi,2),%cx
411688:	ba ff 0f 00 00       	mov    $0xfff,%edx
41168d:	66 23 ca             	and    %dx,%cx
411690:	0f b7 c1             	movzwl %cx,%eax
411693:	8d 4d 0c             	lea    0xc(%ebp),%ecx
411696:	51                   	push   %ecx
411697:	8d 55 f0             	lea    -0x10(%ebp),%edx
41169a:	89 45 0c             	mov    %eax,0xc(%ebp)
41169d:	8b 45 08             	mov    0x8(%ebp),%eax
4116a0:	52                   	push   %edx
4116a1:	50                   	push   %eax
4116a2:	e8 39 7f 00 00       	call   0x4195e0
4116a7:	46                   	inc    %esi
4116a8:	83 c4 0c             	add    $0xc,%esp
4116ab:	3b f7                	cmp    %edi,%esi
4116ad:	72 d2                	jb     0x411681
4116af:	33 ff                	xor    %edi,%edi
4116b1:	89 7d ec             	mov    %edi,-0x14(%ebp)
4116b4:	39 7d d8             	cmp    %edi,-0x28(%ebp)
4116b7:	0f 86 d1 00 00 00    	jbe    0x41178e
4116bd:	8d 49 00             	lea    0x0(%ecx),%ecx
4116c0:	0f b7 55 dc          	movzwl -0x24(%ebp),%edx
4116c4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4116c7:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4116ce:	3b 54 f9 04          	cmp    0x4(%ecx,%edi,8),%edx
4116d2:	0f 83 ac 00 00 00    	jae    0x411784
4116d8:	eb 06                	jmp    0x4116e0
4116da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4116e0:	0f b7 75 ec          	movzwl -0x14(%ebp),%esi
4116e4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4116e7:	03 f6                	add    %esi,%esi
4116e9:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
4116ed:	66 85 c0             	test   %ax,%ax
4116f0:	74 73                	je     0x411765
4116f2:	83 f8 01             	cmp    $0x1,%eax
4116f5:	75 29                	jne    0x411720
4116f7:	6a 02                	push   $0x2
4116f9:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4116fc:	51                   	push   %ecx
4116fd:	8d 55 0c             	lea    0xc(%ebp),%edx
411700:	52                   	push   %edx
411701:	e8 5a 6c 00 00       	call   0x418360
411706:	8b 45 f0             	mov    -0x10(%ebp),%eax
411709:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
41170d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411710:	03 04 f9             	add    (%ecx,%edi,8),%eax
411713:	66 8b 55 0c          	mov    0xc(%ebp),%dx
411717:	83 c4 0c             	add    $0xc,%esp
41171a:	66 01 14 18          	add    %dx,(%eax,%ebx,1)
41171e:	eb 45                	jmp    0x411765
411720:	83 f8 02             	cmp    $0x2,%eax
411723:	75 2b                	jne    0x411750
411725:	50                   	push   %eax
411726:	8d 45 d4             	lea    -0x2c(%ebp),%eax
411729:	50                   	push   %eax
41172a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41172d:	51                   	push   %ecx
41172e:	e8 2d 6c 00 00       	call   0x418360
411733:	8b 55 f0             	mov    -0x10(%ebp),%edx
411736:	0f b7 04 16          	movzwl (%esi,%edx,1),%eax
41173a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41173d:	03 04 f9             	add    (%ecx,%edi,8),%eax
411740:	66 8b 55 fc          	mov    -0x4(%ebp),%dx
411744:	8d 44 18 02          	lea    0x2(%eax,%ebx,1),%eax
411748:	83 c4 0c             	add    $0xc,%esp
41174b:	66 01 10             	add    %dx,(%eax)
41174e:	eb 15                	jmp    0x411765
411750:	83 f8 03             	cmp    $0x3,%eax
411753:	75 10                	jne    0x411765
411755:	8b 45 f0             	mov    -0x10(%ebp),%eax
411758:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
41175c:	03 04 f9             	add    (%ecx,%edi,8),%eax
41175f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
411762:	01 0c 18             	add    %ecx,(%eax,%ebx,1)
411765:	8b 45 e0             	mov    -0x20(%ebp),%eax
411768:	0f b7 55 dc          	movzwl -0x24(%ebp),%edx
41176c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41176f:	ff 45 ec             	incl   -0x14(%ebp)
411772:	83 c0 02             	add    $0x2,%eax
411775:	03 d0                	add    %eax,%edx
411777:	89 45 e0             	mov    %eax,-0x20(%ebp)
41177a:	3b 54 f9 04          	cmp    0x4(%ecx,%edi,8),%edx
41177e:	0f 82 5c ff ff ff    	jb     0x4116e0
411784:	47                   	inc    %edi
411785:	3b 7d d8             	cmp    -0x28(%ebp),%edi
411788:	0f 82 32 ff ff ff    	jb     0x4116c0
41178e:	8b 45 c4             	mov    -0x3c(%ebp),%eax
411791:	8b 4d 10             	mov    0x10(%ebp),%ecx
411794:	8b 75 08             	mov    0x8(%ebp),%esi
411797:	8d 55 f8             	lea    -0x8(%ebp),%edx
41179a:	52                   	push   %edx
41179b:	56                   	push   %esi
41179c:	89 48 34             	mov    %ecx,0x34(%eax)
41179f:	e8 6c 7d 00 00       	call   0x419510
4117a4:	8d 45 e8             	lea    -0x18(%ebp),%eax
4117a7:	50                   	push   %eax
4117a8:	56                   	push   %esi
4117a9:	e8 62 7d 00 00       	call   0x419510
4117ae:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4117b1:	51                   	push   %ecx
4117b2:	56                   	push   %esi
4117b3:	e8 58 7d 00 00       	call   0x419510
4117b8:	8d 55 e4             	lea    -0x1c(%ebp),%edx
4117bb:	52                   	push   %edx
4117bc:	56                   	push   %esi
4117bd:	e8 4e 7d 00 00       	call   0x419510
4117c2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4117c5:	50                   	push   %eax
4117c6:	56                   	push   %esi
4117c7:	e8 44 7d 00 00       	call   0x419510
4117cc:	83 c4 28             	add    $0x28,%esp
4117cf:	5f                   	pop    %edi
4117d0:	5e                   	pop    %esi
4117d1:	b8 01 00 00 00       	mov    $0x1,%eax
4117d6:	5b                   	pop    %ebx
4117d7:	8b e5                	mov    %ebp,%esp
4117d9:	5d                   	pop    %ebp
4117da:	c3                   	ret
4117db:	54                   	push   %esp
4117dc:	ac                   	lods   %ds:(%esi),%al
4117dd:	dc 93 c7 55 8b ec    	fcoml  -0x1374aa39(%ebx)
4117e3:	8b 45 08             	mov    0x8(%ebp),%eax
4117e6:	5d                   	pop    %ebp
4117e7:	c3                   	ret
4117e8:	93                   	xchg   %eax,%ebx
4117e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4117ea:	fc                   	cld
4117eb:	84 b4 76 2d 44 55 8b 	test   %dh,-0x74aabbd3(%esi,%esi,2)
4117f2:	ec                   	in     (%dx),%al
4117f3:	56                   	push   %esi
4117f4:	8b 75 0c             	mov    0xc(%ebp),%esi
4117f7:	c7 46 04 00 10 00 00 	movl   $0x1000,0x4(%esi)
4117fe:	e8 cd 64 00 00       	call   0x417cd0
411803:	8b 4e 04             	mov    0x4(%esi),%ecx
411806:	03 c8                	add    %eax,%ecx
411808:	89 46 08             	mov    %eax,0x8(%esi)
41180b:	89 8e 40 02 00 00    	mov    %ecx,0x240(%esi)
411811:	b8 01 00 00 00       	mov    $0x1,%eax
411816:	5e                   	pop    %esi
411817:	5d                   	pop    %ebp
411818:	c3                   	ret
411819:	b8 e4 b8 66 4e       	mov    $0x4e66b8e4,%eax
41181e:	6f                   	outsl  %ds:(%esi),(%dx)
41181f:	6d                   	insl   (%dx),%es:(%edi)
411820:	55                   	push   %ebp
411821:	8b ec                	mov    %esp,%ebp
411823:	53                   	push   %ebx
411824:	8b 5d 08             	mov    0x8(%ebp),%ebx
411827:	8b 13                	mov    (%ebx),%edx
411829:	56                   	push   %esi
41182a:	8b 75 0c             	mov    0xc(%ebp),%esi
41182d:	57                   	push   %edi
41182e:	6a 00                	push   $0x0
411830:	8d 7e 10             	lea    0x10(%esi),%edi
411833:	57                   	push   %edi
411834:	8d 86 40 02 00 00    	lea    0x240(%esi),%eax
41183a:	50                   	push   %eax
41183b:	8d 4e 0c             	lea    0xc(%esi),%ecx
41183e:	51                   	push   %ecx
41183f:	52                   	push   %edx
411840:	53                   	push   %ebx
411841:	e8 7a b3 ff ff       	call   0x40cbc0
411846:	83 c4 18             	add    $0x18,%esp
411849:	85 c0                	test   %eax,%eax
41184b:	75 05                	jne    0x411852
41184d:	5f                   	pop    %edi
41184e:	5e                   	pop    %esi
41184f:	5b                   	pop    %ebx
411850:	5d                   	pop    %ebp
411851:	c3                   	ret
411852:	8b 46 04             	mov    0x4(%esi),%eax
411855:	8b 4b 04             	mov    0x4(%ebx),%ecx
411858:	8b 17                	mov    (%edi),%edx
41185a:	50                   	push   %eax
41185b:	51                   	push   %ecx
41185c:	52                   	push   %edx
41185d:	e8 fe 6a 00 00       	call   0x418360
411862:	8b 4e 08             	mov    0x8(%esi),%ecx
411865:	8b 46 04             	mov    0x4(%esi),%eax
411868:	8b 53 04             	mov    0x4(%ebx),%edx
41186b:	51                   	push   %ecx
41186c:	8b 0f                	mov    (%edi),%ecx
41186e:	03 d0                	add    %eax,%edx
411870:	52                   	push   %edx
411871:	03 c8                	add    %eax,%ecx
411873:	51                   	push   %ecx
411874:	e8 e7 6a 00 00       	call   0x418360
411879:	83 c4 18             	add    $0x18,%esp
41187c:	5f                   	pop    %edi
41187d:	5e                   	pop    %esi
41187e:	b8 01 00 00 00       	mov    $0x1,%eax
411883:	5b                   	pop    %ebx
411884:	5d                   	pop    %ebp
411885:	c3                   	ret
411886:	86 73 b4             	xchg   %dh,-0x4c(%ebx)
411889:	c2 50 f0             	ret    $0xf050
41188c:	e5 79                	in     $0x79,%eax
41188e:	96                   	xchg   %eax,%esi
41188f:	24 55                	and    $0x55,%al
411891:	8b ec                	mov    %esp,%ebp
411893:	83 ec 4c             	sub    $0x4c,%esp
411896:	33 c0                	xor    %eax,%eax
411898:	56                   	push   %esi
411899:	8b 75 14             	mov    0x14(%ebp),%esi
41189c:	57                   	push   %edi
41189d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4118a0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4118a3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4118a6:	89 45 dc             	mov    %eax,-0x24(%ebp)
4118a9:	89 45 e0             	mov    %eax,-0x20(%ebp)
4118ac:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4118af:	89 45 e8             	mov    %eax,-0x18(%ebp)
4118b2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4118b5:	89 45 f0             	mov    %eax,-0x10(%ebp)
4118b8:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4118bb:	89 45 b8             	mov    %eax,-0x48(%ebp)
4118be:	89 45 bc             	mov    %eax,-0x44(%ebp)
4118c1:	89 45 c0             	mov    %eax,-0x40(%ebp)
4118c4:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4118c7:	89 45 c8             	mov    %eax,-0x38(%ebp)
4118ca:	89 45 cc             	mov    %eax,-0x34(%ebp)
4118cd:	89 45 d0             	mov    %eax,-0x30(%ebp)
4118d0:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4118d3:	89 45 d8             	mov    %eax,-0x28(%ebp)
4118d6:	83 fe 07             	cmp    $0x7,%esi
4118d9:	75 33                	jne    0x41190e
4118db:	8b 4d 10             	mov    0x10(%ebp),%ecx
4118de:	8b 75 0c             	mov    0xc(%ebp),%esi
4118e1:	8b 16                	mov    (%esi),%edx
4118e3:	8b 7d 08             	mov    0x8(%ebp),%edi
4118e6:	6a 04                	push   $0x4
4118e8:	6a 28                	push   $0x28
4118ea:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4118ed:	50                   	push   %eax
4118ee:	51                   	push   %ecx
4118ef:	52                   	push   %edx
4118f0:	57                   	push   %edi
4118f1:	e8 4a 52 00 00       	call   0x416b40
4118f6:	8b 06                	mov    (%esi),%eax
4118f8:	50                   	push   %eax
4118f9:	57                   	push   %edi
4118fa:	e8 f1 53 00 00       	call   0x416cf0
4118ff:	8b 45 d4             	mov    -0x2c(%ebp),%eax
411902:	83 c4 20             	add    $0x20,%esp
411905:	5f                   	pop    %edi
411906:	83 e0 02             	and    $0x2,%eax
411909:	5e                   	pop    %esi
41190a:	8b e5                	mov    %ebp,%esp
41190c:	5d                   	pop    %ebp
41190d:	c3                   	ret
41190e:	53                   	push   %ebx
41190f:	83 fe 08             	cmp    $0x8,%esi
411912:	0f 84 41 01 00 00    	je     0x411a59
411918:	83 fe 0a             	cmp    $0xa,%esi
41191b:	0f 84 38 01 00 00    	je     0x411a59
411921:	83 fe 09             	cmp    $0x9,%esi
411924:	0f 84 2f 01 00 00    	je     0x411a59