47409b:	59                   	pop    %ecx
47409c:	85 c0                	test   %eax,%eax
47409e:	7e 0a                	jle    0x4740aa
4740a0:	83 f8 02             	cmp    $0x2,%eax
4740a3:	7e 29                	jle    0x4740ce
4740a5:	83 f8 03             	cmp    $0x3,%eax
4740a8:	74 2d                	je     0x4740d7
4740aa:	dd 45 08             	fldl   0x8(%ebp)
4740ad:	dd 05 50 ca 49 00    	fldl   0x49ca50
4740b3:	56                   	push   %esi
4740b4:	83 ec 10             	sub    $0x10,%esp
4740b7:	d8 c1                	fadd   %st(1),%st
4740b9:	dd 5c 24 08          	fstpl  0x8(%esp)
4740bd:	dd 1c 24             	fstpl  (%esp)
4740c0:	6a 25                	push   $0x25
4740c2:	6a 08                	push   $0x8
4740c4:	e8 51 99 ff ff       	call   0x46da1a
4740c9:	83 c4 1c             	add    $0x1c,%esp
4740cc:	eb 5c                	jmp    0x47412a
4740ce:	57                   	push   %edi
4740cf:	56                   	push   %esi
4740d0:	e8 b8 03 00 00       	call   0x47448d
4740d5:	59                   	pop    %ecx
4740d6:	59                   	pop    %ecx
4740d7:	dd 45 08             	fldl   0x8(%ebp)
4740da:	eb 4e                	jmp    0x47412a
4740dc:	d9 ee                	fldz
4740de:	dd e9                	fucomp %st(1)
4740e0:	df e0                	fnstsw %ax
4740e2:	f6 c4 44             	test   $0x44,%ah
4740e5:	7a 19                	jp     0x474100
4740e7:	dd 05 d0 e0 49 00    	fldl   0x49e0d0
4740ed:	56                   	push   %esi
4740ee:	83 ec 10             	sub    $0x10,%esp
4740f1:	d9 e0                	fchs
4740f3:	dd 5c 24 08          	fstpl  0x8(%esp)
4740f7:	dd 1c 24             	fstpl  (%esp)
4740fa:	6a 25                	push   $0x25
4740fc:	6a 04                	push   $0x4
4740fe:	eb c4                	jmp    0x4740c4
474100:	8d 45 fc             	lea    -0x4(%ebp),%eax
474103:	50                   	push   %eax
474104:	51                   	push   %ecx
474105:	51                   	push   %ecx
474106:	dd 1c 24             	fstpl  (%esp)
474109:	e8 8a 00 00 00       	call   0x474198
47410e:	8b 45 fc             	mov    -0x4(%ebp),%eax
474111:	dd d8                	fstp   %st(0)
474113:	48                   	dec    %eax
474114:	89 45 f8             	mov    %eax,-0x8(%ebp)
474117:	db 45 f8             	fildl  -0x8(%ebp)
47411a:	57                   	push   %edi
47411b:	56                   	push   %esi
47411c:	dd 5d f4             	fstpl  -0xc(%ebp)
47411f:	e8 69 03 00 00       	call   0x47448d
474124:	dd 45 f4             	fldl   -0xc(%ebp)
474127:	83 c4 14             	add    $0x14,%esp
47412a:	5f                   	pop    %edi
47412b:	5e                   	pop    %esi
47412c:	8b e5                	mov    %ebp,%esp
47412e:	5d                   	pop    %ebp
47412f:	c3                   	ret
474130:	8b ff                	mov    %edi,%edi
474132:	55                   	push   %ebp
474133:	8b ec                	mov    %esp,%ebp
474135:	dd 45 10             	fldl   0x10(%ebp)
474138:	83 ec 10             	sub    $0x10,%esp
47413b:	dd 5c 24 08          	fstpl  0x8(%esp)
47413f:	dd 45 08             	fldl   0x8(%ebp)
474142:	dd 1c 24             	fstpl  (%esp)
474145:	e8 db eb 00 00       	call   0x482d25
47414a:	83 c4 10             	add    $0x10,%esp
47414d:	5d                   	pop    %ebp
47414e:	c3                   	ret
47414f:	8b ff                	mov    %edi,%edi
474151:	55                   	push   %ebp
474152:	8b ec                	mov    %esp,%ebp
474154:	ff 75 10             	push   0x10(%ebp)
474157:	dd 45 08             	fldl   0x8(%ebp)
47415a:	51                   	push   %ecx
47415b:	51                   	push   %ecx
47415c:	dd 1c 24             	fstpl  (%esp)
47415f:	e8 95 fc fd ff       	call   0x453df9
474164:	83 c4 0c             	add    $0xc,%esp
474167:	5d                   	pop    %ebp
474168:	c3                   	ret
474169:	8b ff                	mov    %edi,%edi
47416b:	55                   	push   %ebp
47416c:	8b ec                	mov    %esp,%ebp
47416e:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
474172:	8b 45 10             	mov    0x10(%ebp),%eax
474175:	dd 45 08             	fldl   0x8(%ebp)
474178:	05 02 fc ff ff       	add    $0xfffffc02,%eax
47417d:	c1 e9 04             	shr    $0x4,%ecx
474180:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
474186:	03 c1                	add    %ecx,%eax
474188:	50                   	push   %eax
474189:	51                   	push   %ecx
47418a:	51                   	push   %ecx
47418b:	dd 1c 24             	fstpl  (%esp)
47418e:	e8 1b 01 00 00       	call   0x4742ae
474193:	83 c4 0c             	add    $0xc,%esp
474196:	5d                   	pop    %ebp
474197:	c3                   	ret
474198:	8b ff                	mov    %edi,%edi
47419a:	55                   	push   %ebp
47419b:	8b ec                	mov    %esp,%ebp
47419d:	dd 45 08             	fldl   0x8(%ebp)
4741a0:	d9 ee                	fldz
4741a2:	dd e1                	fucom  %st(1)
4741a4:	df e0                	fnstsw %ax
4741a6:	57                   	push   %edi
4741a7:	f6 c4 44             	test   $0x44,%ah
4741aa:	7a 09                	jp     0x4741b5
4741ac:	dd d9                	fstp   %st(1)
4741ae:	33 ff                	xor    %edi,%edi
4741b0:	e9 af 00 00 00       	jmp    0x474264
4741b5:	56                   	push   %esi
4741b6:	66 8b 75 0e          	mov    0xe(%ebp),%si
4741ba:	0f b7 c6             	movzwl %si,%eax
4741bd:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
4741c2:	75 7c                	jne    0x474240
4741c4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4741c7:	8b 55 08             	mov    0x8(%ebp),%edx
4741ca:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
4741d0:	75 04                	jne    0x4741d6
4741d2:	85 d2                	test   %edx,%edx
4741d4:	74 6a                	je     0x474240
4741d6:	de d9                	fcompp
4741d8:	bf 03 fc ff ff       	mov    $0xfffffc03,%edi
4741dd:	df e0                	fnstsw %ax
4741df:	f6 c4 41             	test   $0x41,%ah
4741e2:	75 05                	jne    0x4741e9
4741e4:	33 c0                	xor    %eax,%eax
4741e6:	40                   	inc    %eax
4741e7:	eb 02                	jmp    0x4741eb
4741e9:	33 c0                	xor    %eax,%eax
4741eb:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
4741ef:	75 1f                	jne    0x474210
4741f1:	03 c9                	add    %ecx,%ecx
4741f3:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4741f6:	85 d2                	test   %edx,%edx
4741f8:	79 06                	jns    0x474200
4741fa:	83 c9 01             	or     $0x1,%ecx
4741fd:	89 4d 0c             	mov    %ecx,0xc(%ebp)
474200:	03 d2                	add    %edx,%edx
474202:	4f                   	dec    %edi
474203:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
474207:	74 e8                	je     0x4741f1
474209:	66 8b 75 0e          	mov    0xe(%ebp),%si
47420d:	89 55 08             	mov    %edx,0x8(%ebp)
474210:	b9 ef ff 00 00       	mov    $0xffef,%ecx
474215:	66 23 f1             	and    %cx,%si
474218:	66 89 75 0e          	mov    %si,0xe(%ebp)
47421c:	85 c0                	test   %eax,%eax
47421e:	74 0c                	je     0x47422c
474220:	b8 00 80 00 00       	mov    $0x8000,%eax
474225:	66 0b f0             	or     %ax,%si
474228:	66 89 75 0e          	mov    %si,0xe(%ebp)
47422c:	dd 45 08             	fldl   0x8(%ebp)
47422f:	6a 00                	push   $0x0
474231:	51                   	push   %ecx
474232:	51                   	push   %ecx
474233:	dd 1c 24             	fstpl  (%esp)
474236:	e8 73 00 00 00       	call   0x4742ae
47423b:	83 c4 0c             	add    $0xc,%esp
47423e:	eb 23                	jmp    0x474263
474240:	6a 00                	push   $0x0
474242:	51                   	push   %ecx
474243:	dd d8                	fstp   %st(0)
474245:	51                   	push   %ecx
474246:	dd 1c 24             	fstpl  (%esp)
474249:	e8 60 00 00 00       	call   0x4742ae
47424e:	0f b7 fe             	movzwl %si,%edi
474251:	83 c4 0c             	add    $0xc,%esp
474254:	c1 ef 04             	shr    $0x4,%edi
474257:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
47425d:	81 ef fe 03 00 00    	sub    $0x3fe,%edi
474263:	5e                   	pop    %esi
474264:	8b 45 10             	mov    0x10(%ebp),%eax
474267:	89 38                	mov    %edi,(%eax)
474269:	5f                   	pop    %edi
47426a:	5d                   	pop    %ebp
47426b:	c3                   	ret
47426c:	8b ff                	mov    %edi,%edi
47426e:	55                   	push   %ebp
47426f:	8b ec                	mov    %esp,%ebp
474271:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
474275:	c1 e8 04             	shr    $0x4,%eax
474278:	25 ff 07 00 00       	and    $0x7ff,%eax
47427d:	2d fe 03 00 00       	sub    $0x3fe,%eax
474282:	98                   	cwtl
474283:	5d                   	pop    %ebp
474284:	c3                   	ret
474285:	8b ff                	mov    %edi,%edi
474287:	55                   	push   %ebp
474288:	8b ec                	mov    %esp,%ebp
47428a:	51                   	push   %ecx
47428b:	51                   	push   %ecx
47428c:	8b 4d 10             	mov    0x10(%ebp),%ecx
47428f:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
474293:	dd 45 08             	fldl   0x8(%ebp)
474296:	25 0f 80 00 00       	and    $0x800f,%eax
47429b:	c1 e1 04             	shl    $0x4,%ecx
47429e:	dd 5d f8             	fstpl  -0x8(%ebp)
4742a1:	0b c8                	or     %eax,%ecx
4742a3:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
4742a7:	dd 45 f8             	fldl   -0x8(%ebp)
4742aa:	8b e5                	mov    %ebp,%esp
4742ac:	5d                   	pop    %ebp
4742ad:	c3                   	ret
4742ae:	8b ff                	mov    %edi,%edi
4742b0:	55                   	push   %ebp
4742b1:	8b ec                	mov    %esp,%ebp
4742b3:	51                   	push   %ecx
4742b4:	51                   	push   %ecx
4742b5:	8b 4d 10             	mov    0x10(%ebp),%ecx
4742b8:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
4742bc:	dd 45 08             	fldl   0x8(%ebp)
4742bf:	25 0f 80 00 00       	and    $0x800f,%eax
4742c4:	dd 5d f8             	fstpl  -0x8(%ebp)
4742c7:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
4742cd:	c1 e1 04             	shl    $0x4,%ecx
4742d0:	0b c8                	or     %eax,%ecx
4742d2:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
4742d6:	dd 45 f8             	fldl   -0x8(%ebp)
4742d9:	8b e5                	mov    %ebp,%esp
4742db:	5d                   	pop    %ebp
4742dc:	c3                   	ret
4742dd:	8b ff                	mov    %edi,%edi
4742df:	55                   	push   %ebp
4742e0:	8b ec                	mov    %esp,%ebp
4742e2:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
4742e9:	8b 45 08             	mov    0x8(%ebp),%eax
4742ec:	75 07                	jne    0x4742f5
4742ee:	85 c0                	test   %eax,%eax
4742f0:	75 15                	jne    0x474307
4742f2:	40                   	inc    %eax
4742f3:	5d                   	pop    %ebp
4742f4:	c3                   	ret
4742f5:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
4742fc:	75 09                	jne    0x474307
4742fe:	85 c0                	test   %eax,%eax
474300:	75 05                	jne    0x474307
474302:	6a 02                	push   $0x2
474304:	58                   	pop    %eax
474305:	5d                   	pop    %ebp
474306:	c3                   	ret
474307:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
47430b:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
474310:	66 23 ca             	and    %dx,%cx
474313:	66 3b ca             	cmp    %dx,%cx
474316:	75 04                	jne    0x47431c
474318:	6a 03                	push   $0x3
47431a:	eb e8                	jmp    0x474304
47431c:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
474321:	66 3b ca             	cmp    %dx,%cx
474324:	75 11                	jne    0x474337
474326:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
47432d:	75 04                	jne    0x474333
47432f:	85 c0                	test   %eax,%eax
474331:	74 04                	je     0x474337
474333:	6a 04                	push   $0x4
474335:	eb cd                	jmp    0x474304
474337:	33 c0                	xor    %eax,%eax
474339:	5d                   	pop    %ebp
47433a:	c3                   	ret
47433b:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
474342:	56                   	push   %esi
474343:	7c 11                	jl     0x474356
474345:	e8 6c 00 00 00       	call   0x4743b6
47434a:	8b f0                	mov    %eax,%esi
47434c:	83 e6 3f             	and    $0x3f,%esi
47434f:	e8 43 00 00 00       	call   0x474397
474354:	eb 02                	jmp    0x474358
474356:	33 f6                	xor    %esi,%esi
474358:	8b c6                	mov    %esi,%eax
47435a:	5e                   	pop    %esi
47435b:	c3                   	ret
47435c:	8b ff                	mov    %edi,%edi
47435e:	55                   	push   %ebp
47435f:	8b ec                	mov    %esp,%ebp
474361:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
474368:	56                   	push   %esi
474369:	7c 25                	jl     0x474390
47436b:	e8 46 00 00 00       	call   0x4743b6
474370:	8b 55 0c             	mov    0xc(%ebp),%edx
474373:	8b f0                	mov    %eax,%esi
474375:	8b 4d 08             	mov    0x8(%ebp),%ecx
474378:	f7 d2                	not    %edx
47437a:	23 4d 0c             	and    0xc(%ebp),%ecx
47437d:	81 ca 7f 80 ff ff    	or     $0xffff807f,%edx
474383:	23 d6                	and    %esi,%edx
474385:	0b d1                	or     %ecx,%edx
474387:	52                   	push   %edx
474388:	e8 47 00 00 00       	call   0x4743d4
47438d:	59                   	pop    %ecx
47438e:	eb 02                	jmp    0x474392
474390:	33 f6                	xor    %esi,%esi
474392:	8b c6                	mov    %esi,%eax
474394:	5e                   	pop    %esi
474395:	5d                   	pop    %ebp
474396:	c3                   	ret
474397:	8b ff                	mov    %edi,%edi
474399:	55                   	push   %ebp
47439a:	8b ec                	mov    %esp,%ebp
47439c:	51                   	push   %ecx
47439d:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
4743a4:	7c 0c                	jl     0x4743b2
4743a6:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
4743aa:	83 65 fc c0          	andl   $0xffffffc0,-0x4(%ebp)
4743ae:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
4743b2:	8b e5                	mov    %ebp,%esp
4743b4:	5d                   	pop    %ebp
4743b5:	c3                   	ret
4743b6:	8b ff                	mov    %edi,%edi
4743b8:	55                   	push   %ebp
4743b9:	8b ec                	mov    %esp,%ebp
4743bb:	51                   	push   %ecx
4743bc:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
4743c3:	7c 09                	jl     0x4743ce
4743c5:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
4743c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4743cc:	eb 02                	jmp    0x4743d0
4743ce:	33 c0                	xor    %eax,%eax
4743d0:	8b e5                	mov    %ebp,%esp
4743d2:	5d                   	pop    %ebp
4743d3:	c3                   	ret
4743d4:	6a 08                	push   $0x8
4743d6:	68 80 4d 4b 00       	push   $0x4b4d80
4743db:	e8 80 c5 fc ff       	call   0x440960
4743e0:	83 3d dc af 4b 00 01 	cmpl   $0x1,0x4bafdc
4743e7:	7c 5b                	jl     0x474444
4743e9:	8b 45 08             	mov    0x8(%ebp),%eax
4743ec:	a8 40                	test   $0x40,%al
4743ee:	74 4a                	je     0x47443a
4743f0:	83 3d 00 83 4b 00 00 	cmpl   $0x0,0x4b8300
4743f7:	74 41                	je     0x47443a
4743f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4743fd:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
474401:	eb 2e                	jmp    0x474431
474403:	8b 45 ec             	mov    -0x14(%ebp),%eax
474406:	8b 00                	mov    (%eax),%eax
474408:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
47440e:	74 0b                	je     0x47441b
474410:	81 38 1d 00 00 c0    	cmpl   $0xc000001d,(%eax)
474416:	74 03                	je     0x47441b
474418:	33 c0                	xor    %eax,%eax
47441a:	c3                   	ret
47441b:	33 c0                	xor    %eax,%eax