417093:	df e0                	fnstsw %ax
417095:	dd 05 a8 c2 42 00    	fldl   0x42c2a8
41709b:	f6 c4 05             	test   $0x5,%ah
41709e:	7b 4c                	jnp    0x4170ec
4170a0:	eb 48                	jmp    0x4170ea
4170a2:	d9 ee                	fldz
4170a4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4170a7:	dc 19                	fcompl (%ecx)
4170a9:	df e0                	fnstsw %ax
4170ab:	f6 c4 05             	test   $0x5,%ah
4170ae:	7b 2c                	jnp    0x4170dc
4170b0:	dd 05 a8 c2 42 00    	fldl   0x42c2a8
4170b6:	eb 32                	jmp    0x4170ea
4170b8:	d9 ee                	fldz
4170ba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4170bd:	dc 19                	fcompl (%ecx)
4170bf:	df e0                	fnstsw %ax
4170c1:	f6 c4 05             	test   $0x5,%ah
4170c4:	7a 1e                	jp     0x4170e4
4170c6:	dd 05 a8 c2 42 00    	fldl   0x42c2a8
4170cc:	eb 1e                	jmp    0x4170ec
4170ce:	d9 ee                	fldz
4170d0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4170d3:	dc 19                	fcompl (%ecx)
4170d5:	df e0                	fnstsw %ax
4170d7:	f6 c4 05             	test   $0x5,%ah
4170da:	7a 08                	jp     0x4170e4
4170dc:	dd 05 98 c2 42 00    	fldl   0x42c298
4170e2:	eb 08                	jmp    0x4170ec
4170e4:	dd 05 98 c2 42 00    	fldl   0x42c298
4170ea:	d9 e0                	fchs
4170ec:	dd 19                	fstpl  (%ecx)
4170ee:	83 e6 fe             	and    $0xfffffffe,%esi
4170f1:	e9 d4 00 00 00       	jmp    0x4171ca
4170f6:	a8 02                	test   $0x2,%al
4170f8:	0f 84 cc 00 00 00    	je     0x4171ca
4170fe:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
417102:	0f 84 c2 00 00 00    	je     0x4171ca
417108:	33 f6                	xor    %esi,%esi
41710a:	a8 10                	test   $0x10,%al
41710c:	74 02                	je     0x417110
41710e:	8b f3                	mov    %ebx,%esi
417110:	d9 ee                	fldz
417112:	57                   	push   %edi
417113:	8b 7d 0c             	mov    0xc(%ebp),%edi
417116:	dc 1f                	fcompl (%edi)
417118:	df e0                	fnstsw %ax
41711a:	f6 c4 44             	test   $0x44,%ah
41711d:	0f 8b 91 00 00 00    	jnp    0x4171b4
417123:	dd 07                	fldl   (%edi)
417125:	8d 45 f8             	lea    -0x8(%ebp),%eax
417128:	50                   	push   %eax
417129:	51                   	push   %ecx
41712a:	51                   	push   %ecx
41712b:	dd 1c 24             	fstpl  (%esp)
41712e:	e8 f7 21 00 00       	call   0x41932a
417133:	8b 4d f8             	mov    -0x8(%ebp),%ecx
417136:	dd 5d ec             	fstpl  -0x14(%ebp)
417139:	81 c1 00 fa ff ff    	add    $0xfffffa00,%ecx
41713f:	83 c4 0c             	add    $0xc,%esp
417142:	81 f9 ce fb ff ff    	cmp    $0xfffffbce,%ecx
417148:	7d 0d                	jge    0x417157
41714a:	dd 45 ec             	fldl   -0x14(%ebp)
41714d:	8b f3                	mov    %ebx,%esi
41714f:	dc 0d 50 d6 41 00    	fmull  0x41d650
417155:	eb 53                	jmp    0x4171aa
417157:	d9 ee                	fldz
417159:	dc 5d ec             	fcompl -0x14(%ebp)
41715c:	df e0                	fnstsw %ax
41715e:	f6 c4 41             	test   $0x41,%ah
417161:	75 04                	jne    0x417167
417163:	8b d3                	mov    %ebx,%edx
417165:	eb 02                	jmp    0x417169
417167:	33 d2                	xor    %edx,%edx
417169:	8b 45 f2             	mov    -0xe(%ebp),%eax
41716c:	83 e0 0f             	and    $0xf,%eax
41716f:	83 c8 10             	or     $0x10,%eax
417172:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
417176:	b8 03 fc ff ff       	mov    $0xfffffc03,%eax
41717b:	3b c8                	cmp    %eax,%ecx
41717d:	7d 22                	jge    0x4171a1
41717f:	2b c1                	sub    %ecx,%eax
417181:	84 5d ec             	test   %bl,-0x14(%ebp)
417184:	74 06                	je     0x41718c
417186:	85 f6                	test   %esi,%esi
417188:	75 02                	jne    0x41718c
41718a:	8b f3                	mov    %ebx,%esi
41718c:	d1 6d ec             	shrl   $1,-0x14(%ebp)
41718f:	84 5d f0             	test   %bl,-0x10(%ebp)
417192:	74 07                	je     0x41719b
417194:	81 4d ec 00 00 00 80 	orl    $0x80000000,-0x14(%ebp)
41719b:	d1 6d f0             	shrl   $1,-0x10(%ebp)
41719e:	48                   	dec    %eax
41719f:	75 e0                	jne    0x417181
4171a1:	85 d2                	test   %edx,%edx
4171a3:	74 08                	je     0x4171ad
4171a5:	dd 45 ec             	fldl   -0x14(%ebp)
4171a8:	d9 e0                	fchs
4171aa:	dd 5d ec             	fstpl  -0x14(%ebp)
4171ad:	dd 45 ec             	fldl   -0x14(%ebp)
4171b0:	dd 1f                	fstpl  (%edi)
4171b2:	eb 02                	jmp    0x4171b6
4171b4:	8b f3                	mov    %ebx,%esi
4171b6:	5f                   	pop    %edi
4171b7:	85 f6                	test   %esi,%esi
4171b9:	74 08                	je     0x4171c3
4171bb:	6a 10                	push   $0x10
4171bd:	e8 a1 00 00 00       	call   0x417263
4171c2:	59                   	pop    %ecx
4171c3:	83 65 fc fd          	andl   $0xfffffffd,-0x4(%ebp)
4171c7:	8b 75 fc             	mov    -0x4(%ebp),%esi
4171ca:	f6 45 08 10          	testb  $0x10,0x8(%ebp)
4171ce:	74 11                	je     0x4171e1
4171d0:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
4171d4:	74 0b                	je     0x4171e1
4171d6:	6a 20                	push   $0x20
4171d8:	e8 86 00 00 00       	call   0x417263
4171dd:	59                   	pop    %ecx
4171de:	83 e6 ef             	and    $0xffffffef,%esi
4171e1:	33 c0                	xor    %eax,%eax
4171e3:	85 f6                	test   %esi,%esi
4171e5:	5e                   	pop    %esi
4171e6:	0f 94 c0             	sete   %al
4171e9:	5b                   	pop    %ebx
4171ea:	c9                   	leave
4171eb:	c3                   	ret
4171ec:	8b ff                	mov    %edi,%edi
4171ee:	55                   	push   %ebp
4171ef:	8b ec                	mov    %esp,%ebp
4171f1:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4171f5:	74 15                	je     0x41720c
4171f7:	7e 1e                	jle    0x417217
4171f9:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4171fd:	7f 18                	jg     0x417217
4171ff:	e8 d1 e8 fe ff       	call   0x405ad5
417204:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41720a:	5d                   	pop    %ebp
41720b:	c3                   	ret
41720c:	e8 c4 e8 fe ff       	call   0x405ad5
417211:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
417217:	5d                   	pop    %ebp
417218:	c3                   	ret
417219:	8b ff                	mov    %edi,%edi
41721b:	55                   	push   %ebp
41721c:	8b ec                	mov    %esp,%ebp
41721e:	51                   	push   %ecx
41721f:	9b dd 7d fc          	fstsw  -0x4(%ebp)
417223:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
417227:	c9                   	leave
417228:	c3                   	ret
417229:	8b ff                	mov    %edi,%edi
41722b:	55                   	push   %ebp
41722c:	8b ec                	mov    %esp,%ebp
41722e:	51                   	push   %ecx
41722f:	dd 7d fc             	fnstsw -0x4(%ebp)
417232:	db e2                	fnclex
417234:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
417238:	c9                   	leave
417239:	c3                   	ret
41723a:	8b ff                	mov    %edi,%edi
41723c:	55                   	push   %ebp
41723d:	8b ec                	mov    %esp,%ebp
41723f:	51                   	push   %ecx
417240:	9b d9 7d fc          	fstcw  -0x4(%ebp)
417244:	8b 45 0c             	mov    0xc(%ebp),%eax
417247:	8b 4d 08             	mov    0x8(%ebp),%ecx
41724a:	23 4d 0c             	and    0xc(%ebp),%ecx
41724d:	f7 d0                	not    %eax
41724f:	23 45 fc             	and    -0x4(%ebp),%eax
417252:	0b c1                	or     %ecx,%eax
417254:	0f b7 c0             	movzwl %ax,%eax
417257:	89 45 0c             	mov    %eax,0xc(%ebp)
41725a:	d9 6d 0c             	fldcw  0xc(%ebp)
41725d:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
417261:	c9                   	leave
417262:	c3                   	ret
417263:	8b ff                	mov    %edi,%edi
417265:	55                   	push   %ebp
417266:	8b ec                	mov    %esp,%ebp
417268:	51                   	push   %ecx
417269:	51                   	push   %ecx
41726a:	8a 4d 08             	mov    0x8(%ebp),%cl
41726d:	f6 c1 01             	test   $0x1,%cl
417270:	74 0a                	je     0x41727c
417272:	db 2d c8 c1 42 00    	fldt   0x42c1c8
417278:	db 5d 08             	fistpl 0x8(%ebp)
41727b:	9b                   	fwait
41727c:	f6 c1 08             	test   $0x8,%cl
41727f:	74 10                	je     0x417291
417281:	9b df e0             	fstsw  %ax
417284:	db 2d c8 c1 42 00    	fldt   0x42c1c8
41728a:	dd 5d f8             	fstpl  -0x8(%ebp)
41728d:	9b 9b df e0          	fstsw  %ax
417291:	f6 c1 10             	test   $0x10,%cl
417294:	74 0a                	je     0x4172a0
417296:	db 2d d4 c1 42 00    	fldt   0x42c1d4
41729c:	dd 5d f8             	fstpl  -0x8(%ebp)
41729f:	9b                   	fwait
4172a0:	f6 c1 04             	test   $0x4,%cl
4172a3:	74 09                	je     0x4172ae
4172a5:	d9 ee                	fldz
4172a7:	d9 e8                	fld1
4172a9:	de f1                	fdivp  %st,%st(1)
4172ab:	dd d8                	fstp   %st(0)
4172ad:	9b                   	fwait
4172ae:	f6 c1 20             	test   $0x20,%cl
4172b1:	74 06                	je     0x4172b9
4172b3:	d9 eb                	fldpi
4172b5:	dd 5d f8             	fstpl  -0x8(%ebp)
4172b8:	9b                   	fwait
4172b9:	c9                   	leave
4172ba:	c3                   	ret
4172bb:	6a 08                	push   $0x8
4172bd:	68 38 9b 42 00       	push   $0x429b38
4172c2:	e8 15 31 ff ff       	call   0x40a3dc
4172c7:	33 c0                	xor    %eax,%eax
4172c9:	39 05 64 13 c7 00    	cmp    %eax,0xc71364
4172cf:	74 56                	je     0x417327
4172d1:	f6 45 08 40          	testb  $0x40,0x8(%ebp)
4172d5:	74 48                	je     0x41731f
4172d7:	39 05 e0 c1 42 00    	cmp    %eax,0x42c1e0
4172dd:	74 40                	je     0x41731f
4172df:	89 45 fc             	mov    %eax,-0x4(%ebp)
4172e2:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
4172e6:	eb 2e                	jmp    0x417316
4172e8:	8b 45 ec             	mov    -0x14(%ebp),%eax
4172eb:	8b 00                	mov    (%eax),%eax
4172ed:	8b 00                	mov    (%eax),%eax
4172ef:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
4172f4:	74 0a                	je     0x417300
4172f6:	3d 1d 00 00 c0       	cmp    $0xc000001d,%eax
4172fb:	74 03                	je     0x417300
4172fd:	33 c0                	xor    %eax,%eax
4172ff:	c3                   	ret
417300:	33 c0                	xor    %eax,%eax
417302:	40                   	inc    %eax
417303:	c3                   	ret
417304:	8b 65 e8             	mov    -0x18(%ebp),%esp
417307:	83 25 e0 c1 42 00 00 	andl   $0x0,0x42c1e0
41730e:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
417312:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
417316:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41731d:	eb 08                	jmp    0x417327
41731f:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
417323:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
417327:	e8 f5 30 ff ff       	call   0x40a421
41732c:	c3                   	ret
41732d:	cc                   	int3
41732e:	cc                   	int3
41732f:	cc                   	int3
417330:	8b 44 24 08          	mov    0x8(%esp),%eax
417334:	8b 4c 24 10          	mov    0x10(%esp),%ecx
417338:	0b c8                	or     %eax,%ecx
41733a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41733e:	75 09                	jne    0x417349
417340:	8b 44 24 04          	mov    0x4(%esp),%eax
417344:	f7 e1                	mul    %ecx
417346:	c2 10 00             	ret    $0x10
417349:	53                   	push   %ebx
41734a:	f7 e1                	mul    %ecx
41734c:	8b d8                	mov    %eax,%ebx
41734e:	8b 44 24 08          	mov    0x8(%esp),%eax
417352:	f7 64 24 14          	mull   0x14(%esp)
417356:	03 d8                	add    %eax,%ebx
417358:	8b 44 24 08          	mov    0x8(%esp),%eax
41735c:	f7 e1                	mul    %ecx
41735e:	03 d3                	add    %ebx,%edx
417360:	5b                   	pop    %ebx
417361:	c2 10 00             	ret    $0x10
417364:	cc                   	int3
417365:	cc                   	int3
417366:	cc                   	int3
417367:	cc                   	int3
417368:	cc                   	int3
417369:	cc                   	int3
41736a:	cc                   	int3
41736b:	cc                   	int3
41736c:	cc                   	int3
41736d:	cc                   	int3
41736e:	cc                   	int3
41736f:	cc                   	int3
417370:	55                   	push   %ebp
417371:	8b ec                	mov    %esp,%ebp
417373:	57                   	push   %edi
417374:	56                   	push   %esi
417375:	53                   	push   %ebx
417376:	8b 4d 10             	mov    0x10(%ebp),%ecx
417379:	0b c9                	or     %ecx,%ecx
41737b:	74 4d                	je     0x4173ca
41737d:	8b 75 08             	mov    0x8(%ebp),%esi
417380:	8b 7d 0c             	mov    0xc(%ebp),%edi
417383:	b7 41                	mov    $0x41,%bh
417385:	b3 5a                	mov    $0x5a,%bl
417387:	b6 20                	mov    $0x20,%dh
417389:	8d 49 00             	lea    0x0(%ecx),%ecx
41738c:	8a 26                	mov    (%esi),%ah
41738e:	0a e4                	or     %ah,%ah
417390:	8a 07                	mov    (%edi),%al
417392:	74 27                	je     0x4173bb
417394:	0a c0                	or     %al,%al
417396:	74 23                	je     0x4173bb
417398:	83 c6 01             	add    $0x1,%esi
41739b:	83 c7 01             	add    $0x1,%edi
41739e:	3a e7                	cmp    %bh,%ah
4173a0:	72 06                	jb     0x4173a8
4173a2:	3a e3                	cmp    %bl,%ah
4173a4:	77 02                	ja     0x4173a8
4173a6:	02 e6                	add    %dh,%ah
4173a8:	3a c7                	cmp    %bh,%al
4173aa:	72 06                	jb     0x4173b2
4173ac:	3a c3                	cmp    %bl,%al
4173ae:	77 02                	ja     0x4173b2
4173b0:	02 c6                	add    %dh,%al
4173b2:	3a e0                	cmp    %al,%ah
4173b4:	75 0b                	jne    0x4173c1
4173b6:	83 e9 01             	sub    $0x1,%ecx
4173b9:	75 d1                	jne    0x41738c
4173bb:	33 c9                	xor    %ecx,%ecx
4173bd:	3a e0                	cmp    %al,%ah
4173bf:	74 09                	je     0x4173ca
4173c1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4173c6:	72 02                	jb     0x4173ca
4173c8:	f7 d9                	neg    %ecx
4173ca:	8b c1                	mov    %ecx,%eax
4173cc:	5b                   	pop    %ebx
4173cd:	5e                   	pop    %esi
4173ce:	5f                   	pop    %edi
4173cf:	c9                   	leave
4173d0:	c3                   	ret
4173d1:	33 c0                	xor    %eax,%eax
4173d3:	50                   	push   %eax
4173d4:	50                   	push   %eax
4173d5:	6a 03                	push   $0x3
4173d7:	50                   	push   %eax
4173d8:	6a 03                	push   $0x3
4173da:	68 00 00 00 40       	push   $0x40000000
4173df:	68 d8 de 41 00       	push   $0x41ded8
4173e4:	ff 15 64 a1 41 00    	call   *0x41a164
4173ea:	a3 64 c2 42 00       	mov    %eax,0x42c264
4173ef:	c3                   	ret
4173f0:	a1 64 c2 42 00       	mov    0x42c264,%eax
4173f5:	56                   	push   %esi
4173f6:	8b 35 14 a1 41 00    	mov    0x41a114,%esi
4173fc:	83 f8 ff             	cmp    $0xffffffff,%eax
4173ff:	74 08                	je     0x417409
417401:	83 f8 fe             	cmp    $0xfffffffe,%eax
417404:	74 03                	je     0x417409
417406:	50                   	push   %eax
417407:	ff d6                	call   *%esi
417409:	a1 60 c2 42 00       	mov    0x42c260,%eax