43c5db:	c3                   	ret
43c5dc:	8b ff                	mov    %edi,%edi
43c5de:	55                   	push   %ebp
43c5df:	8b ec                	mov    %esp,%ebp
43c5e1:	51                   	push   %ecx
43c5e2:	51                   	push   %ecx
43c5e3:	9b d9 7d fc          	fstcw  -0x4(%ebp)
43c5e7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43c5ea:	8b 45 08             	mov    0x8(%ebp),%eax
43c5ed:	f7 d1                	not    %ecx
43c5ef:	66 23 4d fc          	and    -0x4(%ebp),%cx
43c5f3:	23 45 0c             	and    0xc(%ebp),%eax
43c5f6:	66 0b c8             	or     %ax,%cx
43c5f9:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
43c5fd:	d9 6d f8             	fldcw  -0x8(%ebp)
43c600:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
43c604:	8b e5                	mov    %ebp,%esp
43c606:	5d                   	pop    %ebp
43c607:	c3                   	ret
43c608:	8b ff                	mov    %edi,%edi
43c60a:	55                   	push   %ebp
43c60b:	8b ec                	mov    %esp,%ebp
43c60d:	8b 4d 08             	mov    0x8(%ebp),%ecx
43c610:	83 ec 0c             	sub    $0xc,%esp
43c613:	f6 c1 01             	test   $0x1,%cl
43c616:	74 0a                	je     0x43c622
43c618:	db 2d c8 54 46 00    	fldt   0x4654c8
43c61e:	db 5d fc             	fistpl -0x4(%ebp)
43c621:	9b                   	fwait
43c622:	f6 c1 08             	test   $0x8,%cl
43c625:	74 10                	je     0x43c637
43c627:	9b df e0             	fstsw  %ax
43c62a:	db 2d c8 54 46 00    	fldt   0x4654c8
43c630:	dd 5d f4             	fstpl  -0xc(%ebp)
43c633:	9b 9b df e0          	fstsw  %ax
43c637:	f6 c1 10             	test   $0x10,%cl
43c63a:	74 0a                	je     0x43c646
43c63c:	db 2d d4 54 46 00    	fldt   0x4654d4
43c642:	dd 5d f4             	fstpl  -0xc(%ebp)
43c645:	9b                   	fwait
43c646:	f6 c1 04             	test   $0x4,%cl
43c649:	74 09                	je     0x43c654
43c64b:	d9 ee                	fldz
43c64d:	d9 e8                	fld1
43c64f:	de f1                	fdivp  %st,%st(1)
43c651:	dd d8                	fstp   %st(0)
43c653:	9b                   	fwait
43c654:	f6 c1 20             	test   $0x20,%cl
43c657:	74 06                	je     0x43c65f
43c659:	d9 eb                	fldpi
43c65b:	dd 5d f4             	fstpl  -0xc(%ebp)
43c65e:	9b                   	fwait
43c65f:	8b e5                	mov    %ebp,%esp
43c661:	5d                   	pop    %ebp
43c662:	c3                   	ret
43c663:	8b ff                	mov    %edi,%edi
43c665:	55                   	push   %ebp
43c666:	8b ec                	mov    %esp,%ebp
43c668:	51                   	push   %ecx
43c669:	9b dd 7d fc          	fstsw  -0x4(%ebp)
43c66d:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
43c671:	8b e5                	mov    %ebp,%esp
43c673:	5d                   	pop    %ebp
43c674:	c3                   	ret
43c675:	8b ff                	mov    %edi,%edi
43c677:	55                   	push   %ebp
43c678:	8b ec                	mov    %esp,%ebp
43c67a:	8b 4d 08             	mov    0x8(%ebp),%ecx
43c67d:	33 c0                	xor    %eax,%eax
43c67f:	38 01                	cmp    %al,(%ecx)
43c681:	74 0c                	je     0x43c68f
43c683:	3b 45 0c             	cmp    0xc(%ebp),%eax
43c686:	74 07                	je     0x43c68f
43c688:	40                   	inc    %eax
43c689:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
43c68d:	75 f4                	jne    0x43c683
43c68f:	5d                   	pop    %ebp
43c690:	c3                   	ret
43c691:	8b ff                	mov    %edi,%edi
43c693:	55                   	push   %ebp
43c694:	8b ec                	mov    %esp,%ebp
43c696:	56                   	push   %esi
43c697:	e8 09 11 00 00       	call   0x43d7a5
43c69c:	8b 75 08             	mov    0x8(%ebp),%esi
43c69f:	89 06                	mov    %eax,(%esi)
43c6a1:	e8 42 11 00 00       	call   0x43d7e8
43c6a6:	89 46 04             	mov    %eax,0x4(%esi)
43c6a9:	33 c0                	xor    %eax,%eax
43c6ab:	5e                   	pop    %esi
43c6ac:	5d                   	pop    %ebp
43c6ad:	c3                   	ret
43c6ae:	8b ff                	mov    %edi,%edi
43c6b0:	55                   	push   %ebp
43c6b1:	8b ec                	mov    %esp,%ebp
43c6b3:	51                   	push   %ecx
43c6b4:	51                   	push   %ecx
43c6b5:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
43c6b9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43c6bd:	56                   	push   %esi
43c6be:	8b 75 08             	mov    0x8(%ebp),%esi
43c6c1:	ff 36                	push   (%esi)
43c6c3:	e8 c8 11 00 00       	call   0x43d890
43c6c8:	ff 76 04             	push   0x4(%esi)
43c6cb:	e8 40 12 00 00       	call   0x43d910
43c6d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
43c6d3:	50                   	push   %eax
43c6d4:	e8 b8 ff ff ff       	call   0x43c691
43c6d9:	8b 06                	mov    (%esi),%eax
43c6db:	83 c4 0c             	add    $0xc,%esp
43c6de:	3b 45 f8             	cmp    -0x8(%ebp),%eax
43c6e1:	75 0c                	jne    0x43c6ef
43c6e3:	8b 46 04             	mov    0x4(%esi),%eax
43c6e6:	3b 45 fc             	cmp    -0x4(%ebp),%eax
43c6e9:	75 04                	jne    0x43c6ef
43c6eb:	33 c0                	xor    %eax,%eax
43c6ed:	eb 03                	jmp    0x43c6f2
43c6ef:	33 c0                	xor    %eax,%eax
43c6f1:	40                   	inc    %eax
43c6f2:	5e                   	pop    %esi
43c6f3:	8b e5                	mov    %ebp,%esp
43c6f5:	5d                   	pop    %ebp
43c6f6:	c3                   	ret
43c6f7:	8b ff                	mov    %edi,%edi
43c6f9:	55                   	push   %ebp
43c6fa:	8b ec                	mov    %esp,%ebp
43c6fc:	51                   	push   %ecx
43c6fd:	51                   	push   %ecx
43c6fe:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
43c702:	8d 45 f8             	lea    -0x8(%ebp),%eax
43c705:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43c709:	50                   	push   %eax
43c70a:	e8 82 ff ff ff       	call   0x43c691
43c70f:	59                   	pop    %ecx
43c710:	85 c0                	test   %eax,%eax
43c712:	74 05                	je     0x43c719
43c714:	33 c0                	xor    %eax,%eax
43c716:	40                   	inc    %eax
43c717:	eb 29                	jmp    0x43c742
43c719:	8b 4d 08             	mov    0x8(%ebp),%ecx
43c71c:	8b 55 f8             	mov    -0x8(%ebp),%edx
43c71f:	8b 45 fc             	mov    -0x4(%ebp),%eax
43c722:	89 41 04             	mov    %eax,0x4(%ecx)
43c725:	8d 45 f8             	lea    -0x8(%ebp),%eax
43c728:	89 11                	mov    %edx,(%ecx)
43c72a:	83 ca 1f             	or     $0x1f,%edx
43c72d:	50                   	push   %eax
43c72e:	89 55 f8             	mov    %edx,-0x8(%ebp)
43c731:	e8 78 ff ff ff       	call   0x43c6ae
43c736:	59                   	pop    %ecx
43c737:	85 c0                	test   %eax,%eax
43c739:	75 d9                	jne    0x43c714
43c73b:	e8 95 d3 ff ff       	call   0x439ad5
43c740:	33 c0                	xor    %eax,%eax
43c742:	8b e5                	mov    %ebp,%esp
43c744:	5d                   	pop    %ebp
43c745:	c3                   	ret
43c746:	cc                   	int3
43c747:	cc                   	int3
43c748:	cc                   	int3
43c749:	cc                   	int3
43c74a:	cc                   	int3
43c74b:	cc                   	int3
43c74c:	cc                   	int3
43c74d:	cc                   	int3
43c74e:	cc                   	int3
43c74f:	cc                   	int3
43c750:	83 3d 3c b7 46 00 00 	cmpl   $0x0,0x46b73c
43c757:	0f 84 82 00 00 00    	je     0x43c7df
43c75d:	83 ec 08             	sub    $0x8,%esp
43c760:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
43c765:	8b 44 24 04          	mov    0x4(%esp),%eax
43c769:	25 80 7f 00 00       	and    $0x7f80,%eax
43c76e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
43c773:	75 0f                	jne    0x43c784
43c775:	d9 3c 24             	fnstcw (%esp)
43c778:	66 8b 04 24          	mov    (%esp),%ax
43c77c:	66 83 e0 7f          	and    $0x7f,%ax
43c780:	66 83 f8 7f          	cmp    $0x7f,%ax
43c784:	8d 64 24 08          	lea    0x8(%esp),%esp
43c788:	75 55                	jne    0x43c7df
43c78a:	e9 29 12 00 00       	jmp    0x43d9b8
43c78f:	90                   	nop
43c790:	83 3d 3c b7 46 00 00 	cmpl   $0x0,0x46b73c
43c797:	74 32                	je     0x43c7cb
43c799:	83 ec 08             	sub    $0x8,%esp
43c79c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
43c7a1:	8b 44 24 04          	mov    0x4(%esp),%eax
43c7a5:	25 80 7f 00 00       	and    $0x7f80,%eax
43c7aa:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
43c7af:	75 0f                	jne    0x43c7c0
43c7b1:	d9 3c 24             	fnstcw (%esp)
43c7b4:	66 8b 04 24          	mov    (%esp),%ax
43c7b8:	66 83 e0 7f          	and    $0x7f,%ax
43c7bc:	66 83 f8 7f          	cmp    $0x7f,%ax
43c7c0:	8d 64 24 08          	lea    0x8(%esp),%esp
43c7c4:	75 05                	jne    0x43c7cb
43c7c6:	e9 d5 11 00 00       	jmp    0x43d9a0
43c7cb:	83 ec 0c             	sub    $0xc,%esp
43c7ce:	dd 14 24             	fstl   (%esp)
43c7d1:	e8 e2 18 00 00       	call   0x43e0b8
43c7d6:	e8 0d 00 00 00       	call   0x43c7e8
43c7db:	83 c4 0c             	add    $0xc,%esp
43c7de:	c3                   	ret
43c7df:	8d 54 24 04          	lea    0x4(%esp),%edx
43c7e3:	e8 8d 18 00 00       	call   0x43e075
43c7e8:	52                   	push   %edx
43c7e9:	9b d9 3c 24          	fstcw  (%esp)
43c7ed:	74 4c                	je     0x43c83b
43c7ef:	8b 44 24 0c          	mov    0xc(%esp),%eax
43c7f3:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
43c7f9:	74 06                	je     0x43c801
43c7fb:	d9 2d e8 56 46 00    	fldcw  0x4656e8
43c801:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
43c806:	74 5e                	je     0x43c866
43c808:	a9 00 00 00 80       	test   $0x80000000,%eax
43c80d:	75 41                	jne    0x43c850
43c80f:	d9 ec                	fldlg2
43c811:	d9 c9                	fxch   %st(1)
43c813:	d9 f1                	fyl2x
43c815:	83 3d cc b5 46 00 00 	cmpl   $0x0,0x46b5cc
43c81c:	0f 85 ac 18 00 00    	jne    0x43e0ce
43c822:	8d 0d e0 54 46 00    	lea    0x4654e0,%ecx
43c828:	ba 1b 00 00 00       	mov    $0x1b,%edx
43c82d:	e9 a9 18 00 00       	jmp    0x43e0db
43c832:	a9 00 00 00 80       	test   $0x80000000,%eax
43c837:	75 17                	jne    0x43c850
43c839:	eb d4                	jmp    0x43c80f
43c83b:	a9 ff ff 0f 00       	test   $0xfffff,%eax
43c840:	75 1d                	jne    0x43c85f
43c842:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
43c847:	75 16                	jne    0x43c85f
43c849:	25 00 00 00 80       	and    $0x80000000,%eax
43c84e:	74 c5                	je     0x43c815
43c850:	dd d8                	fstp   %st(0)
43c852:	db 2d a0 56 46 00    	fldt   0x4656a0
43c858:	b8 01 00 00 00       	mov    $0x1,%eax
43c85d:	eb 22                	jmp    0x43c881
43c85f:	e8 f8 17 00 00       	call   0x43e05c
43c864:	eb 1b                	jmp    0x43c881
43c866:	a9 ff ff 0f 00       	test   $0xfffff,%eax
43c86b:	75 c5                	jne    0x43c832
43c86d:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
43c872:	75 be                	jne    0x43c832
43c874:	dd d8                	fstp   %st(0)
43c876:	db 2d 4a 56 46 00    	fldt   0x46564a
43c87c:	b8 02 00 00 00       	mov    $0x2,%eax
43c881:	83 3d cc b5 46 00 00 	cmpl   $0x0,0x46b5cc
43c888:	0f 85 40 18 00 00    	jne    0x43e0ce
43c88e:	8d 0d e0 54 46 00    	lea    0x4654e0,%ecx
43c894:	ba 1b 00 00 00       	mov    $0x1b,%edx
43c899:	e8 39 19 00 00       	call   0x43e1d7
43c89e:	5a                   	pop    %edx
43c89f:	c3                   	ret
43c8a0:	83 3d 3c b7 46 00 00 	cmpl   $0x0,0x46b73c
43c8a7:	0f 84 7e 1b 00 00    	je     0x43e42b
43c8ad:	83 ec 08             	sub    $0x8,%esp
43c8b0:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
43c8b5:	8b 44 24 04          	mov    0x4(%esp),%eax
43c8b9:	25 80 7f 00 00       	and    $0x7f80,%eax
43c8be:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
43c8c3:	75 0f                	jne    0x43c8d4
43c8c5:	d9 3c 24             	fnstcw (%esp)
43c8c8:	66 8b 04 24          	mov    (%esp),%ax
43c8cc:	66 83 e0 7f          	and    $0x7f,%ax
43c8d0:	66 83 f8 7f          	cmp    $0x7f,%ax
43c8d4:	8d 64 24 08          	lea    0x8(%esp),%esp
43c8d8:	0f 85 4d 1b 00 00    	jne    0x43e42b
43c8de:	eb 00                	jmp    0x43c8e0
43c8e0:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
43c8e6:	66 0f 28 15 00 55 46 	movapd 0x465500,%xmm2
43c8ed:	00
43c8ee:	66 0f 28 c8          	movapd %xmm0,%xmm1
43c8f2:	66 0f 28 f8          	movapd %xmm0,%xmm7
43c8f6:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
43c8fb:	66 0f 7e c0          	movd   %xmm0,%eax
43c8ff:	66 0f 54 05 20 55 46 	andpd  0x465520,%xmm0
43c906:	00
43c907:	66 0f fa d0          	psubd  %xmm0,%xmm2
43c90b:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
43c90f:	a9 00 08 00 00       	test   $0x800,%eax
43c914:	74 4c                	je     0x43c962
43c916:	3d ff 0b 00 00       	cmp    $0xbff,%eax
43c91b:	7c 7d                	jl     0x43c99a
43c91d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
43c921:	3d 32 0c 00 00       	cmp    $0xc32,%eax
43c926:	7f 0b                	jg     0x43c933
43c928:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
43c92e:	dd 44 24 04          	fldl   0x4(%esp)
43c932:	c3                   	ret
43c933:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
43c937:	7b 24                	jnp    0x43c95d
43c939:	ba ec 03 00 00       	mov    $0x3ec,%edx
43c93e:	83 ec 10             	sub    $0x10,%esp
43c941:	89 54 24 0c          	mov    %edx,0xc(%esp)
43c945:	8b d4                	mov    %esp,%edx
43c947:	83 c2 14             	add    $0x14,%edx
43c94a:	89 54 24 08          	mov    %edx,0x8(%esp)
43c94e:	89 54 24 04          	mov    %edx,0x4(%esp)
43c952:	89 14 24             	mov    %edx,(%esp)
43c955:	e8 b9 18 00 00       	call   0x43e213
43c95a:	83 c4 10             	add    $0x10,%esp
43c95d:	dd 44 24 04          	fldl   0x4(%esp)
43c961:	c3                   	ret
43c962:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
43c968:	66 0f f3 ca          	psllq  %xmm2,%xmm1
43c96c:	66 0f 28 d8          	movapd %xmm0,%xmm3
43c970:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
43c975:	3d ff 03 00 00       	cmp    $0x3ff,%eax
43c97a:	7c 25                	jl     0x43c9a1
43c97c:	3d 32 04 00 00       	cmp    $0x432,%eax
43c981:	7f b0                	jg     0x43c933
43c983:	66 0f 54 05 f0 54 46 	andpd  0x4654f0,%xmm0
43c98a:	00
43c98b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
43c98f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
43c995:	dd 44 24 04          	fldl   0x4(%esp)
43c999:	c3                   	ret
43c99a:	dd 05 30 55 46 00    	fldl   0x465530
43c9a0:	c3                   	ret
43c9a1:	66 0f c2 1d 10 55 46 	cmpnlepd 0x465510,%xmm3
43c9a8:	00 06
43c9aa:	66 0f 54 1d f0 54 46 	andpd  0x4654f0,%xmm3
43c9b1:	00
43c9b2:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
43c9b8:	dd 44 24 04          	fldl   0x4(%esp)
43c9bc:	c3                   	ret
43c9bd:	8b ff                	mov    %edi,%edi
43c9bf:	55                   	push   %ebp
43c9c0:	8b ec                	mov    %esp,%ebp
43c9c2:	83 ec 38             	sub    $0x38,%esp
43c9c5:	a1 08 a0 46 00       	mov    0x46a008,%eax
43c9ca:	33 c5                	xor    %ebp,%eax
43c9cc:	89 45 fc             	mov    %eax,-0x4(%ebp)
43c9cf:	8b 45 0c             	mov    0xc(%ebp),%eax
43c9d2:	8b c8                	mov    %eax,%ecx
43c9d4:	83 e0 3f             	and    $0x3f,%eax
43c9d7:	c1 f9 06             	sar    $0x6,%ecx
43c9da:	53                   	push   %ebx
43c9db:	6b d8 30             	imul   $0x30,%eax,%ebx
43c9de:	56                   	push   %esi
43c9df:	8b 04 8d 58 b1 46 00 	mov    0x46b158(,%ecx,4),%eax
43c9e6:	57                   	push   %edi
43c9e7:	8b 7d 10             	mov    0x10(%ebp),%edi
43c9ea:	89 7d d0             	mov    %edi,-0x30(%ebp)
43c9ed:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
43c9f0:	8b 44 18 18          	mov    0x18(%eax,%ebx,1),%eax
43c9f4:	89 45 d8             	mov    %eax,-0x28(%ebp)
43c9f7:	8b 45 14             	mov    0x14(%ebp),%eax
43c9fa:	03 c7                	add    %edi,%eax
43c9fc:	89 45 dc             	mov    %eax,-0x24(%ebp)