409482:	38 cb                	cmp    %cl,%bl
409484:	76 02                	jbe    0x409488
409486:	88 cb                	mov    %cl,%bl
409488:	00 eb                	add    %ch,%bl
40948a:	8d 9c 9b cd 94 40 00 	lea    0x4094cd(%ebx,%ebx,4),%ebx
409491:	03 5d ec             	add    -0x14(%ebp),%ebx
409494:	b9 05 00 00 00       	mov    $0x5,%ecx
409499:	8a 03                	mov    (%ebx),%al
40949b:	3c 40                	cmp    $0x40,%al
40949d:	74 1e                	je     0x4094bd
40949f:	51                   	push   %ecx
4094a0:	53                   	push   %ebx
4094a1:	3c 24                	cmp    $0x24,%al
4094a3:	74 07                	je     0x4094ac
4094a5:	3c 2a                	cmp    $0x2a,%al
4094a7:	74 0a                	je     0x4094b3
4094a9:	aa                   	stos   %al,%es:(%edi)
4094aa:	eb 0c                	jmp    0x4094b8
4094ac:	e8 0d 00 00 00       	call   0x4094be
4094b1:	eb 05                	jmp    0x4094b8
4094b3:	e8 4d ff ff ff       	call   0x409405
4094b8:	5b                   	pop    %ebx
4094b9:	59                   	pop    %ecx
4094ba:	43                   	inc    %ebx
4094bb:	e2 dc                	loop   0x409499
4094bd:	c3                   	ret
4094be:	56                   	push   %esi
4094bf:	8b 75 f4             	mov    -0xc(%ebp),%esi
4094c2:	85 f6                	test   %esi,%esi
4094c4:	74 05                	je     0x4094cb
4094c6:	8b 4e fc             	mov    -0x4(%esi),%ecx
4094c9:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4094cb:	5e                   	pop    %esi
4094cc:	c3                   	ret
4094cd:	24 2a                	and    $0x2a,%al
4094cf:	40                   	inc    %eax
4094d0:	40                   	inc    %eax
4094d1:	40                   	inc    %eax
4094d2:	2a 24 40             	sub    (%eax,%eax,2),%ah
4094d5:	40                   	inc    %eax
4094d6:	40                   	inc    %eax
4094d7:	24 20                	and    $0x20,%al
4094d9:	2a 40 40             	sub    0x40(%eax),%al
4094dc:	2a 20                	sub    (%eax),%ah
4094de:	24 40                	and    $0x40,%al
4094e0:	40                   	inc    %eax
4094e1:	28 24 2a             	sub    %ah,(%edx,%ebp,1)
4094e4:	29 40 2d             	sub    %eax,0x2d(%eax)
4094e7:	24 2a                	and    $0x2a,%al
4094e9:	40                   	inc    %eax
4094ea:	40                   	inc    %eax
4094eb:	24 2d                	and    $0x2d,%al
4094ed:	2a 40 40             	sub    0x40(%eax),%al
4094f0:	24 2a                	and    $0x2a,%al
4094f2:	2d 40 40 28 2a       	sub    $0x2a284040,%eax
4094f7:	24 29                	and    $0x29,%al
4094f9:	40                   	inc    %eax
4094fa:	2d 2a 24 40 40       	sub    $0x4040242a,%eax
4094ff:	2a 2d 24 40 40 2a    	sub    0x2a404024,%ch
409505:	24 2d                	and    $0x2d,%al
409507:	40                   	inc    %eax
409508:	40                   	inc    %eax
409509:	2d 2a 20 24 40       	sub    $0x4024202a,%eax
40950e:	2d 24 20 2a 40       	sub    $0x402a2024,%eax
409513:	2a 20                	sub    (%eax),%ah
409515:	24 2d                	and    $0x2d,%al
409517:	40                   	inc    %eax
409518:	24 20                	and    $0x20,%al
40951a:	2a 2d 40 24 20 2d    	sub    0x2d202440,%ch
409520:	2a 40 2a             	sub    0x2a(%eax),%al
409523:	2d 20 24 40 28       	sub    $0x28402420,%eax
409528:	24 20                	and    $0x20,%al
40952a:	2a 29                	sub    (%ecx),%ch
40952c:	28 2a                	sub    %ch,(%edx)
40952e:	20 24 29             	and    %ah,(%ecx,%ebp,1)
409531:	8b e5                	mov    %ebp,%esp
409533:	5d                   	pop    %ebp
409534:	c2 0c 00             	ret    $0xc
409537:	90                   	nop
409538:	55                   	push   %ebp
409539:	8b ec                	mov    %esp,%ebp
40953b:	83 c4 e0             	add    $0xffffffe0,%esp
40953e:	57                   	push   %edi
40953f:	56                   	push   %esi
409540:	53                   	push   %ebx
409541:	89 c3                	mov    %eax,%ebx
409543:	89 d6                	mov    %edx,%esi
409545:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40954c:	80 f9 00             	cmp    $0x0,%cl
40954f:	74 0a                	je     0x40955b
409551:	e8 31 01 00 00       	call   0x409687
409556:	e9 00 02 00 00       	jmp    0x40975b
40955b:	e8 05 00 00 00       	call   0x409565
409560:	e9 f6 01 00 00       	jmp    0x40975b
409565:	66 8b 46 08          	mov    0x8(%esi),%ax
409569:	89 c2                	mov    %eax,%edx
40956b:	25 ff 7f 00 00       	and    $0x7fff,%eax
409570:	74 1e                	je     0x409590
409572:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
409577:	75 22                	jne    0x40959b
409579:	66 f7 46 06 00 80    	testw  $0x8000,0x6(%esi)
40957f:	74 11                	je     0x409592
409581:	83 3e 00             	cmpl   $0x0,(%esi)
409584:	75 09                	jne    0x40958f
409586:	81 7e 04 00 00 00 80 	cmpl   $0x80000000,0x4(%esi)
40958d:	74 03                	je     0x409592
40958f:	40                   	inc    %eax
409590:	31 d2                	xor    %edx,%edx
409592:	c6 43 03 00          	movb   $0x0,0x3(%ebx)
409596:	e9 cd 00 00 00       	jmp    0x409668
40959b:	db 2e                	fldt   (%esi)
40959d:	2d ff 3f 00 00       	sub    $0x3fff,%eax
4095a2:	69 c0 10 4d 00 00    	imul   $0x4d10,%eax,%eax
4095a8:	c1 f8 10             	sar    $0x10,%eax
4095ab:	40                   	inc    %eax
4095ac:	89 45 f8             	mov    %eax,-0x8(%ebp)
4095af:	b8 12 00 00 00       	mov    $0x12,%eax
4095b4:	2b 45 f8             	sub    -0x8(%ebp),%eax
4095b7:	d9 e1                	fabs
4095b9:	53                   	push   %ebx
4095ba:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4095bd:	e8 8a 9d ff ff       	call   0x40334c
4095c2:	5b                   	pop    %ebx
4095c3:	d9 fc                	frndint
4095c5:	8b 7d fc             	mov    -0x4(%ebp),%edi
4095c8:	db af 94 51 45 00    	fldt   0x455194(%edi)
4095ce:	d8 d9                	fcomp  %st(1)
4095d0:	9b dd 7d f6          	fstsw  -0xa(%ebp)
4095d4:	9b                   	fwait
4095d5:	66 f7 45 f6 00 41    	testw  $0x4100,-0xa(%ebp)
4095db:	74 09                	je     0x4095e6
4095dd:	da b7 a0 51 45 00    	fidivl 0x4551a0(%edi)
4095e3:	ff 45 f8             	incl   -0x8(%ebp)
4095e6:	df 75 e8             	fbstp  -0x18(%ebp)
4095e9:	8d 7b 03             	lea    0x3(%ebx),%edi
4095ec:	ba 09 00 00 00       	mov    $0x9,%edx
4095f1:	9b                   	fwait
4095f2:	8a 44 2a e7          	mov    -0x19(%edx,%ebp,1),%al
4095f6:	88 c4                	mov    %al,%ah
4095f8:	c0 e8 04             	shr    $0x4,%al
4095fb:	80 e4 0f             	and    $0xf,%ah
4095fe:	66 05 30 30          	add    $0x3030,%ax
409602:	66 ab                	stos   %ax,%es:(%edi)
409604:	4a                   	dec    %edx
409605:	75 eb                	jne    0x4095f2
409607:	32 c0                	xor    %al,%al
409609:	aa                   	stos   %al,%es:(%edi)
40960a:	8b 7d f8             	mov    -0x8(%ebp),%edi
40960d:	03 7d 08             	add    0x8(%ebp),%edi
409610:	79 07                	jns    0x409619
409612:	31 c0                	xor    %eax,%eax
409614:	e9 77 ff ff ff       	jmp    0x409590
409619:	3b 7d 0c             	cmp    0xc(%ebp),%edi
40961c:	72 03                	jb     0x409621
40961e:	8b 7d 0c             	mov    0xc(%ebp),%edi
409621:	83 ff 12             	cmp    $0x12,%edi
409624:	73 27                	jae    0x40964d
409626:	80 7c 3b 03 35       	cmpb   $0x35,0x3(%ebx,%edi,1)
40962b:	72 25                	jb     0x409652
40962d:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409632:	4f                   	dec    %edi
409633:	78 0d                	js     0x409642
409635:	fe 44 3b 03          	incb   0x3(%ebx,%edi,1)
409639:	80 7c 3b 03 39       	cmpb   $0x39,0x3(%ebx,%edi,1)
40963e:	77 ed                	ja     0x40962d
409640:	eb 1f                	jmp    0x409661
409642:	66 c7 43 03 31 00    	movw   $0x31,0x3(%ebx)
409648:	ff 45 f8             	incl   -0x8(%ebp)
40964b:	eb 14                	jmp    0x409661
40964d:	bf 12 00 00 00       	mov    $0x12,%edi
409652:	c6 44 3b 03 00       	movb   $0x0,0x3(%ebx,%edi,1)
409657:	4f                   	dec    %edi
409658:	78 19                	js     0x409673
40965a:	80 7c 3b 03 30       	cmpb   $0x30,0x3(%ebx,%edi,1)
40965f:	74 f1                	je     0x409652
409661:	66 8b 56 08          	mov    0x8(%esi),%dx
409665:	8b 45 f8             	mov    -0x8(%ebp),%eax
409668:	66 c1 ea 0f          	shr    $0xf,%dx
40966c:	66 89 03             	mov    %ax,(%ebx)
40966f:	88 53 02             	mov    %dl,0x2(%ebx)
409672:	c3                   	ret
409673:	31 d2                	xor    %edx,%edx
409675:	eb ee                	jmp    0x409665
409677:	0a 00                	or     (%eax),%al
409679:	00 00                	add    %al,(%eax)
40967b:	64 00 00             	add    %al,%fs:(%eax)
40967e:	00 e8                	add    %ch,%al
409680:	03 00                	add    (%eax),%eax
409682:	00 10                	add    %dl,(%eax)
409684:	27                   	daa
409685:	00 00                	add    %al,(%eax)
409687:	8b 06                	mov    (%esi),%eax
409689:	8b 56 04             	mov    0x4(%esi),%edx
40968c:	89 c1                	mov    %eax,%ecx
40968e:	09 d1                	or     %edx,%ecx
409690:	0f 84 b7 00 00 00    	je     0x40974d
409696:	09 d2                	or     %edx,%edx
409698:	79 07                	jns    0x4096a1
40969a:	f7 da                	neg    %edx
40969c:	f7 d8                	neg    %eax
40969e:	83 da 00             	sbb    $0x0,%edx
4096a1:	31 c9                	xor    %ecx,%ecx
4096a3:	8b 7d 08             	mov    0x8(%ebp),%edi
4096a6:	09 ff                	or     %edi,%edi
4096a8:	7d 02                	jge    0x4096ac
4096aa:	31 ff                	xor    %edi,%edi
4096ac:	83 ff 04             	cmp    $0x4,%edi
4096af:	7c 1f                	jl     0x4096d0
4096b1:	bf 04 00 00 00       	mov    $0x4,%edi
4096b6:	41                   	inc    %ecx
4096b7:	2d 00 00 64 a7       	sub    $0xa7640000,%eax
4096bc:	81 da b3 b6 e0 0d    	sbb    $0xde0b6b3,%edx
4096c2:	73 f2                	jae    0x4096b6
4096c4:	49                   	dec    %ecx
4096c5:	05 00 00 64 a7       	add    $0xa7640000,%eax
4096ca:	81 d2 b3 b6 e0 0d    	adc    $0xde0b6b3,%edx
4096d0:	89 45 e0             	mov    %eax,-0x20(%ebp)
4096d3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4096d6:	df 6d e0             	fildll -0x20(%ebp)
4096d9:	89 fa                	mov    %edi,%edx
4096db:	b8 04 00 00 00       	mov    $0x4,%eax
4096e0:	29 d0                	sub    %edx,%eax
4096e2:	74 0a                	je     0x4096ee
4096e4:	8b 7d fc             	mov    -0x4(%ebp),%edi
4096e7:	da b4 87 73 96 40 00 	fidivl 0x409673(%edi,%eax,4)
4096ee:	df 75 e8             	fbstp  -0x18(%ebp)
4096f1:	8d 7b 03             	lea    0x3(%ebx),%edi
4096f4:	9b                   	fwait
4096f5:	09 c9                	or     %ecx,%ecx
4096f7:	75 1b                	jne    0x409714
4096f9:	b9 09 00 00 00       	mov    $0x9,%ecx
4096fe:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409702:	88 c4                	mov    %al,%ah
409704:	c0 e8 04             	shr    $0x4,%al
409707:	75 1e                	jne    0x409727
409709:	88 e0                	mov    %ah,%al
40970b:	24 0f                	and    $0xf,%al
40970d:	75 1f                	jne    0x40972e
40970f:	49                   	dec    %ecx
409710:	75 ec                	jne    0x4096fe
409712:	eb 39                	jmp    0x40974d
409714:	88 c8                	mov    %cl,%al
409716:	04 30                	add    $0x30,%al
409718:	aa                   	stos   %al,%es:(%edi)
409719:	b9 09 00 00 00       	mov    $0x9,%ecx
40971e:	8a 44 29 e7          	mov    -0x19(%ecx,%ebp,1),%al
409722:	88 c4                	mov    %al,%ah
409724:	c0 e8 04             	shr    $0x4,%al
409727:	04 30                	add    $0x30,%al
409729:	aa                   	stos   %al,%es:(%edi)
40972a:	88 e0                	mov    %ah,%al
40972c:	24 0f                	and    $0xf,%al
40972e:	04 30                	add    $0x30,%al
409730:	aa                   	stos   %al,%es:(%edi)
409731:	49                   	dec    %ecx
409732:	75 ea                	jne    0x40971e
409734:	89 f8                	mov    %edi,%eax
409736:	8d 4c 13 03          	lea    0x3(%ebx,%edx,1),%ecx
40973a:	29 c8                	sub    %ecx,%eax
40973c:	c6 07 00             	movb   $0x0,(%edi)
40973f:	4f                   	dec    %edi
409740:	80 3f 30             	cmpb   $0x30,(%edi)
409743:	74 f7                	je     0x40973c
409745:	8b 56 04             	mov    0x4(%esi),%edx
409748:	c1 ea 1f             	shr    $0x1f,%edx
40974b:	eb 07                	jmp    0x409754
40974d:	31 c0                	xor    %eax,%eax
40974f:	31 d2                	xor    %edx,%edx
409751:	88 43 03             	mov    %al,0x3(%ebx)
409754:	66 89 03             	mov    %ax,(%ebx)
409757:	88 53 02             	mov    %dl,0x2(%ebx)
40975a:	c3                   	ret
40975b:	5b                   	pop    %ebx
40975c:	5e                   	pop    %esi
40975d:	5f                   	pop    %edi
40975e:	8b e5                	mov    %ebp,%esp
409760:	5d                   	pop    %ebp
409761:	c2 08 00             	ret    $0x8
409764:	55                   	push   %ebp
409765:	8b ec                	mov    %esp,%ebp
409767:	83 c4 f4             	add    $0xfffffff4,%esp
40976a:	57                   	push   %edi
40976b:	56                   	push   %esi
40976c:	53                   	push   %ebx
40976d:	89 c6                	mov    %eax,%esi
40976f:	89 d7                	mov    %edx,%edi
409771:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409778:	a0 8b 16 46 00       	mov    0x46168b,%al
40977d:	88 45 fb             	mov    %al,-0x5(%ebp)
409780:	89 cb                	mov    %ecx,%ebx
409782:	9b d9 7d f8          	fstcw  -0x8(%ebp)
409786:	9b db e2             	fclex
409789:	d9 2d a4 51 45 00    	fldcw  0x4551a4
40978f:	d9 ee                	fldz
409791:	e8 85 00 00 00       	call   0x40981b
409796:	8a 3e                	mov    (%esi),%bh
409798:	80 ff 2b             	cmp    $0x2b,%bh
40979b:	74 05                	je     0x4097a2
40979d:	80 ff 2d             	cmp    $0x2d,%bh
4097a0:	75 01                	jne    0x4097a3
4097a2:	46                   	inc    %esi
4097a3:	89 f1                	mov    %esi,%ecx
4097a5:	e8 7c 00 00 00       	call   0x409826
4097aa:	31 d2                	xor    %edx,%edx
4097ac:	8a 06                	mov    (%esi),%al
4097ae:	3a 45 fb             	cmp    -0x5(%ebp),%al
4097b1:	75 08                	jne    0x4097bb
4097b3:	46                   	inc    %esi
4097b4:	e8 6d 00 00 00       	call   0x409826
4097b9:	f7 da                	neg    %edx
4097bb:	39 f1                	cmp    %esi,%ecx
4097bd:	74 4f                	je     0x40980e
4097bf:	8a 06                	mov    (%esi),%al
4097c1:	24 df                	and    $0xdf,%al
4097c3:	3c 45                	cmp    $0x45,%al
4097c5:	75 0a                	jne    0x4097d1
4097c7:	46                   	inc    %esi
4097c8:	52                   	push   %edx
4097c9:	e8 74 00 00 00       	call   0x409842
4097ce:	58                   	pop    %eax
4097cf:	01 c2                	add    %eax,%edx
4097d1:	e8 45 00 00 00       	call   0x40981b
4097d6:	80 3e 00             	cmpb   $0x0,(%esi)
4097d9:	75 33                	jne    0x40980e
4097db:	89 d0                	mov    %edx,%eax
4097dd:	80 fb 01             	cmp    $0x1,%bl
4097e0:	75 03                	jne    0x4097e5
4097e2:	83 c0 04             	add    $0x4,%eax
4097e5:	53                   	push   %ebx
4097e6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4097e9:	e8 5e 9b ff ff       	call   0x40334c
4097ee:	5b                   	pop    %ebx
4097ef:	80 ff 2d             	cmp    $0x2d,%bh
4097f2:	75 02                	jne    0x4097f6
4097f4:	d9 e0                	fchs
4097f6:	80 fb 00             	cmp    $0x0,%bl
4097f9:	74 04                	je     0x4097ff
4097fb:	df 3f                	fistpll (%edi)
4097fd:	eb 02                	jmp    0x409801
4097ff:	db 3f                	fstpt  (%edi)
409801:	9b df e0             	fstsw  %ax
409804:	66 a9 09 00          	test   $0x9,%ax
409808:	75 06                	jne    0x409810
40980a:	b0 01                	mov    $0x1,%al
40980c:	eb 04                	jmp    0x409812
40980e:	dd d8                	fstp   %st(0)
409810:	31 c0                	xor    %eax,%eax
409812:	9b db e2             	fclex
409815:	d9 6d f8             	fldcw  -0x8(%ebp)
409818:	9b                   	fwait