45369d:	e9 16 9c ff ff       	jmp    0x44d2b8
4536a2:	8b ff                	mov    %edi,%edi
4536a4:	55                   	push   %ebp
4536a5:	8b ec                	mov    %esp,%ebp
4536a7:	56                   	push   %esi
4536a8:	8b 75 14             	mov    0x14(%ebp),%esi
4536ab:	85 f6                	test   %esi,%esi
4536ad:	75 04                	jne    0x4536b3
4536af:	33 c0                	xor    %eax,%eax
4536b1:	eb 6d                	jmp    0x453720
4536b3:	8b 45 08             	mov    0x8(%ebp),%eax
4536b6:	85 c0                	test   %eax,%eax
4536b8:	75 13                	jne    0x4536cd
4536ba:	e8 70 97 ff ff       	call   0x44ce2f
4536bf:	6a 16                	push   $0x16
4536c1:	5e                   	pop    %esi
4536c2:	89 30                	mov    %esi,(%eax)
4536c4:	e8 0d 96 ff ff       	call   0x44ccd6
4536c9:	8b c6                	mov    %esi,%eax
4536cb:	eb 53                	jmp    0x453720
4536cd:	57                   	push   %edi
4536ce:	8b 7d 10             	mov    0x10(%ebp),%edi
4536d1:	85 ff                	test   %edi,%edi
4536d3:	74 14                	je     0x4536e9
4536d5:	39 75 0c             	cmp    %esi,0xc(%ebp)
4536d8:	72 0f                	jb     0x4536e9
4536da:	56                   	push   %esi
4536db:	57                   	push   %edi
4536dc:	50                   	push   %eax
4536dd:	e8 7e fc fe ff       	call   0x443360
4536e2:	83 c4 0c             	add    $0xc,%esp
4536e5:	33 c0                	xor    %eax,%eax
4536e7:	eb 36                	jmp    0x45371f
4536e9:	ff 75 0c             	push   0xc(%ebp)
4536ec:	6a 00                	push   $0x0
4536ee:	50                   	push   %eax
4536ef:	e8 6c 07 ff ff       	call   0x443e60
4536f4:	83 c4 0c             	add    $0xc,%esp
4536f7:	85 ff                	test   %edi,%edi
4536f9:	75 09                	jne    0x453704
4536fb:	e8 2f 97 ff ff       	call   0x44ce2f
453700:	6a 16                	push   $0x16
453702:	eb 0c                	jmp    0x453710
453704:	39 75 0c             	cmp    %esi,0xc(%ebp)
453707:	73 13                	jae    0x45371c
453709:	e8 21 97 ff ff       	call   0x44ce2f
45370e:	6a 22                	push   $0x22
453710:	5e                   	pop    %esi
453711:	89 30                	mov    %esi,(%eax)
453713:	e8 be 95 ff ff       	call   0x44ccd6
453718:	8b c6                	mov    %esi,%eax
45371a:	eb 03                	jmp    0x45371f
45371c:	6a 16                	push   $0x16
45371e:	58                   	pop    %eax
45371f:	5f                   	pop    %edi
453720:	5e                   	pop    %esi
453721:	5d                   	pop    %ebp
453722:	c3                   	ret
453723:	8b ff                	mov    %edi,%edi
453725:	55                   	push   %ebp
453726:	8b ec                	mov    %esp,%ebp
453728:	6a 00                	push   $0x0
45372a:	ff 75 0c             	push   0xc(%ebp)
45372d:	ff 75 08             	push   0x8(%ebp)
453730:	e8 f8 9a ff ff       	call   0x44d22d
453735:	83 c4 0c             	add    $0xc,%esp
453738:	5d                   	pop    %ebp
453739:	c3                   	ret
45373a:	8b ff                	mov    %edi,%edi
45373c:	55                   	push   %ebp
45373d:	8b ec                	mov    %esp,%ebp
45373f:	6a 00                	push   $0x0
453741:	ff 75 0c             	push   0xc(%ebp)
453744:	ff 75 08             	push   0x8(%ebp)
453747:	e8 bf 99 ff ff       	call   0x44d10b
45374c:	83 c4 0c             	add    $0xc,%esp
45374f:	5d                   	pop    %ebp
453750:	c3                   	ret
453751:	8b ff                	mov    %edi,%edi
453753:	55                   	push   %ebp
453754:	8b ec                	mov    %esp,%ebp
453756:	6a 00                	push   $0x0
453758:	ff 75 0c             	push   0xc(%ebp)
45375b:	ff 75 08             	push   0x8(%ebp)
45375e:	e8 ca 9a ff ff       	call   0x44d22d
453763:	83 c4 0c             	add    $0xc,%esp
453766:	5d                   	pop    %ebp
453767:	c3                   	ret
453768:	8b ff                	mov    %edi,%edi
45376a:	55                   	push   %ebp
45376b:	8b ec                	mov    %esp,%ebp
45376d:	6a 00                	push   $0x0
45376f:	ff 75 0c             	push   0xc(%ebp)
453772:	ff 75 08             	push   0x8(%ebp)
453775:	e8 3e 9b ff ff       	call   0x44d2b8
45377a:	83 c4 0c             	add    $0xc,%esp
45377d:	5d                   	pop    %ebp
45377e:	c3                   	ret
45377f:	8b ff                	mov    %edi,%edi
453781:	55                   	push   %ebp
453782:	8b ec                	mov    %esp,%ebp
453784:	6a 00                	push   $0x0
453786:	ff 75 0c             	push   0xc(%ebp)
453789:	ff 75 08             	push   0x8(%ebp)
45378c:	e8 0b 9a ff ff       	call   0x44d19c
453791:	83 c4 0c             	add    $0xc,%esp
453794:	5d                   	pop    %ebp
453795:	c3                   	ret
453796:	8b ff                	mov    %edi,%edi
453798:	55                   	push   %ebp
453799:	8b ec                	mov    %esp,%ebp
45379b:	6a 00                	push   $0x0
45379d:	ff 75 0c             	push   0xc(%ebp)
4537a0:	ff 75 08             	push   0x8(%ebp)
4537a3:	e8 10 9b ff ff       	call   0x44d2b8
4537a8:	83 c4 0c             	add    $0xc,%esp
4537ab:	5d                   	pop    %ebp
4537ac:	c3                   	ret
4537ad:	8b ff                	mov    %edi,%edi
4537af:	55                   	push   %ebp
4537b0:	8b ec                	mov    %esp,%ebp
4537b2:	8d 45 08             	lea    0x8(%ebp),%eax
4537b5:	50                   	push   %eax
4537b6:	e8 77 01 00 00       	call   0x453932
4537bb:	59                   	pop    %ecx
4537bc:	5d                   	pop    %ebp
4537bd:	c3                   	ret
4537be:	8b ff                	mov    %edi,%edi
4537c0:	55                   	push   %ebp
4537c1:	8b ec                	mov    %esp,%ebp
4537c3:	8d 45 08             	lea    0x8(%ebp),%eax
4537c6:	56                   	push   %esi
4537c7:	50                   	push   %eax
4537c8:	e8 65 01 00 00       	call   0x453932
4537cd:	59                   	pop    %ecx
4537ce:	6a 02                	push   $0x2
4537d0:	5e                   	pop    %esi
4537d1:	66 3b c6             	cmp    %si,%ax
4537d4:	74 39                	je     0x45380f
4537d6:	8d 45 10             	lea    0x10(%ebp),%eax
4537d9:	50                   	push   %eax
4537da:	e8 53 01 00 00       	call   0x453932
4537df:	59                   	pop    %ecx
4537e0:	66 3b c6             	cmp    %si,%ax
4537e3:	74 2a                	je     0x45380f
4537e5:	dd 45 10             	fldl   0x10(%ebp)
4537e8:	dd 45 08             	fldl   0x8(%ebp)
4537eb:	d8 d1                	fcom   %st(1)
4537ed:	df e0                	fnstsw %ax
4537ef:	f6 c4 05             	test   $0x5,%ah
4537f2:	7a 09                	jp     0x4537fd
4537f4:	dd d9                	fstp   %st(1)
4537f6:	33 c0                	xor    %eax,%eax
4537f8:	dd d8                	fstp   %st(0)
4537fa:	40                   	inc    %eax
4537fb:	eb 14                	jmp    0x453811
4537fd:	de d9                	fcompp
4537ff:	df e0                	fnstsw %ax
453801:	f6 c4 41             	test   $0x41,%ah
453804:	75 05                	jne    0x45380b
453806:	6a 04                	push   $0x4
453808:	58                   	pop    %eax
453809:	eb 06                	jmp    0x453811
45380b:	8b c6                	mov    %esi,%eax
45380d:	eb 02                	jmp    0x453811
45380f:	33 c0                	xor    %eax,%eax
453811:	5e                   	pop    %esi
453812:	5d                   	pop    %ebp
453813:	c3                   	ret
453814:	8b ff                	mov    %edi,%edi
453816:	55                   	push   %ebp
453817:	8b ec                	mov    %esp,%ebp
453819:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
45381d:	25 00 80 00 00       	and    $0x8000,%eax
453822:	5d                   	pop    %ebp
453823:	c3                   	ret
453824:	dd 05 70 de 49 00    	fldl   0x49de70
45382a:	c3                   	ret
45382b:	8b ff                	mov    %edi,%edi
45382d:	55                   	push   %ebp
45382e:	8b ec                	mov    %esp,%ebp
453830:	51                   	push   %ecx
453831:	56                   	push   %esi
453832:	8b 75 08             	mov    0x8(%ebp),%esi
453835:	b8 ff 07 00 00       	mov    $0x7ff,%eax
45383a:	0f b7 56 06          	movzwl 0x6(%esi),%edx
45383e:	8b ca                	mov    %edx,%ecx
453840:	c1 e9 04             	shr    $0x4,%ecx
453843:	23 c8                	and    %eax,%ecx
453845:	89 4d fc             	mov    %ecx,-0x4(%ebp)
453848:	66 3b c8             	cmp    %ax,%cx
45384b:	75 26                	jne    0x453873
45384d:	f6 c2 0f             	test   $0xf,%dl
453850:	75 19                	jne    0x45386b
453852:	33 c0                	xor    %eax,%eax
453854:	66 39 46 04          	cmp    %ax,0x4(%esi)
453858:	75 11                	jne    0x45386b
45385a:	66 39 46 02          	cmp    %ax,0x2(%esi)
45385e:	75 0b                	jne    0x45386b
453860:	66 39 06             	cmp    %ax,(%esi)
453863:	75 06                	jne    0x45386b
453865:	40                   	inc    %eax
453866:	e9 c2 00 00 00       	jmp    0x45392d
45386b:	6a 02                	push   $0x2
45386d:	58                   	pop    %eax
45386e:	e9 ba 00 00 00       	jmp    0x45392d
453873:	f7 c2 ff 7f ff ff    	test   $0xffff7fff,%edx
453879:	75 1a                	jne    0x453895
45387b:	33 c0                	xor    %eax,%eax
45387d:	66 39 46 04          	cmp    %ax,0x4(%esi)
453881:	75 12                	jne    0x453895
453883:	66 39 46 02          	cmp    %ax,0x2(%esi)
453887:	75 0c                	jne    0x453895
453889:	66 39 06             	cmp    %ax,(%esi)
45388c:	75 07                	jne    0x453895
45388e:	33 c0                	xor    %eax,%eax
453890:	e9 98 00 00 00       	jmp    0x45392d
453895:	b8 33 04 00 00       	mov    $0x433,%eax
45389a:	2b c1                	sub    %ecx,%eax
45389c:	2b 45 0c             	sub    0xc(%ebp),%eax
45389f:	0f b7 c8             	movzwl %ax,%ecx
4538a2:	66 8b c1             	mov    %cx,%ax
4538a5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4538a8:	66 85 c0             	test   %ax,%ax
4538ab:	7e e1                	jle    0x45388e
4538ad:	57                   	push   %edi
4538ae:	6a 35                	push   $0x35
4538b0:	5f                   	pop    %edi
4538b1:	66 3b f8             	cmp    %ax,%di
4538b4:	7f 17                	jg     0x4538cd
4538b6:	33 c0                	xor    %eax,%eax
4538b8:	81 e2 00 80 00 00    	and    $0x8000,%edx
4538be:	89 46 02             	mov    %eax,0x2(%esi)
4538c1:	66 89 06             	mov    %ax,(%esi)
4538c4:	83 c8 ff             	or     $0xffffffff,%eax
4538c7:	66 89 56 06          	mov    %dx,0x6(%esi)
4538cb:	eb 5f                	jmp    0x45392c
4538cd:	66 c1 f8 04          	sar    $0x4,%ax
4538d1:	83 e1 0f             	and    $0xf,%ecx
4538d4:	0f bf f8             	movswl %ax,%edi
4538d7:	0f b7 14 4d dc c9 49 	movzwl 0x49c9dc(,%ecx,2),%edx
4538de:	00
4538df:	8b 0c bd fc c9 49 00 	mov    0x49c9fc(,%edi,4),%ecx
4538e6:	0f b7 04 4e          	movzwl (%esi,%ecx,2),%eax
4538ea:	23 d0                	and    %eax,%edx
4538ec:	33 c2                	xor    %edx,%eax
4538ee:	89 55 fc             	mov    %edx,-0x4(%ebp)
4538f1:	66 89 04 4e          	mov    %ax,(%esi,%ecx,2)
4538f5:	66 8b ca             	mov    %dx,%cx
4538f8:	83 ef 01             	sub    $0x1,%edi
4538fb:	74 1e                	je     0x45391b
4538fd:	83 ef 01             	sub    $0x1,%edi
453900:	74 0f                	je     0x453911
453902:	83 ef 01             	sub    $0x1,%edi
453905:	75 1c                	jne    0x453923
453907:	66 0b 4e 04          	or     0x4(%esi),%cx
45390b:	33 c0                	xor    %eax,%eax
45390d:	66 89 46 04          	mov    %ax,0x4(%esi)
453911:	66 0b 4e 02          	or     0x2(%esi),%cx
453915:	33 c0                	xor    %eax,%eax
453917:	66 89 46 02          	mov    %ax,0x2(%esi)
45391b:	66 0b 0e             	or     (%esi),%cx
45391e:	33 c0                	xor    %eax,%eax
453920:	66 89 06             	mov    %ax,(%esi)
453923:	33 c0                	xor    %eax,%eax
453925:	66 85 c9             	test   %cx,%cx
453928:	0f 94 c0             	sete   %al
45392b:	48                   	dec    %eax
45392c:	5f                   	pop    %edi
45392d:	5e                   	pop    %esi
45392e:	8b e5                	mov    %ebp,%esp
453930:	5d                   	pop    %ebp
453931:	c3                   	ret
453932:	8b ff                	mov    %edi,%edi
453934:	55                   	push   %ebp
453935:	8b ec                	mov    %esp,%ebp
453937:	8b 4d 08             	mov    0x8(%ebp),%ecx
45393a:	56                   	push   %esi
45393b:	be f0 7f 00 00       	mov    $0x7ff0,%esi
453940:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
453944:	8b d0                	mov    %eax,%edx
453946:	23 d6                	and    %esi,%edx
453948:	66 3b d6             	cmp    %si,%dx
45394b:	5e                   	pop    %esi
45394c:	75 1f                	jne    0x45396d
45394e:	a8 0f                	test   $0xf,%al
453950:	75 16                	jne    0x453968
453952:	33 c0                	xor    %eax,%eax
453954:	66 39 41 04          	cmp    %ax,0x4(%ecx)
453958:	75 0e                	jne    0x453968
45395a:	66 39 41 02          	cmp    %ax,0x2(%ecx)
45395e:	75 08                	jne    0x453968
453960:	66 39 01             	cmp    %ax,(%ecx)
453963:	75 03                	jne    0x453968
453965:	40                   	inc    %eax
453966:	5d                   	pop    %ebp
453967:	c3                   	ret
453968:	6a 02                	push   $0x2
45396a:	58                   	pop    %eax
45396b:	5d                   	pop    %ebp
45396c:	c3                   	ret
45396d:	a9 ff 7f ff ff       	test   $0xffff7fff,%eax
453972:	75 15                	jne    0x453989
453974:	33 c0                	xor    %eax,%eax
453976:	66 39 41 04          	cmp    %ax,0x4(%ecx)
45397a:	75 0d                	jne    0x453989
45397c:	66 39 41 02          	cmp    %ax,0x2(%ecx)
453980:	75 07                	jne    0x453989
453982:	66 39 01             	cmp    %ax,(%ecx)
453985:	75 02                	jne    0x453989
453987:	5d                   	pop    %ebp
453988:	c3                   	ret
453989:	33 c0                	xor    %eax,%eax
45398b:	66 85 d2             	test   %dx,%dx
45398e:	0f 95 c0             	setne  %al
453991:	83 e8 02             	sub    $0x2,%eax
453994:	5d                   	pop    %ebp
453995:	c3                   	ret
453996:	8b ff                	mov    %edi,%edi
453998:	55                   	push   %ebp
453999:	8b ec                	mov    %esp,%ebp
45399b:	51                   	push   %ecx
45399c:	56                   	push   %esi
45399d:	8b 75 08             	mov    0x8(%ebp),%esi
4539a0:	0f b7 4e 02          	movzwl 0x2(%esi),%ecx
4539a4:	8b c1                	mov    %ecx,%eax
4539a6:	c1 e8 07             	shr    $0x7,%eax
4539a9:	0f b6 d0             	movzbl %al,%edx
4539ac:	b8 ff 00 00 00       	mov    $0xff,%eax
4539b1:	89 55 fc             	mov    %edx,-0x4(%ebp)
4539b4:	66 3b d0             	cmp    %ax,%dx
4539b7:	75 1b                	jne    0x4539d4
4539b9:	f6 c1 7f             	test   $0x7f,%cl
4539bc:	75 0e                	jne    0x4539cc
4539be:	66 83 3e 00          	cmpw   $0x0,(%esi)
4539c2:	75 08                	jne    0x4539cc
4539c4:	33 c0                	xor    %eax,%eax
4539c6:	40                   	inc    %eax
4539c7:	e9 95 00 00 00       	jmp    0x453a61
4539cc:	6a 02                	push   $0x2
4539ce:	58                   	pop    %eax
4539cf:	e9 8d 00 00 00       	jmp    0x453a61
4539d4:	f7 c1 ff 7f ff ff    	test   $0xffff7fff,%ecx
4539da:	75 0a                	jne    0x4539e6
4539dc:	66 83 3e 00          	cmpw   $0x0,(%esi)
4539e0:	75 04                	jne    0x4539e6
4539e2:	33 c0                	xor    %eax,%eax
4539e4:	eb 7b                	jmp    0x453a61
4539e6:	b8 96 00 00 00       	mov    $0x96,%eax
4539eb:	2b c2                	sub    %edx,%eax