406498:	50                   	push   %eax
406499:	6a 04                	push   $0x4
40649b:	6a 00                	push   $0x0
40649d:	8b c6                	mov    %esi,%eax
40649f:	e8 50 d6 ff ff       	call   0x403af4
4064a4:	50                   	push   %eax
4064a5:	53                   	push   %ebx
4064a6:	e8 b9 e9 ff ff       	call   0x404e64
4064ab:	85 c0                	test   %eax,%eax
4064ad:	74 04                	je     0x4064b3
4064af:	33 c0                	xor    %eax,%eax
4064b1:	eb 02                	jmp    0x4064b5
4064b3:	b0 01                	mov    $0x1,%al
4064b5:	5a                   	pop    %edx
4064b6:	5e                   	pop    %esi
4064b7:	5b                   	pop    %ebx
4064b8:	c3                   	ret
4064b9:	8d 40 00             	lea    0x0(%eax),%eax
4064bc:	53                   	push   %ebx
4064bd:	56                   	push   %esi
4064be:	57                   	push   %edi
4064bf:	8b f1                	mov    %ecx,%esi
4064c1:	8b fa                	mov    %edx,%edi
4064c3:	8b d8                	mov    %eax,%ebx
4064c5:	85 db                	test   %ebx,%ebx
4064c7:	74 27                	je     0x4064f0
4064c9:	8b c6                	mov    %esi,%eax
4064cb:	e8 24 d4 ff ff       	call   0x4038f4
4064d0:	40                   	inc    %eax
4064d1:	50                   	push   %eax
4064d2:	8b c6                	mov    %esi,%eax
4064d4:	e8 1b d6 ff ff       	call   0x403af4
4064d9:	50                   	push   %eax
4064da:	6a 01                	push   $0x1
4064dc:	6a 00                	push   $0x0
4064de:	8b c7                	mov    %edi,%eax
4064e0:	e8 0f d6 ff ff       	call   0x403af4
4064e5:	50                   	push   %eax
4064e6:	53                   	push   %ebx
4064e7:	e8 78 e9 ff ff       	call   0x404e64
4064ec:	85 c0                	test   %eax,%eax
4064ee:	74 04                	je     0x4064f4
4064f0:	33 c0                	xor    %eax,%eax
4064f2:	eb 02                	jmp    0x4064f6
4064f4:	b0 01                	mov    $0x1,%al
4064f6:	5f                   	pop    %edi
4064f7:	5e                   	pop    %esi
4064f8:	5b                   	pop    %ebx
4064f9:	c3                   	ret
4064fa:	8b c0                	mov    %eax,%eax
4064fc:	55                   	push   %ebp
4064fd:	8b ec                	mov    %esp,%ebp
4064ff:	51                   	push   %ecx
406500:	53                   	push   %ebx
406501:	56                   	push   %esi
406502:	57                   	push   %edi
406503:	8b f9                	mov    %ecx,%edi
406505:	89 55 fc             	mov    %edx,-0x4(%ebp)
406508:	8b f0                	mov    %eax,%esi
40650a:	bb 01 00 00 00       	mov    $0x1,%ebx
40650f:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
406513:	74 05                	je     0x40651a
406515:	bb 02 00 00 00       	mov    $0x2,%ebx
40651a:	85 f6                	test   %esi,%esi
40651c:	74 27                	je     0x406545
40651e:	8b c7                	mov    %edi,%eax
406520:	e8 cf d3 ff ff       	call   0x4038f4
406525:	40                   	inc    %eax
406526:	50                   	push   %eax
406527:	8b c7                	mov    %edi,%eax
406529:	e8 c6 d5 ff ff       	call   0x403af4
40652e:	50                   	push   %eax
40652f:	53                   	push   %ebx
406530:	6a 00                	push   $0x0
406532:	8b 45 fc             	mov    -0x4(%ebp),%eax
406535:	e8 ba d5 ff ff       	call   0x403af4
40653a:	50                   	push   %eax
40653b:	56                   	push   %esi
40653c:	e8 23 e9 ff ff       	call   0x404e64
406541:	85 c0                	test   %eax,%eax
406543:	74 04                	je     0x406549
406545:	33 c0                	xor    %eax,%eax
406547:	eb 02                	jmp    0x40654b
406549:	b0 01                	mov    $0x1,%al
40654b:	5f                   	pop    %edi
40654c:	5e                   	pop    %esi
40654d:	5b                   	pop    %ebx
40654e:	59                   	pop    %ecx
40654f:	5d                   	pop    %ebp
406550:	c2 04 00             	ret    $0x4
406553:	90                   	nop
406554:	85 c0                	test   %eax,%eax
406556:	74 06                	je     0x40655e
406558:	50                   	push   %eax
406559:	e8 2a e2 ff ff       	call   0x404788
40655e:	c3                   	ret
40655f:	90                   	nop
406560:	53                   	push   %ebx
406561:	56                   	push   %esi
406562:	83 c4 f8             	add    $0xfffffff8,%esp
406565:	8b f2                	mov    %edx,%esi
406567:	8b d8                	mov    %eax,%ebx
406569:	85 db                	test   %ebx,%ebx
40656b:	74 20                	je     0x40658d
40656d:	8d 44 24 04          	lea    0x4(%esp),%eax
406571:	50                   	push   %eax
406572:	6a 00                	push   $0x0
406574:	8d 44 24 08          	lea    0x8(%esp),%eax
406578:	50                   	push   %eax
406579:	6a 00                	push   $0x0
40657b:	8b c6                	mov    %esi,%eax
40657d:	e8 72 d5 ff ff       	call   0x403af4
406582:	50                   	push   %eax
406583:	53                   	push   %ebx
406584:	e8 d3 e8 ff ff       	call   0x404e5c
406589:	85 c0                	test   %eax,%eax
40658b:	74 04                	je     0x406591
40658d:	33 c0                	xor    %eax,%eax
40658f:	eb 02                	jmp    0x406593
406591:	b0 01                	mov    $0x1,%al
406593:	59                   	pop    %ecx
406594:	5a                   	pop    %edx
406595:	5e                   	pop    %esi
406596:	5b                   	pop    %ebx
406597:	c3                   	ret
406598:	55                   	push   %ebp
406599:	8b ec                	mov    %esp,%ebp
40659b:	53                   	push   %ebx
40659c:	56                   	push   %esi
40659d:	57                   	push   %edi
40659e:	8b f9                	mov    %ecx,%edi
4065a0:	8b f2                	mov    %edx,%esi
4065a2:	8b d8                	mov    %eax,%ebx
4065a4:	85 db                	test   %ebx,%ebx
4065a6:	74 1b                	je     0x4065c3
4065a8:	8b 45 08             	mov    0x8(%ebp),%eax
4065ab:	50                   	push   %eax
4065ac:	57                   	push   %edi
4065ad:	6a 03                	push   $0x3
4065af:	6a 00                	push   $0x0
4065b1:	8b c6                	mov    %esi,%eax
4065b3:	e8 3c d5 ff ff       	call   0x403af4
4065b8:	50                   	push   %eax
4065b9:	53                   	push   %ebx
4065ba:	e8 a5 e8 ff ff       	call   0x404e64
4065bf:	85 c0                	test   %eax,%eax
4065c1:	74 04                	je     0x4065c7
4065c3:	33 c0                	xor    %eax,%eax
4065c5:	eb 02                	jmp    0x4065c9
4065c7:	b0 01                	mov    $0x1,%al
4065c9:	5f                   	pop    %edi
4065ca:	5e                   	pop    %esi
4065cb:	5b                   	pop    %ebx
4065cc:	5d                   	pop    %ebp
4065cd:	c2 04 00             	ret    $0x4
4065d0:	55                   	push   %ebp
4065d1:	8b ec                	mov    %esp,%ebp
4065d3:	83 c4 f0             	add    $0xfffffff0,%esp
4065d6:	53                   	push   %ebx
4065d7:	56                   	push   %esi
4065d8:	57                   	push   %edi
4065d9:	33 c9                	xor    %ecx,%ecx
4065db:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4065de:	89 55 fc             	mov    %edx,-0x4(%ebp)
4065e1:	8b f8                	mov    %eax,%edi
4065e3:	33 c0                	xor    %eax,%eax
4065e5:	55                   	push   %ebp
4065e6:	68 8f 66 40 00       	push   $0x40668f
4065eb:	64 ff 30             	push   %fs:(%eax)
4065ee:	64 89 20             	mov    %esp,%fs:(%eax)
4065f1:	33 db                	xor    %ebx,%ebx
4065f3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4065f6:	e8 81 5e 00 00       	call   0x40c47c
4065fb:	6a 00                	push   $0x0
4065fd:	6a 00                	push   $0x0
4065ff:	6a 00                	push   $0x0
406601:	6a 00                	push   $0x0
406603:	6a 00                	push   $0x0
406605:	6a 00                	push   $0x0
406607:	8d 45 f8             	lea    -0x8(%ebp),%eax
40660a:	50                   	push   %eax
40660b:	6a 00                	push   $0x0
40660d:	6a 00                	push   $0x0
40660f:	6a 00                	push   $0x0
406611:	6a 00                	push   $0x0
406613:	57                   	push   %edi
406614:	e8 3b e8 ff ff       	call   0x404e54
406619:	85 c0                	test   %eax,%eax
40661b:	75 5c                	jne    0x406679
40661d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406621:	76 54                	jbe    0x406677
406623:	8b 45 f8             	mov    -0x8(%ebp),%eax
406626:	40                   	inc    %eax
406627:	89 45 f4             	mov    %eax,-0xc(%ebp)
40662a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40662d:	e8 fe c1 ff ff       	call   0x402830
406632:	8b d8                	mov    %eax,%ebx
406634:	33 f6                	xor    %esi,%esi
406636:	eb 1d                	jmp    0x406655
406638:	8d 45 f0             	lea    -0x10(%ebp),%eax
40663b:	8b d3                	mov    %ebx,%edx
40663d:	e8 2e d2 ff ff       	call   0x403870
406642:	8b 55 f0             	mov    -0x10(%ebp),%edx
406645:	8b 45 fc             	mov    -0x4(%ebp),%eax
406648:	e8 1f 5e 00 00       	call   0x40c46c
40664d:	8b 45 f8             	mov    -0x8(%ebp),%eax
406650:	40                   	inc    %eax
406651:	89 45 f4             	mov    %eax,-0xc(%ebp)
406654:	46                   	inc    %esi
406655:	6a 00                	push   $0x0
406657:	6a 00                	push   $0x0
406659:	6a 00                	push   $0x0
40665b:	6a 00                	push   $0x0
40665d:	8d 45 f4             	lea    -0xc(%ebp),%eax
406660:	50                   	push   %eax
406661:	53                   	push   %ebx
406662:	56                   	push   %esi
406663:	57                   	push   %edi
406664:	e8 db e7 ff ff       	call   0x404e44
406669:	3d 03 01 00 00       	cmp    $0x103,%eax
40666e:	75 c8                	jne    0x406638
406670:	8b c3                	mov    %ebx,%eax
406672:	e8 e9 c1 ff ff       	call   0x402860
406677:	b3 01                	mov    $0x1,%bl
406679:	33 c0                	xor    %eax,%eax
40667b:	5a                   	pop    %edx
40667c:	59                   	pop    %ecx
40667d:	59                   	pop    %ecx
40667e:	64 89 10             	mov    %edx,%fs:(%eax)
406681:	68 96 66 40 00       	push   $0x406696
406686:	8d 45 f0             	lea    -0x10(%ebp),%eax
406689:	e8 06 d0 ff ff       	call   0x403694
40668e:	c3                   	ret
40668f:	e9 74 ca ff ff       	jmp    0x403108
406694:	eb f0                	jmp    0x406686
406696:	8b c3                	mov    %ebx,%eax
406698:	5f                   	pop    %edi
406699:	5e                   	pop    %esi
40669a:	5b                   	pop    %ebx
40669b:	8b e5                	mov    %ebp,%esp
40669d:	5d                   	pop    %ebp
40669e:	c3                   	ret
40669f:	90                   	nop
4066a0:	53                   	push   %ebx
4066a1:	56                   	push   %esi
4066a2:	51                   	push   %ecx
4066a3:	8b f2                	mov    %edx,%esi
4066a5:	8b d8                	mov    %eax,%ebx
4066a7:	89 1c 24             	mov    %ebx,(%esp)
4066aa:	85 db                	test   %ebx,%ebx
4066ac:	74 19                	je     0x4066c7
4066ae:	6a 00                	push   $0x0
4066b0:	6a 00                	push   $0x0
4066b2:	8d 44 24 08          	lea    0x8(%esp),%eax
4066b6:	50                   	push   %eax
4066b7:	6a 00                	push   $0x0
4066b9:	8b c6                	mov    %esi,%eax
4066bb:	e8 34 d4 ff ff       	call   0x403af4
4066c0:	50                   	push   %eax
4066c1:	53                   	push   %ebx
4066c2:	e8 95 e7 ff ff       	call   0x404e5c
4066c7:	8b 04 24             	mov    (%esp),%eax
4066ca:	5a                   	pop    %edx
4066cb:	5e                   	pop    %esi
4066cc:	5b                   	pop    %ebx
4066cd:	c3                   	ret
4066ce:	8b c0                	mov    %eax,%eax
4066d0:	83 c4 e8             	add    $0xffffffe8,%esp
4066d3:	8d 44 24 08          	lea    0x8(%esp),%eax
4066d7:	50                   	push   %eax
4066d8:	e8 1b e1 ff ff       	call   0x4047f8
4066dd:	8b d4                	mov    %esp,%edx
4066df:	8d 44 24 08          	lea    0x8(%esp),%eax
4066e3:	e8 08 00 00 00       	call   0x4066f0
4066e8:	dd 04 24             	fldl   (%esp)
4066eb:	83 c4 18             	add    $0x18,%esp
4066ee:	c3                   	ret
4066ef:	90                   	nop
4066f0:	53                   	push   %ebx
4066f1:	56                   	push   %esi
4066f2:	83 c4 f8             	add    $0xfffffff8,%esp
4066f5:	8b f2                	mov    %edx,%esi
4066f7:	8b d8                	mov    %eax,%ebx
4066f9:	54                   	push   %esp
4066fa:	53                   	push   %ebx
4066fb:	e8 80 e1 ff ff       	call   0x404880
406700:	83 f8 01             	cmp    $0x1,%eax
406703:	1b c9                	sbb    %ecx,%ecx
406705:	41                   	inc    %ecx
406706:	84 c9                	test   %cl,%cl
406708:	74 14                	je     0x40671e
40670a:	df 2c 24             	fildll (%esp)
40670d:	db 2d 28 67 40 00    	fldt   0x406728
406713:	de f9                	fdivrp %st,%st(1)
406715:	d8 05 34 67 40 00    	fadds  0x406734
40671b:	dd 1e                	fstpl  (%esi)
40671d:	9b                   	fwait
40671e:	8b c1                	mov    %ecx,%eax
406720:	59                   	pop    %ecx
406721:	5a                   	pop    %edx
406722:	5e                   	pop    %esi
406723:	5b                   	pop    %ebx
406724:	c3                   	ret
406725:	00 00                	add    %al,(%eax)
406727:	00 00                	add    %al,(%eax)
406729:	00 00                	add    %al,(%eax)
40672b:	00 c0                	add    %al,%al
40672d:	69 2a c9 26 40 00    	imul   $0x4026c9,(%edx),%ebp
406733:	00 50 ac             	add    %dl,-0x54(%eax)
406736:	0e                   	push   %cs
406737:	49                   	dec    %ecx
406738:	55                   	push   %ebp
406739:	8b ec                	mov    %esp,%ebp
40673b:	57                   	push   %edi
40673c:	97                   	xchg   %eax,%edi
40673d:	dd 45 08             	fldl   0x8(%ebp)
406740:	d8 25 50 67 40 00    	fsubs  0x406750
406746:	db 2d 54 67 40 00    	fldt   0x406754
40674c:	de c9                	fmulp  %st,%st(1)
40674e:	eb 0e                	jmp    0x40675e
406750:	50                   	push   %eax
406751:	ac                   	lods   %ds:(%esi),%al
406752:	0e                   	push   %cs
406753:	49                   	dec    %ecx
406754:	00 00                	add    %al,(%eax)
406756:	00 00                	add    %al,(%eax)
406758:	c0 69 2a c9          	shrb   $0xc9,0x2a(%ecx)
40675c:	26 40                	es inc %eax
40675e:	e8 45 c2 ff ff       	call   0x4029a8
406763:	52                   	push   %edx
406764:	50                   	push   %eax
406765:	89 e0                	mov    %esp,%eax
406767:	57                   	push   %edi
406768:	50                   	push   %eax
406769:	e8 42 e0 ff ff       	call   0x4047b0
40676e:	59                   	pop    %ecx
40676f:	59                   	pop    %ecx
406770:	83 f8 01             	cmp    $0x1,%eax
406773:	19 c0                	sbb    %eax,%eax
406775:	40                   	inc    %eax
406776:	5f                   	pop    %edi
406777:	5d                   	pop    %ebp
406778:	c2 08 00             	ret    $0x8
40677b:	90                   	nop
40677c:	53                   	push   %ebx
40677d:	56                   	push   %esi
40677e:	83 c4 e8             	add    $0xffffffe8,%esp
406781:	8b f2                	mov    %edx,%esi
406783:	8b d8                	mov    %eax,%ebx
406785:	54                   	push   %esp