5f5814:	55                   	push   %ebp
5f5815:	8b ec                	mov    %esp,%ebp
5f5817:	56                   	push   %esi
5f5818:	6a 00                	push   $0x0
5f581a:	ff 75 10             	push   0x10(%ebp)
5f581d:	ff 75 0c             	push   0xc(%ebp)
5f5820:	ff 75 08             	push   0x8(%ebp)
5f5823:	ff 35 78 1f 69 00    	push   0x691f78
5f5829:	ff 15 a4 20 60 00    	call   *0x6020a4
5f582f:	8b f0                	mov    %eax,%esi
5f5831:	85 f6                	test   %esi,%esi
5f5833:	75 2d                	jne    0x5f5862
5f5835:	ff 15 58 21 60 00    	call   *0x602158
5f583b:	83 f8 06             	cmp    $0x6,%eax
5f583e:	75 22                	jne    0x5f5862
5f5840:	e8 b6 ff ff ff       	call   0x5f57fb
5f5845:	e8 73 ff ff ff       	call   0x5f57bd
5f584a:	56                   	push   %esi
5f584b:	ff 75 10             	push   0x10(%ebp)
5f584e:	ff 75 0c             	push   0xc(%ebp)
5f5851:	ff 75 08             	push   0x8(%ebp)
5f5854:	ff 35 78 1f 69 00    	push   0x691f78
5f585a:	ff 15 a4 20 60 00    	call   *0x6020a4
5f5860:	8b f0                	mov    %eax,%esi
5f5862:	8b c6                	mov    %esi,%eax
5f5864:	5e                   	pop    %esi
5f5865:	5d                   	pop    %ebp
5f5866:	c3                   	ret
5f5867:	8b ff                	mov    %edi,%edi
5f5869:	55                   	push   %ebp
5f586a:	8b ec                	mov    %esp,%ebp
5f586c:	6a 00                	push   $0x0
5f586e:	ff 75 0c             	push   0xc(%ebp)
5f5871:	ff 75 08             	push   0x8(%ebp)
5f5874:	e8 05 00 00 00       	call   0x5f587e
5f5879:	83 c4 0c             	add    $0xc,%esp
5f587c:	5d                   	pop    %ebp
5f587d:	c3                   	ret
5f587e:	8b ff                	mov    %edi,%edi
5f5880:	55                   	push   %ebp
5f5881:	8b ec                	mov    %esp,%ebp
5f5883:	83 ec 10             	sub    $0x10,%esp
5f5886:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f588a:	75 14                	jne    0x5f58a0
5f588c:	e8 f7 53 fe ff       	call   0x5dac88
5f5891:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f5897:	e8 44 09 fe ff       	call   0x5d61e0
5f589c:	33 c0                	xor    %eax,%eax
5f589e:	c9                   	leave
5f589f:	c3                   	ret
5f58a0:	56                   	push   %esi
5f58a1:	8b 75 0c             	mov    0xc(%ebp),%esi
5f58a4:	85 f6                	test   %esi,%esi
5f58a6:	75 12                	jne    0x5f58ba
5f58a8:	e8 db 53 fe ff       	call   0x5dac88
5f58ad:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f58b3:	e8 28 09 fe ff       	call   0x5d61e0
5f58b8:	eb 05                	jmp    0x5f58bf
5f58ba:	39 75 08             	cmp    %esi,0x8(%ebp)
5f58bd:	72 04                	jb     0x5f58c3
5f58bf:	33 c0                	xor    %eax,%eax
5f58c1:	eb 45                	jmp    0x5f5908
5f58c3:	ff 75 10             	push   0x10(%ebp)
5f58c6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5f58c9:	e8 07 54 fe ff       	call   0x5dacd5
5f58ce:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f58d1:	8d 56 ff             	lea    -0x1(%esi),%edx
5f58d4:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
5f58d8:	74 1c                	je     0x5f58f6
5f58da:	4a                   	dec    %edx
5f58db:	39 55 08             	cmp    %edx,0x8(%ebp)
5f58de:	77 0a                	ja     0x5f58ea
5f58e0:	0f b6 02             	movzbl (%edx),%eax
5f58e3:	f6 44 08 19 04       	testb  $0x4,0x19(%eax,%ecx,1)
5f58e8:	75 f0                	jne    0x5f58da
5f58ea:	8b c6                	mov    %esi,%eax
5f58ec:	2b c2                	sub    %edx,%eax
5f58ee:	8b d6                	mov    %esi,%edx
5f58f0:	83 e0 01             	and    $0x1,%eax
5f58f3:	2b d0                	sub    %eax,%edx
5f58f5:	4a                   	dec    %edx
5f58f6:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
5f58fa:	74 0a                	je     0x5f5906
5f58fc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f58ff:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f5906:	8b c2                	mov    %edx,%eax
5f5908:	5e                   	pop    %esi
5f5909:	c9                   	leave
5f590a:	c3                   	ret
5f590b:	e8 e0 c0 ff ff       	call   0x5f19f0
5f5910:	33 c9                	xor    %ecx,%ecx
5f5912:	84 c0                	test   %al,%al
5f5914:	0f 94 c1             	sete   %cl
5f5917:	8b c1                	mov    %ecx,%eax
5f5919:	c3                   	ret
5f591a:	8b ff                	mov    %edi,%edi
5f591c:	55                   	push   %ebp
5f591d:	8b ec                	mov    %esp,%ebp
5f591f:	56                   	push   %esi
5f5920:	e8 00 dc ff ff       	call   0x5f3525
5f5925:	8b 75 08             	mov    0x8(%ebp),%esi
5f5928:	89 06                	mov    %eax,(%esi)
5f592a:	e8 76 dc ff ff       	call   0x5f35a5
5f592f:	89 46 04             	mov    %eax,0x4(%esi)
5f5932:	33 c0                	xor    %eax,%eax
5f5934:	5e                   	pop    %esi
5f5935:	5d                   	pop    %ebp
5f5936:	c3                   	ret
5f5937:	8b ff                	mov    %edi,%edi
5f5939:	55                   	push   %ebp
5f593a:	8b ec                	mov    %esp,%ebp
5f593c:	51                   	push   %ecx
5f593d:	51                   	push   %ecx
5f593e:	56                   	push   %esi
5f593f:	8b 75 08             	mov    0x8(%ebp),%esi
5f5942:	ff 36                	push   (%esi)
5f5944:	e8 06 dd ff ff       	call   0x5f364f
5f5949:	ff 76 04             	push   0x4(%esi)
5f594c:	e8 79 dd ff ff       	call   0x5f36ca
5f5951:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5f5955:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f5958:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5f595c:	50                   	push   %eax
5f595d:	e8 b8 ff ff ff       	call   0x5f591a
5f5962:	83 c4 0c             	add    $0xc,%esp
5f5965:	85 c0                	test   %eax,%eax
5f5967:	75 14                	jne    0x5f597d
5f5969:	8b 06                	mov    (%esi),%eax
5f596b:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5f596e:	75 0d                	jne    0x5f597d
5f5970:	8b 4e 04             	mov    0x4(%esi),%ecx
5f5973:	33 c0                	xor    %eax,%eax
5f5975:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
5f5978:	0f 95 c0             	setne  %al
5f597b:	eb 03                	jmp    0x5f5980
5f597d:	33 c0                	xor    %eax,%eax
5f597f:	40                   	inc    %eax
5f5980:	5e                   	pop    %esi
5f5981:	c9                   	leave
5f5982:	c3                   	ret
5f5983:	8b ff                	mov    %edi,%edi
5f5985:	55                   	push   %ebp
5f5986:	8b ec                	mov    %esp,%ebp
5f5988:	51                   	push   %ecx
5f5989:	51                   	push   %ecx
5f598a:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5f598e:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f5991:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5f5995:	50                   	push   %eax
5f5996:	e8 7f ff ff ff       	call   0x5f591a
5f599b:	59                   	pop    %ecx
5f599c:	85 c0                	test   %eax,%eax
5f599e:	75 2b                	jne    0x5f59cb
5f59a0:	8b 45 08             	mov    0x8(%ebp),%eax
5f59a3:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f59a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f59a9:	89 10                	mov    %edx,(%eax)
5f59ab:	83 ca 1f             	or     $0x1f,%edx
5f59ae:	89 48 04             	mov    %ecx,0x4(%eax)
5f59b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f59b4:	50                   	push   %eax
5f59b5:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f59b8:	e8 7a ff ff ff       	call   0x5f5937
5f59bd:	59                   	pop    %ecx
5f59be:	85 c0                	test   %eax,%eax
5f59c0:	75 09                	jne    0x5f59cb
5f59c2:	e8 f6 d3 ff ff       	call   0x5f2dbd
5f59c7:	33 c0                	xor    %eax,%eax
5f59c9:	c9                   	leave
5f59ca:	c3                   	ret
5f59cb:	33 c0                	xor    %eax,%eax
5f59cd:	40                   	inc    %eax
5f59ce:	c9                   	leave
5f59cf:	c3                   	ret
5f59d0:	83 3d b8 73 71 00 00 	cmpl   $0x0,0x7173b8
5f59d7:	74 32                	je     0x5f5a0b
5f59d9:	83 ec 08             	sub    $0x8,%esp
5f59dc:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
5f59e1:	8b 44 24 04          	mov    0x4(%esp),%eax
5f59e5:	25 80 7f 00 00       	and    $0x7f80,%eax
5f59ea:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
5f59ef:	75 0f                	jne    0x5f5a00
5f59f1:	d9 3c 24             	fnstcw (%esp)
5f59f4:	66 8b 04 24          	mov    (%esp),%ax
5f59f8:	66 83 e0 7f          	and    $0x7f,%ax
5f59fc:	66 83 f8 7f          	cmp    $0x7f,%ax
5f5a00:	8d 64 24 08          	lea    0x8(%esp),%esp
5f5a04:	75 05                	jne    0x5f5a0b
5f5a06:	e9 15 01 00 00       	jmp    0x5f5b20
5f5a0b:	83 ec 0c             	sub    $0xc,%esp
5f5a0e:	dd 14 24             	fstl   (%esp)
5f5a11:	e8 e2 7e ff ff       	call   0x5ed8f8
5f5a16:	e8 0d 00 00 00       	call   0x5f5a28
5f5a1b:	83 c4 0c             	add    $0xc,%esp
5f5a1e:	c3                   	ret
5f5a1f:	8d 54 24 04          	lea    0x4(%esp),%edx
5f5a23:	e8 8d 7e ff ff       	call   0x5ed8b5
5f5a28:	52                   	push   %edx
5f5a29:	9b d9 3c 24          	fstcw  (%esp)
5f5a2d:	74 4c                	je     0x5f5a7b
5f5a2f:	8b 44 24 0c          	mov    0xc(%esp),%eax
5f5a33:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
5f5a39:	74 06                	je     0x5f5a41
5f5a3b:	d9 2d 98 4d 67 00    	fldcw  0x674d98
5f5a41:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
5f5a46:	74 5e                	je     0x5f5aa6
5f5a48:	a9 00 00 00 80       	test   $0x80000000,%eax
5f5a4d:	75 41                	jne    0x5f5a90
5f5a4f:	d9 ec                	fldlg2
5f5a51:	d9 c9                	fxch   %st(1)
5f5a53:	d9 f1                	fyl2x
5f5a55:	83 3d ac 72 71 00 00 	cmpl   $0x0,0x7172ac
5f5a5c:	0f 85 ac 7e ff ff    	jne    0x5ed90e
5f5a62:	8d 0d c0 b5 67 00    	lea    0x67b5c0,%ecx
5f5a68:	ba 1b 00 00 00       	mov    $0x1b,%edx
5f5a6d:	e9 a9 7e ff ff       	jmp    0x5ed91b
5f5a72:	a9 00 00 00 80       	test   $0x80000000,%eax
5f5a77:	75 17                	jne    0x5f5a90
5f5a79:	eb d4                	jmp    0x5f5a4f
5f5a7b:	a9 ff ff 0f 00       	test   $0xfffff,%eax
5f5a80:	75 1d                	jne    0x5f5a9f
5f5a82:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
5f5a87:	75 16                	jne    0x5f5a9f
5f5a89:	25 00 00 00 80       	and    $0x80000000,%eax
5f5a8e:	74 c5                	je     0x5f5a55
5f5a90:	dd d8                	fstp   %st(0)
5f5a92:	db 2d 50 4d 67 00    	fldt   0x674d50
5f5a98:	b8 01 00 00 00       	mov    $0x1,%eax
5f5a9d:	eb 22                	jmp    0x5f5ac1
5f5a9f:	e8 f8 7d ff ff       	call   0x5ed89c
5f5aa4:	eb 1b                	jmp    0x5f5ac1
5f5aa6:	a9 ff ff 0f 00       	test   $0xfffff,%eax
5f5aab:	75 c5                	jne    0x5f5a72
5f5aad:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
5f5ab2:	75 be                	jne    0x5f5a72
5f5ab4:	dd d8                	fstp   %st(0)
5f5ab6:	db 2d fa 4c 67 00    	fldt   0x674cfa
5f5abc:	b8 02 00 00 00       	mov    $0x2,%eax
5f5ac1:	83 3d ac 72 71 00 00 	cmpl   $0x0,0x7172ac
5f5ac8:	0f 85 40 7e ff ff    	jne    0x5ed90e
5f5ace:	8d 0d c0 b5 67 00    	lea    0x67b5c0,%ecx
5f5ad4:	ba 1b 00 00 00       	mov    $0x1b,%edx
5f5ad9:	e8 49 7d ff ff       	call   0x5ed827
5f5ade:	5a                   	pop    %edx
5f5adf:	c3                   	ret
5f5ae0:	8b ff                	mov    %edi,%edi
5f5ae2:	55                   	push   %ebp
5f5ae3:	8b ec                	mov    %esp,%ebp
5f5ae5:	8b 45 0c             	mov    0xc(%ebp),%eax
5f5ae8:	83 20 00             	andl   $0x0,(%eax)
5f5aeb:	83 60 04 00          	andl   $0x0,0x4(%eax)
5f5aef:	8b 45 08             	mov    0x8(%ebp),%eax
5f5af2:	5d                   	pop    %ebp
5f5af3:	c3                   	ret
5f5af4:	8b ff                	mov    %edi,%edi
5f5af6:	55                   	push   %ebp
5f5af7:	8b ec                	mov    %esp,%ebp
5f5af9:	8b 45 08             	mov    0x8(%ebp),%eax
5f5afc:	83 20 00             	andl   $0x0,(%eax)
5f5aff:	83 60 04 00          	andl   $0x0,0x4(%eax)
5f5b03:	8b 45 0c             	mov    0xc(%ebp),%eax
5f5b06:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5f5b0a:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
5f5b11:	83 c8 ff             	or     $0xffffffff,%eax
5f5b14:	5d                   	pop    %ebp
5f5b15:	c3                   	ret
5f5b16:	cc                   	int3
5f5b17:	cc                   	int3
5f5b18:	cc                   	int3
5f5b19:	cc                   	int3
5f5b1a:	cc                   	int3
5f5b1b:	cc                   	int3
5f5b1c:	cc                   	int3
5f5b1d:	cc                   	int3
5f5b1e:	cc                   	int3
5f5b1f:	cc                   	int3
5f5b20:	55                   	push   %ebp
5f5b21:	8b ec                	mov    %esp,%ebp
5f5b23:	83 ec 08             	sub    $0x8,%esp
5f5b26:	83 e4 f0             	and    $0xfffffff0,%esp
5f5b29:	dd 1c 24             	fstpl  (%esp)
5f5b2c:	f3 0f 7e 04 24       	movq   (%esp),%xmm0
5f5b31:	e8 08 00 00 00       	call   0x5f5b3e
5f5b36:	c9                   	leave
5f5b37:	c3                   	ret
5f5b38:	66 0f 12 44 24 04    	movlpd 0x4(%esp),%xmm0
5f5b3e:	ba 00 00 00 00       	mov    $0x0,%edx
5f5b43:	66 0f 28 e8          	movapd %xmm0,%xmm5
5f5b47:	66 0f 14 c0          	unpcklpd %xmm0,%xmm0
5f5b4b:	66 0f 73 d5 34       	psrlq  $0x34,%xmm5
5f5b50:	66 0f c5 cd 00       	pextrw $0x0,%xmm5,%ecx
5f5b55:	66 0f 28 0d d0 b5 67 	movapd 0x67b5d0,%xmm1
5f5b5c:	00
5f5b5d:	66 0f 28 15 e0 b5 67 	movapd 0x67b5e0,%xmm2
5f5b64:	00
5f5b65:	66 0f 28 1d 40 b6 67 	movapd 0x67b640,%xmm3
5f5b6c:	00
5f5b6d:	66 0f 28 25 f0 b5 67 	movapd 0x67b5f0,%xmm4
5f5b74:	00
5f5b75:	66 0f 28 35 00 b6 67 	movapd 0x67b600,%xmm6
5f5b7c:	00
5f5b7d:	66 0f 54 c1          	andpd  %xmm1,%xmm0
5f5b81:	66 0f 56 c3          	orpd   %xmm3,%xmm0
5f5b85:	66 0f 58 e0          	addpd  %xmm0,%xmm4
5f5b89:	66 0f c5 c4 00       	pextrw $0x0,%xmm4,%eax
5f5b8e:	25 f0 07 00 00       	and    $0x7f0,%eax
5f5b93:	66 0f 28 a0 e0 ba 67 	movapd 0x67bae0(%eax),%xmm4
5f5b9a:	00
5f5b9b:	66 0f 28 b8 d0 b6 67 	movapd 0x67b6d0(%eax),%xmm7
5f5ba2:	00
5f5ba3:	66 0f 54 f0          	andpd  %xmm0,%xmm6
5f5ba7:	66 0f 5c c6          	subpd  %xmm6,%xmm0
5f5bab:	66 0f 59 f4          	mulpd  %xmm4,%xmm6
5f5baf:	66 0f 5c f2          	subpd  %xmm2,%xmm6
5f5bb3:	f2 0f 58 fe          	addsd  %xmm6,%xmm7
5f5bb7:	66 0f 59 c4          	mulpd  %xmm4,%xmm0
5f5bbb:	66 0f 28 e0          	movapd %xmm0,%xmm4
5f5bbf:	66 0f 58 c6          	addpd  %xmm6,%xmm0
5f5bc3:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
5f5bc9:	83 e9 01             	sub    $0x1,%ecx
5f5bcc:	81 f9 fd 07 00 00    	cmp    $0x7fd,%ecx
5f5bd2:	0f 87 be 00 00 00    	ja     0x5f5c96
5f5bd8:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
5f5bde:	03 ca                	add    %edx,%ecx
5f5be0:	f2 0f 2a f1          	cvtsi2sd %ecx,%xmm6
5f5be4:	66 0f 14 f6          	unpcklpd %xmm6,%xmm6
5f5be8:	c1 e1 0a             	shl    $0xa,%ecx
5f5beb:	03 c1                	add    %ecx,%eax
5f5bed:	b9 10 00 00 00       	mov    $0x10,%ecx
5f5bf2:	ba 00 00 00 00       	mov    $0x0,%edx
5f5bf7:	83 f8 00             	cmp    $0x0,%eax
5f5bfa:	0f 44 d1             	cmove  %ecx,%edx
5f5bfd:	66 0f 28 0d 90 b6 67 	movapd 0x67b690,%xmm1
5f5c04:	00
5f5c05:	66 0f 28 d8          	movapd %xmm0,%xmm3
5f5c09:	66 0f 28 15 a0 b6 67 	movapd 0x67b6a0,%xmm2
5f5c10:	00
5f5c11:	66 0f 59 c8          	mulpd  %xmm0,%xmm1
5f5c15:	66 0f 59 db          	mulpd  %xmm3,%xmm3
5f5c19:	66 0f 58 ca          	addpd  %xmm2,%xmm1
5f5c1d:	66 0f 28 15 b0 b6 67 	movapd 0x67b6b0,%xmm2
5f5c24:	00
5f5c25:	f2 0f 59 db          	mulsd  %xmm3,%xmm3
5f5c29:	66 0f 28 2d 10 b6 67 	movapd 0x67b610,%xmm5
5f5c30:	00
5f5c31:	66 0f 59 f5          	mulpd  %xmm5,%xmm6
5f5c35:	66 0f 28 aa 20 b6 67 	movapd 0x67b620(%edx),%xmm5
5f5c3c:	00
5f5c3d:	66 0f 54 e5          	andpd  %xmm5,%xmm4
5f5c41:	66 0f 58 fe          	addpd  %xmm6,%xmm7