409466:	53                   	push   %ebx
409467:	8b d8                	mov    %eax,%ebx
409469:	6a 00                	push   $0x0
40946b:	6a 00                	push   $0x0
40946d:	6a 00                	push   $0x0
40946f:	8d 55 08             	lea    0x8(%ebp),%edx
409472:	8d 45 c0             	lea    -0x40(%ebp),%eax
409475:	b1 01                	mov    $0x1,%cl
409477:	e8 a0 f9 ff ff       	call   0x408e1c
40947c:	8b c8                	mov    %eax,%ecx
40947e:	8d 55 c0             	lea    -0x40(%ebp),%edx
409481:	8b c3                	mov    %ebx,%eax
409483:	e8 24 ac ff ff       	call   0x4040ac
409488:	5b                   	pop    %ebx
409489:	8b e5                	mov    %ebp,%esp
40948b:	5d                   	pop    %ebp
40948c:	c2 08 00             	ret    $0x8
40948f:	90                   	nop
409490:	53                   	push   %ebx
409491:	56                   	push   %esi
409492:	8b f2                	mov    %edx,%esi
409494:	8b d8                	mov    %eax,%ebx
409496:	8b c3                	mov    %ebx,%eax
409498:	e8 df af ff ff       	call   0x40447c
40949d:	8b d6                	mov    %esi,%edx
40949f:	33 c9                	xor    %ecx,%ecx
4094a1:	e8 76 fe ff ff       	call   0x40931c
4094a6:	5e                   	pop    %esi
4094a7:	5b                   	pop    %ebx
4094a8:	c3                   	ret
4094a9:	8d 40 00             	lea    0x0(%eax),%eax
4094ac:	53                   	push   %ebx
4094ad:	56                   	push   %esi
4094ae:	83 c4 f4             	add    $0xfffffff4,%esp
4094b1:	8b f2                	mov    %edx,%esi
4094b3:	8b d8                	mov    %eax,%ebx
4094b5:	8b c3                	mov    %ebx,%eax
4094b7:	e8 c0 af ff ff       	call   0x40447c
4094bc:	8b d4                	mov    %esp,%edx
4094be:	33 c9                	xor    %ecx,%ecx
4094c0:	e8 57 fe ff ff       	call   0x40931c
4094c5:	84 c0                	test   %al,%al
4094c7:	74 06                	je     0x4094cf
4094c9:	db 2c 24             	fldt   (%esp)
4094cc:	dd 1e                	fstpl  (%esi)
4094ce:	9b                   	fwait
4094cf:	83 c4 0c             	add    $0xc,%esp
4094d2:	5e                   	pop    %esi
4094d3:	5b                   	pop    %ebx
4094d4:	c3                   	ret
4094d5:	8d 40 00             	lea    0x0(%eax),%eax
4094d8:	53                   	push   %ebx
4094d9:	56                   	push   %esi
4094da:	83 c4 f4             	add    $0xfffffff4,%esp
4094dd:	8b f2                	mov    %edx,%esi
4094df:	8b d8                	mov    %eax,%ebx
4094e1:	8b c3                	mov    %ebx,%eax
4094e3:	e8 94 af ff ff       	call   0x40447c
4094e8:	8b d4                	mov    %esp,%edx
4094ea:	33 c9                	xor    %ecx,%ecx
4094ec:	e8 2b fe ff ff       	call   0x40931c
4094f1:	84 c0                	test   %al,%al
4094f3:	74 06                	je     0x4094fb
4094f5:	db 2c 24             	fldt   (%esp)
4094f8:	d9 1e                	fstps  (%esi)
4094fa:	9b                   	fwait
4094fb:	83 c4 0c             	add    $0xc,%esp
4094fe:	5e                   	pop    %esi
4094ff:	5b                   	pop    %ebx
409500:	c3                   	ret
409501:	8d 40 00             	lea    0x0(%eax),%eax
409504:	53                   	push   %ebx
409505:	56                   	push   %esi
409506:	8b f2                	mov    %edx,%esi
409508:	8b d8                	mov    %eax,%ebx
40950a:	8b c3                	mov    %ebx,%eax
40950c:	e8 6b af ff ff       	call   0x40447c
409511:	8b d6                	mov    %esi,%edx
409513:	b1 01                	mov    $0x1,%cl
409515:	e8 02 fe ff ff       	call   0x40931c
40951a:	5e                   	pop    %esi
40951b:	5b                   	pop    %ebx
40951c:	c3                   	ret
40951d:	8d 40 00             	lea    0x0(%eax),%eax
409520:	55                   	push   %ebp
409521:	8b ec                	mov    %esp,%ebp
409523:	53                   	push   %ebx
409524:	31 db                	xor    %ebx,%ebx
409526:	89 c1                	mov    %eax,%ecx
409528:	dd 45 08             	fldl   0x8(%ebp)
40952b:	d8 8b 7c d1 45 00    	fmuls  0x45d17c(%ebx)
409531:	83 ec 08             	sub    $0x8,%esp
409534:	df 3c 24             	fistpll (%esp)
409537:	9b                   	fwait
409538:	58                   	pop    %eax
409539:	5a                   	pop    %edx
40953a:	09 d2                	or     %edx,%edx
40953c:	79 11                	jns    0x40954f
40953e:	f7 da                	neg    %edx
409540:	f7 d8                	neg    %eax
409542:	83 da 00             	sbb    $0x0,%edx
409545:	f7 b3 80 d1 45 00    	divl   0x45d180(%ebx)
40954b:	f7 d8                	neg    %eax
40954d:	eb 06                	jmp    0x409555
40954f:	f7 b3 80 d1 45 00    	divl   0x45d180(%ebx)
409555:	05 5a 95 0a 00       	add    $0xa955a,%eax
40955a:	89 11                	mov    %edx,(%ecx)
40955c:	89 41 04             	mov    %eax,0x4(%ecx)
40955f:	5b                   	pop    %ebx
409560:	5d                   	pop    %ebp
409561:	c2 08 00             	ret    $0x8
409564:	55                   	push   %ebp
409565:	8b ec                	mov    %esp,%ebp
409567:	83 c4 f8             	add    $0xfffffff8,%esp
40956a:	56                   	push   %esi
40956b:	8b 75 0c             	mov    0xc(%ebp),%esi
40956e:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
409572:	66 83 f8 18          	cmp    $0x18,%ax
409576:	73 4d                	jae    0x4095c5
409578:	66 83 fa 3c          	cmp    $0x3c,%dx
40957c:	73 47                	jae    0x4095c5
40957e:	66 83 f9 3c          	cmp    $0x3c,%cx
409582:	73 41                	jae    0x4095c5
409584:	66 81 fe e8 03       	cmp    $0x3e8,%si
409589:	73 3a                	jae    0x4095c5
40958b:	0f b7 c0             	movzwl %ax,%eax
40958e:	69 c0 80 ee 36 00    	imul   $0x36ee80,%eax,%eax
409594:	0f b7 d2             	movzwl %dx,%edx
409597:	69 d2 60 ea 00 00    	imul   $0xea60,%edx,%edx
40959d:	03 c2                	add    %edx,%eax
40959f:	0f b7 d1             	movzwl %cx,%edx
4095a2:	69 d2 e8 03 00 00    	imul   $0x3e8,%edx,%edx
4095a8:	03 c2                	add    %edx,%eax
4095aa:	0f b7 d6             	movzwl %si,%edx
4095ad:	03 c2                	add    %edx,%eax
4095af:	89 45 f8             	mov    %eax,-0x8(%ebp)
4095b2:	db 45 f8             	fildl  -0x8(%ebp)
4095b5:	d8 35 d0 95 40 00    	fdivs  0x4095d0
4095bb:	8b 45 08             	mov    0x8(%ebp),%eax
4095be:	dd 18                	fstpl  (%eax)
4095c0:	9b                   	fwait
4095c1:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
4095c5:	8a 45 ff             	mov    -0x1(%ebp),%al
4095c8:	5e                   	pop    %esi
4095c9:	59                   	pop    %ecx
4095ca:	59                   	pop    %ecx
4095cb:	5d                   	pop    %ebp
4095cc:	c2 08 00             	ret    $0x8
4095cf:	00 80 cb a4 4c 55    	add    %al,0x554ca4cb(%eax)
4095d5:	8b ec                	mov    %esp,%ebp
4095d7:	83 c4 f8             	add    $0xfffffff8,%esp
4095da:	53                   	push   %ebx
4095db:	56                   	push   %esi
4095dc:	57                   	push   %edi
4095dd:	8b f9                	mov    %ecx,%edi
4095df:	8b f2                	mov    %edx,%esi
4095e1:	8b d8                	mov    %eax,%ebx
4095e3:	66 8b 45 08          	mov    0x8(%ebp),%ax
4095e7:	50                   	push   %eax
4095e8:	8d 45 f8             	lea    -0x8(%ebp),%eax
4095eb:	50                   	push   %eax
4095ec:	8b cf                	mov    %edi,%ecx
4095ee:	8b d6                	mov    %esi,%edx
4095f0:	8b c3                	mov    %ebx,%eax
4095f2:	e8 6d ff ff ff       	call   0x409564
4095f7:	84 c0                	test   %al,%al
4095f9:	75 0a                	jne    0x409605
4095fb:	a1 5c 7e 46 00       	mov    0x467e5c,%eax
409600:	e8 bb e4 ff ff       	call   0x407ac0
409605:	dd 45 f8             	fldl   -0x8(%ebp)
409608:	5f                   	pop    %edi
409609:	5e                   	pop    %esi
40960a:	5b                   	pop    %ebx
40960b:	59                   	pop    %ecx
40960c:	59                   	pop    %ecx
40960d:	5d                   	pop    %ebp
40960e:	c2 04 00             	ret    $0x4
409611:	8d 40 00             	lea    0x0(%eax),%eax
409614:	55                   	push   %ebp
409615:	8b ec                	mov    %esp,%ebp
409617:	83 c4 f4             	add    $0xfffffff4,%esp
40961a:	53                   	push   %ebx
40961b:	56                   	push   %esi
40961c:	57                   	push   %edi
40961d:	8b f9                	mov    %ecx,%edi
40961f:	8b f2                	mov    %edx,%esi
409621:	8b d8                	mov    %eax,%ebx
409623:	8d 45 fc             	lea    -0x4(%ebp),%eax
409626:	50                   	push   %eax
409627:	ff 75 10             	push   0x10(%ebp)
40962a:	ff 75 0c             	push   0xc(%ebp)
40962d:	8d 45 f4             	lea    -0xc(%ebp),%eax
409630:	e8 eb fe ff ff       	call   0x409520
409635:	8b 45 f4             	mov    -0xc(%ebp),%eax
409638:	8d 4d fe             	lea    -0x2(%ebp),%ecx
40963b:	66 ba 60 ea          	mov    $0xea60,%dx
40963f:	e8 60 e4 ff ff       	call   0x407aa4
409644:	56                   	push   %esi
409645:	8b cb                	mov    %ebx,%ecx
409647:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
40964b:	66 ba 3c 00          	mov    $0x3c,%dx
40964f:	e8 50 e4 ff ff       	call   0x407aa4
409654:	8b 45 08             	mov    0x8(%ebp),%eax
409657:	50                   	push   %eax
409658:	8b cf                	mov    %edi,%ecx
40965a:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
40965e:	66 ba e8 03          	mov    $0x3e8,%dx
409662:	e8 3d e4 ff ff       	call   0x407aa4
409667:	5f                   	pop    %edi
409668:	5e                   	pop    %esi
409669:	5b                   	pop    %ebx
40966a:	8b e5                	mov    %ebp,%esp
40966c:	5d                   	pop    %ebp
40966d:	c2 0c 00             	ret    $0xc
409670:	53                   	push   %ebx
409671:	56                   	push   %esi
409672:	8b c8                	mov    %eax,%ecx
409674:	0f b7 c1             	movzwl %cx,%eax
409677:	83 e0 03             	and    $0x3,%eax
40967a:	85 c0                	test   %eax,%eax
40967c:	75 21                	jne    0x40969f
40967e:	0f b7 d9             	movzwl %cx,%ebx
409681:	8b c3                	mov    %ebx,%eax
409683:	be 64 00 00 00       	mov    $0x64,%esi
409688:	33 d2                	xor    %edx,%edx
40968a:	f7 f6                	div    %esi
40968c:	85 d2                	test   %edx,%edx
40968e:	75 14                	jne    0x4096a4
409690:	8b c3                	mov    %ebx,%eax
409692:	b9 90 01 00 00       	mov    $0x190,%ecx
409697:	33 d2                	xor    %edx,%edx
409699:	f7 f1                	div    %ecx
40969b:	85 d2                	test   %edx,%edx
40969d:	74 05                	je     0x4096a4
40969f:	33 c0                	xor    %eax,%eax
4096a1:	5e                   	pop    %esi
4096a2:	5b                   	pop    %ebx
4096a3:	c3                   	ret
4096a4:	b0 01                	mov    $0x1,%al
4096a6:	5e                   	pop    %esi
4096a7:	5b                   	pop    %ebx
4096a8:	c3                   	ret
4096a9:	8d 40 00             	lea    0x0(%eax),%eax
4096ac:	55                   	push   %ebp
4096ad:	8b ec                	mov    %esp,%ebp
4096af:	83 c4 f8             	add    $0xfffffff8,%esp
4096b2:	53                   	push   %ebx
4096b3:	56                   	push   %esi
4096b4:	57                   	push   %edi
4096b5:	8b d9                	mov    %ecx,%ebx
4096b7:	8b fa                	mov    %edx,%edi
4096b9:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
4096bd:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
4096c1:	66 8b 45 fe          	mov    -0x2(%ebp),%ax
4096c5:	e8 a6 ff ff ff       	call   0x409670
4096ca:	83 e0 7f             	and    $0x7f,%eax
4096cd:	8d 04 40             	lea    (%eax,%eax,2),%eax
4096d0:	8d 34 c5 dc d0 45 00 	lea    0x45d0dc(,%eax,8),%esi
4096d7:	66 83 7d fe 01       	cmpw   $0x1,-0x2(%ebp)
4096dc:	0f 82 86 00 00 00    	jb     0x409768
4096e2:	66 81 7d fe 0f 27    	cmpw   $0x270f,-0x2(%ebp)
4096e8:	77 7e                	ja     0x409768
4096ea:	66 83 ff 01          	cmp    $0x1,%di
4096ee:	72 78                	jb     0x409768
4096f0:	66 83 ff 0c          	cmp    $0xc,%di
4096f4:	77 72                	ja     0x409768
4096f6:	66 83 fb 01          	cmp    $0x1,%bx
4096fa:	72 6c                	jb     0x409768
4096fc:	0f b7 c7             	movzwl %di,%eax
4096ff:	66 3b 5c 46 fe       	cmp    -0x2(%esi,%eax,2),%bx
409704:	77 62                	ja     0x409768
409706:	0f b7 c7             	movzwl %di,%eax
409709:	48                   	dec    %eax
40970a:	85 c0                	test   %eax,%eax
40970c:	7e 0e                	jle    0x40971c
40970e:	b9 01 00 00 00       	mov    $0x1,%ecx
409713:	66 03 5c 4e fe       	add    -0x2(%esi,%ecx,2),%bx
409718:	41                   	inc    %ecx
409719:	48                   	dec    %eax
40971a:	75 f7                	jne    0x409713
40971c:	0f b7 4d fe          	movzwl -0x2(%ebp),%ecx
409720:	49                   	dec    %ecx
409721:	8b c1                	mov    %ecx,%eax
409723:	be 64 00 00 00       	mov    $0x64,%esi
409728:	99                   	cltd
409729:	f7 fe                	idiv   %esi
40972b:	69 f1 6d 01 00 00    	imul   $0x16d,%ecx,%esi
409731:	8b d1                	mov    %ecx,%edx
409733:	85 d2                	test   %edx,%edx
409735:	79 03                	jns    0x40973a
409737:	83 c2 03             	add    $0x3,%edx
40973a:	c1 fa 02             	sar    $0x2,%edx
40973d:	03 f2                	add    %edx,%esi
40973f:	2b f0                	sub    %eax,%esi
409741:	8b c1                	mov    %ecx,%eax
409743:	b9 90 01 00 00       	mov    $0x190,%ecx
409748:	99                   	cltd
409749:	f7 f9                	idiv   %ecx
40974b:	03 f0                	add    %eax,%esi
40974d:	0f b7 c3             	movzwl %bx,%eax
409750:	03 f0                	add    %eax,%esi
409752:	81 ee 5a 95 0a 00    	sub    $0xa955a,%esi
409758:	89 75 f8             	mov    %esi,-0x8(%ebp)
40975b:	db 45 f8             	fildl  -0x8(%ebp)
40975e:	8b 45 08             	mov    0x8(%ebp),%eax
409761:	dd 18                	fstpl  (%eax)
409763:	9b                   	fwait
409764:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
409768:	8a 45 fd             	mov    -0x3(%ebp),%al
40976b:	5f                   	pop    %edi
40976c:	5e                   	pop    %esi
40976d:	5b                   	pop    %ebx
40976e:	59                   	pop    %ecx
40976f:	59                   	pop    %ecx
409770:	5d                   	pop    %ebp
409771:	c2 04 00             	ret    $0x4
409774:	53                   	push   %ebx
409775:	56                   	push   %esi
409776:	57                   	push   %edi
409777:	83 c4 f8             	add    $0xfffffff8,%esp
40977a:	8b f9                	mov    %ecx,%edi
40977c:	8b f2                	mov    %edx,%esi
40977e:	8b d8                	mov    %eax,%ebx
409780:	54                   	push   %esp
409781:	8b cf                	mov    %edi,%ecx
409783:	8b d6                	mov    %esi,%edx
409785:	8b c3                	mov    %ebx,%eax
409787:	e8 20 ff ff ff       	call   0x4096ac
40978c:	84 c0                	test   %al,%al
40978e:	75 0a                	jne    0x40979a
409790:	a1 38 7f 46 00       	mov    0x467f38,%eax
409795:	e8 26 e3 ff ff       	call   0x407ac0
40979a:	dd 04 24             	fldl   (%esp)
40979d:	59                   	pop    %ecx
40979e:	5a                   	pop    %edx
40979f:	5f                   	pop    %edi
4097a0:	5e                   	pop    %esi
4097a1:	5b                   	pop    %ebx
4097a2:	c3                   	ret
4097a3:	90                   	nop
4097a4:	55                   	push   %ebp
4097a5:	8b ec                	mov    %esp,%ebp
4097a7:	83 c4 e8             	add    $0xffffffe8,%esp
4097aa:	53                   	push   %ebx
4097ab:	56                   	push   %esi
4097ac:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4097af:	89 55 f8             	mov    %edx,-0x8(%ebp)
4097b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4097b5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4097b8:	ff 75 10             	push   0x10(%ebp)