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
41740e:	83 f8 ff             	cmp    $0xffffffff,%eax
417411:	74 08                	je     0x41741b
417413:	83 f8 fe             	cmp    $0xfffffffe,%eax
417416:	74 03                	je     0x41741b
417418:	50                   	push   %eax
417419:	ff d6                	call   *%esi
41741b:	5e                   	pop    %esi
41741c:	c3                   	ret
41741d:	8b ff                	mov    %edi,%edi
41741f:	55                   	push   %ebp
417420:	8b ec                	mov    %esp,%ebp
417422:	83 ec 2c             	sub    $0x2c,%esp
417425:	8b 45 08             	mov    0x8(%ebp),%eax
417428:	0f b7 48 0a          	movzwl 0xa(%eax),%ecx
41742c:	53                   	push   %ebx
41742d:	8b d9                	mov    %ecx,%ebx
41742f:	81 e1 00 80 00 00    	and    $0x8000,%ecx
417435:	89 4d ec             	mov    %ecx,-0x14(%ebp)
417438:	8b 48 06             	mov    0x6(%eax),%ecx
41743b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
41743e:	8b 48 02             	mov    0x2(%eax),%ecx
417441:	0f b7 00             	movzwl (%eax),%eax
417444:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
41744a:	81 eb ff 3f 00 00    	sub    $0x3fff,%ebx
417450:	c1 e0 10             	shl    $0x10,%eax
417453:	57                   	push   %edi
417454:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
417457:	89 45 e8             	mov    %eax,-0x18(%ebp)
41745a:	81 fb 01 c0 ff ff    	cmp    $0xffffc001,%ebx
417460:	75 27                	jne    0x417489
417462:	33 db                	xor    %ebx,%ebx
417464:	33 c0                	xor    %eax,%eax
417466:	39 5c 85 e0          	cmp    %ebx,-0x20(%ebp,%eax,4)
41746a:	75 0d                	jne    0x417479
41746c:	40                   	inc    %eax
41746d:	83 f8 03             	cmp    $0x3,%eax
417470:	7c f4                	jl     0x417466
417472:	33 c0                	xor    %eax,%eax
417474:	e9 a5 04 00 00       	jmp    0x41791e
417479:	33 c0                	xor    %eax,%eax
41747b:	8d 7d e0             	lea    -0x20(%ebp),%edi
41747e:	ab                   	stos   %eax,%es:(%edi)
41747f:	ab                   	stos   %eax,%es:(%edi)
417480:	6a 02                	push   $0x2
417482:	ab                   	stos   %eax,%es:(%edi)
417483:	58                   	pop    %eax
417484:	e9 95 04 00 00       	jmp    0x41791e
417489:	83 65 08 00          	andl   $0x0,0x8(%ebp)
41748d:	56                   	push   %esi
41748e:	8d 75 e0             	lea    -0x20(%ebp),%esi
417491:	8d 7d d4             	lea    -0x2c(%ebp),%edi
417494:	a5                   	movsl  %ds:(%esi),%es:(%edi)
417495:	a5                   	movsl  %ds:(%esi),%es:(%edi)
417496:	a5                   	movsl  %ds:(%esi),%es:(%edi)
417497:	8b 35 70 c2 42 00    	mov    0x42c270,%esi
41749d:	4e                   	dec    %esi
41749e:	8d 4e 01             	lea    0x1(%esi),%ecx
4174a1:	8b c1                	mov    %ecx,%eax
4174a3:	99                   	cltd
4174a4:	83 e2 1f             	and    $0x1f,%edx
4174a7:	03 c2                	add    %edx,%eax
4174a9:	c1 f8 05             	sar    $0x5,%eax
4174ac:	8b d1                	mov    %ecx,%edx
4174ae:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
4174b4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4174b7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4174ba:	79 05                	jns    0x4174c1
4174bc:	4a                   	dec    %edx
4174bd:	83 ca e0             	or     $0xffffffe0,%edx
4174c0:	42                   	inc    %edx
4174c1:	8d 7c 85 e0          	lea    -0x20(%ebp,%eax,4),%edi
4174c5:	6a 1f                	push   $0x1f
4174c7:	33 c0                	xor    %eax,%eax
4174c9:	59                   	pop    %ecx
4174ca:	2b ca                	sub    %edx,%ecx
4174cc:	40                   	inc    %eax
4174cd:	d3 e0                	shl    %cl,%eax
4174cf:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4174d2:	85 07                	test   %eax,(%edi)
4174d4:	0f 84 8d 00 00 00    	je     0x417567
4174da:	8b 45 f4             	mov    -0xc(%ebp),%eax
4174dd:	83 ca ff             	or     $0xffffffff,%edx
4174e0:	d3 e2                	shl    %cl,%edx
4174e2:	f7 d2                	not    %edx
4174e4:	85 54 85 e0          	test   %edx,-0x20(%ebp,%eax,4)
4174e8:	eb 05                	jmp    0x4174ef
4174ea:	83 7c 85 e0 00       	cmpl   $0x0,-0x20(%ebp,%eax,4)
4174ef:	75 08                	jne    0x4174f9
4174f1:	40                   	inc    %eax
4174f2:	83 f8 03             	cmp    $0x3,%eax
4174f5:	7c f3                	jl     0x4174ea
4174f7:	eb 6e                	jmp    0x417567
4174f9:	8b c6                	mov    %esi,%eax
4174fb:	99                   	cltd
4174fc:	6a 1f                	push   $0x1f
4174fe:	59                   	pop    %ecx
4174ff:	23 d1                	and    %ecx,%edx
417501:	03 c2                	add    %edx,%eax
417503:	c1 f8 05             	sar    $0x5,%eax
417506:	81 e6 1f 00 00 80    	and    $0x8000001f,%esi
41750c:	79 05                	jns    0x417513
41750e:	4e                   	dec    %esi
41750f:	83 ce e0             	or     $0xffffffe0,%esi
417512:	46                   	inc    %esi
417513:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
417517:	2b ce                	sub    %esi,%ecx
417519:	33 d2                	xor    %edx,%edx
41751b:	42                   	inc    %edx
41751c:	d3 e2                	shl    %cl,%edx
41751e:	8d 4c 85 e0          	lea    -0x20(%ebp,%eax,4),%ecx
417522:	8b 31                	mov    (%ecx),%esi
417524:	03 f2                	add    %edx,%esi
417526:	89 75 08             	mov    %esi,0x8(%ebp)
417529:	8b 31                	mov    (%ecx),%esi
41752b:	39 75 08             	cmp    %esi,0x8(%ebp)
41752e:	72 22                	jb     0x417552
417530:	39 55 08             	cmp    %edx,0x8(%ebp)
417533:	eb 1b                	jmp    0x417550
417535:	85 c9                	test   %ecx,%ecx
417537:	74 2b                	je     0x417564
417539:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41753d:	8d 4c 85 e0          	lea    -0x20(%ebp,%eax,4),%ecx
417541:	8b 11                	mov    (%ecx),%edx
417543:	8d 72 01             	lea    0x1(%edx),%esi
417546:	89 75 08             	mov    %esi,0x8(%ebp)
417549:	3b f2                	cmp    %edx,%esi
41754b:	72 05                	jb     0x417552
41754d:	83 fe 01             	cmp    $0x1,%esi
417550:	73 07                	jae    0x417559
417552:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
417559:	48                   	dec    %eax
41755a:	8b 55 08             	mov    0x8(%ebp),%edx
41755d:	89 11                	mov    %edx,(%ecx)
41755f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
417562:	79 d1                	jns    0x417535
417564:	89 4d 08             	mov    %ecx,0x8(%ebp)
417567:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41756a:	83 c8 ff             	or     $0xffffffff,%eax
41756d:	d3 e0                	shl    %cl,%eax
41756f:	21 07                	and    %eax,(%edi)
417571:	8b 45 f4             	mov    -0xc(%ebp),%eax
417574:	40                   	inc    %eax
417575:	83 f8 03             	cmp    $0x3,%eax
417578:	7d 0d                	jge    0x417587
41757a:	6a 03                	push   $0x3
41757c:	59                   	pop    %ecx
41757d:	8d 7c 85 e0          	lea    -0x20(%ebp,%eax,4),%edi
417581:	2b c8                	sub    %eax,%ecx
417583:	33 c0                	xor    %eax,%eax
417585:	f3 ab                	rep stos %eax,%es:(%edi)
417587:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41758b:	74 01                	je     0x41758e
41758d:	43                   	inc    %ebx
41758e:	a1 6c c2 42 00       	mov    0x42c26c,%eax
417593:	8b c8                	mov    %eax,%ecx
417595:	2b 0d 70 c2 42 00    	sub    0x42c270,%ecx
41759b:	3b d9                	cmp    %ecx,%ebx
41759d:	7d 0d                	jge    0x4175ac
41759f:	33 c0                	xor    %eax,%eax
4175a1:	8d 7d e0             	lea    -0x20(%ebp),%edi
4175a4:	ab                   	stos   %eax,%es:(%edi)
4175a5:	ab                   	stos   %eax,%es:(%edi)
4175a6:	ab                   	stos   %eax,%es:(%edi)
4175a7:	e9 0d 02 00 00       	jmp    0x4177b9
4175ac:	3b d8                	cmp    %eax,%ebx
4175ae:	0f 8f 0f 02 00 00    	jg     0x4177c3
4175b4:	2b 45 f0             	sub    -0x10(%ebp),%eax
4175b7:	8d 75 d4             	lea    -0x2c(%ebp),%esi
4175ba:	8b c8                	mov    %eax,%ecx
4175bc:	8d 7d e0             	lea    -0x20(%ebp),%edi
4175bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4175c0:	99                   	cltd
4175c1:	83 e2 1f             	and    $0x1f,%edx
4175c4:	03 c2                	add    %edx,%eax
4175c6:	a5                   	movsl  %ds:(%esi),%es:(%edi)