417592:	c3                   	ret
417593:	8b ff                	mov    %edi,%edi
417595:	55                   	push   %ebp
417596:	8b ec                	mov    %esp,%ebp
417598:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41759b:	83 ec 20             	sub    $0x20,%esp
41759e:	33 c0                	xor    %eax,%eax
4175a0:	39 0c c5 28 ed 41 00 	cmp    %ecx,0x41ed28(,%eax,8)
4175a7:	74 27                	je     0x4175d0
4175a9:	40                   	inc    %eax
4175aa:	83 f8 1d             	cmp    $0x1d,%eax
4175ad:	7c f1                	jl     0x4175a0
4175af:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4175b3:	68 ff ff 00 00       	push   $0xffff
4175b8:	ff 75 28             	push   0x28(%ebp)
4175bb:	e8 f1 da ff ff       	call   0x4150b1
4175c0:	ff 75 08             	push   0x8(%ebp)
4175c3:	e8 9a ff ff ff       	call   0x417562
4175c8:	dd 45 20             	fldl   0x20(%ebp)
4175cb:	83 c4 0c             	add    $0xc,%esp
4175ce:	c9                   	leave
4175cf:	c3                   	ret
4175d0:	8b 04 c5 2c ed 41 00 	mov    0x41ed2c(,%eax,8),%eax
4175d7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4175da:	85 c0                	test   %eax,%eax
4175dc:	74 d5                	je     0x4175b3
4175de:	8b 45 10             	mov    0x10(%ebp),%eax
4175e1:	89 45 e8             	mov    %eax,-0x18(%ebp)
4175e4:	8b 45 14             	mov    0x14(%ebp),%eax
4175e7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4175ea:	8b 45 18             	mov    0x18(%ebp),%eax
4175ed:	89 45 f0             	mov    %eax,-0x10(%ebp)
4175f0:	8b 45 1c             	mov    0x1c(%ebp),%eax
4175f3:	56                   	push   %esi
4175f4:	8b 75 08             	mov    0x8(%ebp),%esi
4175f7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4175fa:	8b 45 20             	mov    0x20(%ebp),%eax
4175fd:	68 ff ff 00 00       	push   $0xffff
417602:	ff 75 28             	push   0x28(%ebp)
417605:	89 45 f8             	mov    %eax,-0x8(%ebp)
417608:	8b 45 24             	mov    0x24(%ebp),%eax
41760b:	89 75 e0             	mov    %esi,-0x20(%ebp)
41760e:	89 45 fc             	mov    %eax,-0x4(%ebp)
417611:	e8 9b da ff ff       	call   0x4150b1
417616:	8d 45 e0             	lea    -0x20(%ebp),%eax
417619:	50                   	push   %eax
41761a:	e8 75 1d ff ff       	call   0x409394
41761f:	83 c4 0c             	add    $0xc,%esp
417622:	85 c0                	test   %eax,%eax
417624:	75 07                	jne    0x41762d
417626:	56                   	push   %esi
417627:	e8 36 ff ff ff       	call   0x417562
41762c:	59                   	pop    %ecx
41762d:	dd 45 f8             	fldl   -0x8(%ebp)
417630:	5e                   	pop    %esi
417631:	c9                   	leave
417632:	c3                   	ret
417633:	8b ff                	mov    %edi,%edi
417635:	55                   	push   %ebp
417636:	8b ec                	mov    %esp,%ebp
417638:	dd 45 08             	fldl   0x8(%ebp)
41763b:	d9 ee                	fldz
41763d:	dd e1                	fucom  %st(1)
41763f:	df e0                	fnstsw %ax
417641:	56                   	push   %esi
417642:	f6 c4 44             	test   $0x44,%ah
417645:	7a 09                	jp     0x417650
417647:	dd d9                	fstp   %st(1)
417649:	33 f6                	xor    %esi,%esi
41764b:	e9 ad 00 00 00       	jmp    0x4176fd
417650:	57                   	push   %edi
417651:	66 8b 7d 0e          	mov    0xe(%ebp),%di
417655:	0f b7 c7             	movzwl %di,%eax
417658:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
41765d:	75 7a                	jne    0x4176d9
41765f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417662:	8b 55 08             	mov    0x8(%ebp),%edx
417665:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
41766b:	75 04                	jne    0x417671
41766d:	85 d2                	test   %edx,%edx
41766f:	74 68                	je     0x4176d9
417671:	de d9                	fcompp
417673:	be 03 fc ff ff       	mov    $0xfffffc03,%esi
417678:	df e0                	fnstsw %ax
41767a:	53                   	push   %ebx
41767b:	33 db                	xor    %ebx,%ebx
41767d:	f6 c4 41             	test   $0x41,%ah
417680:	75 01                	jne    0x417683
417682:	43                   	inc    %ebx
417683:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
417687:	75 1f                	jne    0x4176a8
417689:	03 c9                	add    %ecx,%ecx
41768b:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41768e:	85 d2                	test   %edx,%edx
417690:	79 06                	jns    0x417698
417692:	83 c9 01             	or     $0x1,%ecx
417695:	89 4d 0c             	mov    %ecx,0xc(%ebp)
417698:	03 d2                	add    %edx,%edx
41769a:	4e                   	dec    %esi
41769b:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
41769f:	74 e8                	je     0x417689
4176a1:	66 8b 7d 0e          	mov    0xe(%ebp),%di
4176a5:	89 55 08             	mov    %edx,0x8(%ebp)
4176a8:	b8 ef ff 00 00       	mov    $0xffef,%eax
4176ad:	66 23 f8             	and    %ax,%di
4176b0:	85 db                	test   %ebx,%ebx
4176b2:	0f b7 c7             	movzwl %di,%eax
4176b5:	66 89 7d 0e          	mov    %di,0xe(%ebp)
4176b9:	5b                   	pop    %ebx
4176ba:	74 09                	je     0x4176c5
4176bc:	0d 00 80 00 00       	or     $0x8000,%eax
4176c1:	66 89 45 0e          	mov    %ax,0xe(%ebp)
4176c5:	dd 45 08             	fldl   0x8(%ebp)
4176c8:	6a 00                	push   $0x0
4176ca:	51                   	push   %ecx
4176cb:	51                   	push   %ecx
4176cc:	dd 1c 24             	fstpl  (%esp)
4176cf:	e8 31 00 00 00       	call   0x417705
4176d4:	83 c4 0c             	add    $0xc,%esp
4176d7:	eb 23                	jmp    0x4176fc
4176d9:	6a 00                	push   $0x0
4176db:	51                   	push   %ecx
4176dc:	dd d8                	fstp   %st(0)
4176de:	51                   	push   %ecx
4176df:	dd 1c 24             	fstpl  (%esp)
4176e2:	e8 1e 00 00 00       	call   0x417705
4176e7:	0f b7 f7             	movzwl %di,%esi
4176ea:	83 c4 0c             	add    $0xc,%esp
4176ed:	c1 ee 04             	shr    $0x4,%esi
4176f0:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
4176f6:	81 ee fe 03 00 00    	sub    $0x3fe,%esi
4176fc:	5f                   	pop    %edi
4176fd:	8b 45 10             	mov    0x10(%ebp),%eax
417700:	89 30                	mov    %esi,(%eax)
417702:	5e                   	pop    %esi
417703:	5d                   	pop    %ebp
417704:	c3                   	ret
417705:	8b ff                	mov    %edi,%edi
417707:	55                   	push   %ebp
417708:	8b ec                	mov    %esp,%ebp
41770a:	51                   	push   %ecx
41770b:	51                   	push   %ecx
41770c:	8b 4d 10             	mov    0x10(%ebp),%ecx
41770f:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
417713:	dd 45 08             	fldl   0x8(%ebp)
417716:	25 0f 80 00 00       	and    $0x800f,%eax
41771b:	dd 5d f8             	fstpl  -0x8(%ebp)
41771e:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
417724:	c1 e1 04             	shl    $0x4,%ecx
417727:	0b c8                	or     %eax,%ecx
417729:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
41772d:	dd 45 f8             	fldl   -0x8(%ebp)
417730:	c9                   	leave
417731:	c3                   	ret
417732:	8b ff                	mov    %edi,%edi
417734:	55                   	push   %ebp
417735:	8b ec                	mov    %esp,%ebp
417737:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
41773e:	8b 45 08             	mov    0x8(%ebp),%eax
417741:	75 07                	jne    0x41774a
417743:	85 c0                	test   %eax,%eax
417745:	75 15                	jne    0x41775c
417747:	40                   	inc    %eax
417748:	5d                   	pop    %ebp
417749:	c3                   	ret
41774a:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
417751:	75 09                	jne    0x41775c
417753:	85 c0                	test   %eax,%eax
417755:	75 05                	jne    0x41775c
417757:	6a 02                	push   $0x2
417759:	58                   	pop    %eax
41775a:	5d                   	pop    %ebp
41775b:	c3                   	ret
41775c:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
417760:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
417765:	66 23 ca             	and    %dx,%cx
417768:	66 3b ca             	cmp    %dx,%cx
41776b:	75 04                	jne    0x417771
41776d:	6a 03                	push   $0x3
41776f:	eb e8                	jmp    0x417759
417771:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
417776:	66 3b ca             	cmp    %dx,%cx
417779:	75 16                	jne    0x417791
41777b:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
417782:	75 09                	jne    0x41778d
417784:	f7 d8                	neg    %eax
417786:	1b c0                	sbb    %eax,%eax
417788:	83 e0 04             	and    $0x4,%eax
41778b:	5d                   	pop    %ebp
41778c:	c3                   	ret
41778d:	6a 04                	push   $0x4
41778f:	eb c8                	jmp    0x417759
417791:	33 c0                	xor    %eax,%eax
417793:	5d                   	pop    %ebp
417794:	c3                   	ret
417795:	8b ff                	mov    %edi,%edi
417797:	55                   	push   %ebp
417798:	8b ec                	mov    %esp,%ebp
41779a:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
41779e:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
4177a3:	66 8b c1             	mov    %cx,%ax
4177a6:	66 23 c2             	and    %dx,%ax
4177a9:	66 3b c2             	cmp    %dx,%ax
4177ac:	75 33                	jne    0x4177e1
4177ae:	dd 45 08             	fldl   0x8(%ebp)
4177b1:	51                   	push   %ecx
4177b2:	51                   	push   %ecx
4177b3:	dd 1c 24             	fstpl  (%esp)
4177b6:	e8 77 ff ff ff       	call   0x417732
4177bb:	59                   	pop    %ecx
4177bc:	59                   	pop    %ecx
4177bd:	83 e8 01             	sub    $0x1,%eax
4177c0:	74 18                	je     0x4177da
4177c2:	83 e8 01             	sub    $0x1,%eax
4177c5:	74 0e                	je     0x4177d5
4177c7:	83 e8 01             	sub    $0x1,%eax
4177ca:	74 05                	je     0x4177d1
4177cc:	33 c0                	xor    %eax,%eax
4177ce:	40                   	inc    %eax
4177cf:	5d                   	pop    %ebp
4177d0:	c3                   	ret
4177d1:	6a 02                	push   $0x2
4177d3:	eb 02                	jmp    0x4177d7
4177d5:	6a 04                	push   $0x4
4177d7:	58                   	pop    %eax
4177d8:	5d                   	pop    %ebp
4177d9:	c3                   	ret
4177da:	b8 00 02 00 00       	mov    $0x200,%eax
4177df:	5d                   	pop    %ebp
4177e0:	c3                   	ret
4177e1:	0f b7 c9             	movzwl %cx,%ecx
4177e4:	81 e1 00 80 00 00    	and    $0x8000,%ecx
4177ea:	66 85 c0             	test   %ax,%ax
4177ed:	75 1e                	jne    0x41780d
4177ef:	f7 45 0c ff ff 0f 00 	testl  $0xfffff,0xc(%ebp)
4177f6:	75 06                	jne    0x4177fe
4177f8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4177fc:	74 0f                	je     0x41780d
4177fe:	f7 d9                	neg    %ecx
417800:	1b c9                	sbb    %ecx,%ecx
417802:	83 e1 90             	and    $0xffffff90,%ecx
417805:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
41780b:	5d                   	pop    %ebp
41780c:	c3                   	ret
41780d:	dd 45 08             	fldl   0x8(%ebp)
417810:	d9 ee                	fldz
417812:	da e9                	fucompp
417814:	df e0                	fnstsw %ax
417816:	f6 c4 44             	test   $0x44,%ah
417819:	7a 0c                	jp     0x417827
41781b:	f7 d9                	neg    %ecx
41781d:	1b c9                	sbb    %ecx,%ecx
41781f:	83 e1 e0             	and    $0xffffffe0,%ecx
417822:	8d 41 40             	lea    0x40(%ecx),%eax
417825:	5d                   	pop    %ebp
417826:	c3                   	ret
417827:	f7 d9                	neg    %ecx
417829:	1b c9                	sbb    %ecx,%ecx
41782b:	81 e1 08 ff ff ff    	and    $0xffffff08,%ecx
417831:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
417837:	5d                   	pop    %ebp
417838:	c3                   	ret
417839:	ff 25 54 91 41 00    	jmp    *0x419154
41783f:	cc                   	int3
417840:	55                   	push   %ebp
417841:	8b ec                	mov    %esp,%ebp
417843:	8b 45 08             	mov    0x8(%ebp),%eax
417846:	33 d2                	xor    %edx,%edx
417848:	53                   	push   %ebx
417849:	56                   	push   %esi
41784a:	57                   	push   %edi
41784b:	8b 48 3c             	mov    0x3c(%eax),%ecx
41784e:	03 c8                	add    %eax,%ecx
417850:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
417854:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
417858:	83 c0 18             	add    $0x18,%eax
41785b:	03 c1                	add    %ecx,%eax
41785d:	85 db                	test   %ebx,%ebx
41785f:	74 1b                	je     0x41787c
417861:	8b 7d 0c             	mov    0xc(%ebp),%edi
417864:	8b 70 0c             	mov    0xc(%eax),%esi
417867:	3b fe                	cmp    %esi,%edi
417869:	72 09                	jb     0x417874
41786b:	8b 48 08             	mov    0x8(%eax),%ecx
41786e:	03 ce                	add    %esi,%ecx
417870:	3b f9                	cmp    %ecx,%edi
417872:	72 0a                	jb     0x41787e
417874:	42                   	inc    %edx
417875:	83 c0 28             	add    $0x28,%eax
417878:	3b d3                	cmp    %ebx,%edx
41787a:	72 e8                	jb     0x417864
41787c:	33 c0                	xor    %eax,%eax
41787e:	5f                   	pop    %edi
41787f:	5e                   	pop    %esi
417880:	5b                   	pop    %ebx
417881:	5d                   	pop    %ebp
417882:	c3                   	ret
417883:	cc                   	int3
417884:	cc                   	int3
417885:	cc                   	int3
417886:	cc                   	int3
417887:	cc                   	int3
417888:	cc                   	int3
417889:	cc                   	int3
41788a:	cc                   	int3
41788b:	cc                   	int3
41788c:	cc                   	int3
41788d:	cc                   	int3
41788e:	cc                   	int3
41788f:	cc                   	int3
417890:	55                   	push   %ebp
417891:	8b ec                	mov    %esp,%ebp
417893:	6a fe                	push   $0xfffffffe
417895:	68 48 03 42 00       	push   $0x420348
41789a:	68 b0 50 40 00       	push   $0x4050b0
41789f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4178a5:	50                   	push   %eax
4178a6:	83 ec 08             	sub    $0x8,%esp
4178a9:	53                   	push   %ebx
4178aa:	56                   	push   %esi
4178ab:	57                   	push   %edi
4178ac:	a1 c0 10 42 00       	mov    0x4210c0,%eax
4178b1:	31 45 f8             	xor    %eax,-0x8(%ebp)
4178b4:	33 c5                	xor    %ebp,%eax
4178b6:	50                   	push   %eax
4178b7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4178ba:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4178c0:	89 65 e8             	mov    %esp,-0x18(%ebp)
4178c3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4178ca:	68 00 00 40 00       	push   $0x400000
4178cf:	e8 7c 00 00 00       	call   0x417950
4178d4:	83 c4 04             	add    $0x4,%esp
4178d7:	85 c0                	test   %eax,%eax
4178d9:	74 54                	je     0x41792f
4178db:	8b 45 08             	mov    0x8(%ebp),%eax
4178de:	2d 00 00 40 00       	sub    $0x400000,%eax
4178e3:	50                   	push   %eax
4178e4:	68 00 00 40 00       	push   $0x400000
4178e9:	e8 52 ff ff ff       	call   0x417840
4178ee:	83 c4 08             	add    $0x8,%esp
4178f1:	85 c0                	test   %eax,%eax
4178f3:	74 3a                	je     0x41792f
4178f5:	8b 40 24             	mov    0x24(%eax),%eax
4178f8:	c1 e8 1f             	shr    $0x1f,%eax
4178fb:	f7 d0                	not    %eax
4178fd:	83 e0 01             	and    $0x1,%eax
417900:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
417907:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41790a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417911:	59                   	pop    %ecx