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)
43c9ff:	ff 15 80 b2 44 00    	call   *0x44b280
43ca05:	8b 75 08             	mov    0x8(%ebp),%esi
43ca08:	8b 4d dc             	mov    -0x24(%ebp),%ecx
43ca0b:	89 45 c8             	mov    %eax,-0x38(%ebp)
43ca0e:	33 c0                	xor    %eax,%eax
43ca10:	89 06                	mov    %eax,(%esi)
43ca12:	89 46 04             	mov    %eax,0x4(%esi)
43ca15:	89 46 08             	mov    %eax,0x8(%esi)
43ca18:	3b f9                	cmp    %ecx,%edi
43ca1a:	0f 83 3d 01 00 00    	jae    0x43cb5d
43ca20:	8a 2f                	mov    (%edi),%ch
43ca22:	33 c0                	xor    %eax,%eax
43ca24:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
43ca28:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43ca2b:	88 6d e5             	mov    %ch,-0x1b(%ebp)
43ca2e:	8b 14 85 58 b1 46 00 	mov    0x46b158(,%eax,4),%edx
43ca35:	8a 4c 1a 2d          	mov    0x2d(%edx,%ebx,1),%cl
43ca39:	f6 c1 04             	test   $0x4,%cl
43ca3c:	74 19                	je     0x43ca57
43ca3e:	8a 44 1a 2e          	mov    0x2e(%edx,%ebx,1),%al
43ca42:	80 e1 fb             	and    $0xfb,%cl
43ca45:	88 45 f4             	mov    %al,-0xc(%ebp)
43ca48:	8d 45 f4             	lea    -0xc(%ebp),%eax
43ca4b:	6a 02                	push   $0x2
43ca4d:	88 6d f5             	mov    %ch,-0xb(%ebp)
43ca50:	88 4c 1a 2d          	mov    %cl,0x2d(%edx,%ebx,1)
43ca54:	50                   	push   %eax
43ca55:	eb 3a                	jmp    0x43ca91
43ca57:	e8 5c c3 ff ff       	call   0x438db8
43ca5c:	0f b6 0f             	movzbl (%edi),%ecx
43ca5f:	ba 00 80 00 00       	mov    $0x8000,%edx
43ca64:	66 85 14 48          	test   %dx,(%eax,%ecx,2)
43ca68:	74 24                	je     0x43ca8e
43ca6a:	3b 7d dc             	cmp    -0x24(%ebp),%edi
43ca6d:	0f 83 c1 00 00 00    	jae    0x43cb34
43ca73:	6a 02                	push   $0x2
43ca75:	8d 45 e8             	lea    -0x18(%ebp),%eax
43ca78:	57                   	push   %edi
43ca79:	50                   	push   %eax
43ca7a:	e8 37 9b ff ff       	call   0x4365b6
43ca7f:	83 c4 0c             	add    $0xc,%esp
43ca82:	83 f8 ff             	cmp    $0xffffffff,%eax
43ca85:	0f 84 d2 00 00 00    	je     0x43cb5d
43ca8b:	47                   	inc    %edi
43ca8c:	eb 18                	jmp    0x43caa6
43ca8e:	6a 01                	push   $0x1
43ca90:	57                   	push   %edi
43ca91:	8d 45 e8             	lea    -0x18(%ebp),%eax
43ca94:	50                   	push   %eax
43ca95:	e8 1c 9b ff ff       	call   0x4365b6
43ca9a:	83 c4 0c             	add    $0xc,%esp
43ca9d:	83 f8 ff             	cmp    $0xffffffff,%eax
43caa0:	0f 84 b7 00 00 00    	je     0x43cb5d
43caa6:	33 c9                	xor    %ecx,%ecx
43caa8:	8d 45 ec             	lea    -0x14(%ebp),%eax
43caab:	51                   	push   %ecx
43caac:	51                   	push   %ecx
43caad:	6a 05                	push   $0x5
43caaf:	50                   	push   %eax
43cab0:	6a 01                	push   $0x1
43cab2:	8d 45 e8             	lea    -0x18(%ebp),%eax
43cab5:	47                   	inc    %edi
43cab6:	50                   	push   %eax
43cab7:	51                   	push   %ecx
43cab8:	ff 75 c8             	push   -0x38(%ebp)
43cabb:	ff 15 00 b1 44 00    	call   *0x44b100
43cac1:	89 45 cc             	mov    %eax,-0x34(%ebp)
43cac4:	85 c0                	test   %eax,%eax
43cac6:	0f 84 91 00 00 00    	je     0x43cb5d
43cacc:	6a 00                	push   $0x0
43cace:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43cad1:	51                   	push   %ecx
43cad2:	50                   	push   %eax
43cad3:	8d 45 ec             	lea    -0x14(%ebp),%eax
43cad6:	50                   	push   %eax
43cad7:	ff 75 d8             	push   -0x28(%ebp)
43cada:	ff 15 30 b1 44 00    	call   *0x44b130
43cae0:	85 c0                	test   %eax,%eax
43cae2:	74 71                	je     0x43cb55
43cae4:	8b 46 08             	mov    0x8(%esi),%eax
43cae7:	2b 45 d0             	sub    -0x30(%ebp),%eax
43caea:	03 c7                	add    %edi,%eax
43caec:	89 46 04             	mov    %eax,0x4(%esi)
43caef:	8b 45 cc             	mov    -0x34(%ebp),%eax
43caf2:	39 45 e0             	cmp    %eax,-0x20(%ebp)
43caf5:	72 66                	jb     0x43cb5d
43caf7:	80 7d e5 0a          	cmpb   $0xa,-0x1b(%ebp)
43cafb:	75 2c                	jne    0x43cb29
43cafd:	6a 0d                	push   $0xd
43caff:	58                   	pop    %eax
43cb00:	6a 00                	push   $0x0
43cb02:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
43cb06:	8d 45 e0             	lea    -0x20(%ebp),%eax
43cb09:	50                   	push   %eax
43cb0a:	6a 01                	push   $0x1
43cb0c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43cb0f:	50                   	push   %eax
43cb10:	ff 75 d8             	push   -0x28(%ebp)
43cb13:	ff 15 30 b1 44 00    	call   *0x44b130
43cb19:	85 c0                	test   %eax,%eax
43cb1b:	74 38                	je     0x43cb55
43cb1d:	83 7d e0 01          	cmpl   $0x1,-0x20(%ebp)
43cb21:	72 3a                	jb     0x43cb5d
43cb23:	ff 46 08             	incl   0x8(%esi)
43cb26:	ff 46 04             	incl   0x4(%esi)
43cb29:	3b 7d dc             	cmp    -0x24(%ebp),%edi
43cb2c:	0f 82 ee fe ff ff    	jb     0x43ca20
43cb32:	eb 29                	jmp    0x43cb5d
43cb34:	8b 55 d4             	mov    -0x2c(%ebp),%edx
43cb37:	8a 07                	mov    (%edi),%al
43cb39:	8b 0c 95 58 b1 46 00 	mov    0x46b158(,%edx,4),%ecx
43cb40:	88 44 19 2e          	mov    %al,0x2e(%ecx,%ebx,1)
43cb44:	8b 04 95 58 b1 46 00 	mov    0x46b158(,%edx,4),%eax
43cb4b:	80 4c 18 2d 04       	orb    $0x4,0x2d(%eax,%ebx,1)
43cb50:	ff 46 04             	incl   0x4(%esi)
43cb53:	eb 08                	jmp    0x43cb5d
43cb55:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43cb5b:	89 06                	mov    %eax,(%esi)
43cb5d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43cb60:	8b c6                	mov    %esi,%eax
43cb62:	5f                   	pop    %edi
43cb63:	5e                   	pop    %esi
43cb64:	33 cd                	xor    %ebp,%ecx
43cb66:	5b                   	pop    %ebx
43cb67:	e8 ca 12 ff ff       	call   0x42de36
43cb6c:	8b e5                	mov    %ebp,%esp
43cb6e:	5d                   	pop    %ebp
43cb6f:	c3                   	ret
43cb70:	8b ff                	mov    %edi,%edi
43cb72:	55                   	push   %ebp
43cb73:	8b ec                	mov    %esp,%ebp
43cb75:	51                   	push   %ecx
43cb76:	53                   	push   %ebx
43cb77:	56                   	push   %esi
43cb78:	8b 75 08             	mov    0x8(%ebp),%esi
43cb7b:	33 c0                	xor    %eax,%eax
43cb7d:	57                   	push   %edi
43cb7e:	8b 7d 0c             	mov    0xc(%ebp),%edi
43cb81:	89 06                	mov    %eax,(%esi)
43cb83:	89 46 04             	mov    %eax,0x4(%esi)
43cb86:	89 46 08             	mov    %eax,0x8(%esi)
43cb89:	8b 45 10             	mov    0x10(%ebp),%eax
43cb8c:	03 c7                	add    %edi,%eax
43cb8e:	89 45 fc             	mov    %eax,-0x4(%ebp)
43cb91:	3b f8                	cmp    %eax,%edi
43cb93:	73 3f                	jae    0x43cbd4
43cb95:	0f b7 1f             	movzwl (%edi),%ebx
43cb98:	53                   	push   %ebx
43cb99:	e8 46 19 00 00       	call   0x43e4e4
43cb9e:	59                   	pop    %ecx
43cb9f:	66 3b c3             	cmp    %bx,%ax
43cba2:	75 28                	jne    0x43cbcc
43cba4:	83 46 04 02          	addl   $0x2,0x4(%esi)
43cba8:	83 fb 0a             	cmp    $0xa,%ebx
43cbab:	75 15                	jne    0x43cbc2
43cbad:	6a 0d                	push   $0xd
43cbaf:	5b                   	pop    %ebx
43cbb0:	53                   	push   %ebx
43cbb1:	e8 2e 19 00 00       	call   0x43e4e4
43cbb6:	59                   	pop    %ecx
43cbb7:	66 3b c3             	cmp    %bx,%ax
43cbba:	75 10                	jne    0x43cbcc
43cbbc:	ff 46 04             	incl   0x4(%esi)
43cbbf:	ff 46 08             	incl   0x8(%esi)
43cbc2:	83 c7 02             	add    $0x2,%edi
43cbc5:	3b 7d fc             	cmp    -0x4(%ebp),%edi
43cbc8:	72 cb                	jb     0x43cb95
43cbca:	eb 08                	jmp    0x43cbd4
43cbcc:	ff 15 e8 b0 44 00    	call   *0x44b0e8
43cbd2:	89 06                	mov    %eax,(%esi)
43cbd4:	5f                   	pop    %edi
43cbd5:	8b c6                	mov    %esi,%eax
43cbd7:	5e                   	pop    %esi
43cbd8:	5b                   	pop    %ebx
43cbd9:	8b e5                	mov    %ebp,%esp