40243d:	0b d6                	or     %esi,%edx
40243f:	8b 75 f0             	mov    -0x10(%ebp),%esi
402442:	2b c1                	sub    %ecx,%eax
402444:	89 85 88 fd ff ff    	mov    %eax,-0x278(%ebp)
40244a:	1b f2                	sbb    %edx,%esi
40244c:	83 a5 80 fd ff ff 00 	andl   $0x0,-0x280(%ebp)
402453:	8b c6                	mov    %esi,%eax
402455:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
40245b:	25 00 00 00 80       	and    $0x80000000,%eax
402460:	89 b5 8c fd ff ff    	mov    %esi,-0x274(%ebp)
402466:	df ad 88 fd ff ff    	fildll -0x278(%ebp)
40246c:	89 85 84 fd ff ff    	mov    %eax,-0x27c(%ebp)
402472:	51                   	push   %ecx
402473:	51                   	push   %ecx
402474:	df ad 80 fd ff ff    	fildll -0x280(%ebp)
40247a:	d9 e0                	fchs
40247c:	de c1                	faddp  %st,%st(1)
40247e:	dd 9d 78 fd ff ff    	fstpl  -0x288(%ebp)
402484:	dd 85 78 fd ff ff    	fldl   -0x288(%ebp)
40248a:	dd 1c 24             	fstpl  (%esp)
40248d:	e8 85 8d 01 00       	call   0x41b217
402492:	dc 1d 40 35 42 00    	fcompl 0x423540
402498:	df e0                	fnstsw %ax
40249a:	59                   	pop    %ecx
40249b:	59                   	pop    %ecx
40249c:	f6 c4 05             	test   $0x5,%ah
40249f:	7b 0b                	jnp    0x4024ac
4024a1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4024a4:	8b cb                	mov    %ebx,%ecx
4024a6:	50                   	push   %eax
4024a7:	e8 d2 fb ff ff       	call   0x40207e
4024ac:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
4024b2:	50                   	push   %eax
4024b3:	57                   	push   %edi
4024b4:	ff 15 a4 c0 41 00    	call   *0x41c0a4
4024ba:	85 c0                	test   %eax,%eax
4024bc:	0f 85 ea fe ff ff    	jne    0x4023ac
4024c2:	57                   	push   %edi
4024c3:	ff 15 9c c0 41 00    	call   *0x41c09c
4024c9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4024cc:	8d 49 f0             	lea    -0x10(%ecx),%ecx
4024cf:	e8 2e ee ff ff       	call   0x401302
4024d4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4024d7:	83 c1 f0             	add    $0xfffffff0,%ecx
4024da:	e8 23 ee ff ff       	call   0x401302
4024df:	8b 4d 08             	mov    0x8(%ebp),%ecx
4024e2:	8d 49 f0             	lea    -0x10(%ecx),%ecx
4024e5:	e8 18 ee ff ff       	call   0x401302
4024ea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4024ed:	5f                   	pop    %edi
4024ee:	5e                   	pop    %esi
4024ef:	33 cd                	xor    %ebp,%ecx
4024f1:	5b                   	pop    %ebx
4024f2:	e8 fe 66 00 00       	call   0x408bf5
4024f7:	c9                   	leave
4024f8:	c2 08 00             	ret    $0x8
4024fb:	55                   	push   %ebp
4024fc:	8b ec                	mov    %esp,%ebp
4024fe:	83 ec 10             	sub    $0x10,%esp
402501:	a1 18 60 42 00       	mov    0x426018,%eax
402506:	33 c5                	xor    %ebp,%eax
402508:	89 45 fc             	mov    %eax,-0x4(%ebp)
40250b:	53                   	push   %ebx
40250c:	56                   	push   %esi
40250d:	57                   	push   %edi
40250e:	8b 7d 08             	mov    0x8(%ebp),%edi
402511:	33 db                	xor    %ebx,%ebx
402513:	53                   	push   %ebx
402514:	89 4d f4             	mov    %ecx,-0xc(%ebp)
402517:	ff 37                	push   (%edi)
402519:	ff 15 84 c1 41 00    	call   *0x41c184
40251f:	85 c0                	test   %eax,%eax
402521:	75 14                	jne    0x402537
402523:	ff 15 48 c1 41 00    	call   *0x41c148
402529:	3d b7 00 00 00       	cmp    $0xb7,%eax
40252e:	74 07                	je     0x402537
402530:	32 c0                	xor    %al,%al
402532:	e9 91 00 00 00       	jmp    0x4025c8
402537:	51                   	push   %ecx
402538:	51                   	push   %ecx
402539:	8b 0f                	mov    (%edi),%ecx
40253b:	8b f4                	mov    %esp,%esi
40253d:	83 e9 10             	sub    $0x10,%ecx
402540:	e8 f0 15 00 00       	call   0x403b35
402545:	83 c0 10             	add    $0x10,%eax
402548:	89 06                	mov    %eax,(%esi)
40254a:	8b 75 f4             	mov    -0xc(%ebp),%esi
40254d:	8b ce                	mov    %esi,%ecx
40254f:	e8 cb fd ff ff       	call   0x40231f
402554:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402557:	e8 cf ed ff ff       	call   0x40132b
40255c:	50                   	push   %eax
40255d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402560:	e8 97 15 00 00       	call   0x403afc
402565:	68 04 01 00 00       	push   $0x104
40256a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40256d:	e8 6e 11 00 00       	call   0x4036e0
402572:	50                   	push   %eax
402573:	53                   	push   %ebx
402574:	68 c0 2b 42 00       	push   $0x422bc0
402579:	ff 37                	push   (%edi)
40257b:	ff 15 d4 c1 41 00    	call   *0x41c1d4
402581:	6a ff                	push   $0xffffffff
402583:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402586:	8b f8                	mov    %eax,%edi
402588:	e8 27 11 00 00       	call   0x4036b4
40258d:	85 ff                	test   %edi,%edi
40258f:	74 2a                	je     0x4025bb
402591:	83 ff 6f             	cmp    $0x6f,%edi
402594:	74 25                	je     0x4025bb
402596:	ff 75 f8             	push   -0x8(%ebp)
402599:	ff 15 b0 c1 41 00    	call   *0x41c1b0
40259f:	53                   	push   %ebx
4025a0:	ff 75 f8             	push   -0x8(%ebp)
4025a3:	ff 15 84 c1 41 00    	call   *0x41c184
4025a9:	85 c0                	test   %eax,%eax
4025ab:	74 0e                	je     0x4025bb
4025ad:	8d 45 f8             	lea    -0x8(%ebp),%eax
4025b0:	50                   	push   %eax
4025b1:	8d 4e 20             	lea    0x20(%esi),%ecx
4025b4:	e8 24 10 00 00       	call   0x4035dd
4025b9:	b3 01                	mov    $0x1,%bl
4025bb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4025be:	83 c1 f0             	add    $0xfffffff0,%ecx
4025c1:	e8 3c ed ff ff       	call   0x401302
4025c6:	8a c3                	mov    %bl,%al
4025c8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4025cb:	5f                   	pop    %edi
4025cc:	5e                   	pop    %esi
4025cd:	33 cd                	xor    %ebp,%ecx
4025cf:	5b                   	pop    %ebx
4025d0:	e8 20 66 00 00       	call   0x408bf5
4025d5:	c9                   	leave
4025d6:	c2 04 00             	ret    $0x4
4025d9:	55                   	push   %ebp
4025da:	8b ec                	mov    %esp,%ebp
4025dc:	83 ec 0c             	sub    $0xc,%esp
4025df:	a1 18 60 42 00       	mov    0x426018,%eax
4025e4:	33 c5                	xor    %ebp,%eax
4025e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4025e9:	53                   	push   %ebx
4025ea:	56                   	push   %esi
4025eb:	57                   	push   %edi
4025ec:	8b f9                	mov    %ecx,%edi
4025ee:	ff 15 24 c2 41 00    	call   *0x41c224
4025f4:	85 c0                	test   %eax,%eax
4025f6:	75 07                	jne    0x4025ff
4025f8:	32 c0                	xor    %al,%al
4025fa:	e9 bb 00 00 00       	jmp    0x4026ba
4025ff:	33 db                	xor    %ebx,%ebx
402601:	89 5d f4             	mov    %ebx,-0xc(%ebp)
402604:	e8 22 ed ff ff       	call   0x40132b
402609:	50                   	push   %eax
40260a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40260d:	e8 ea 14 00 00       	call   0x403afc
402612:	68 04 01 00 00       	push   $0x104
402617:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40261a:	e8 c1 10 00 00       	call   0x4036e0
40261f:	50                   	push   %eax
402620:	53                   	push   %ebx
402621:	53                   	push   %ebx
402622:	68 26 80 00 00       	push   $0x8026
402627:	53                   	push   %ebx
402628:	ff 15 2c c2 41 00    	call   *0x41c22c
40262e:	6a ff                	push   $0xffffffff
402630:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402633:	8b f0                	mov    %eax,%esi
402635:	e8 7a 10 00 00       	call   0x4036b4
40263a:	85 f6                	test   %esi,%esi
40263c:	78 6f                	js     0x4026ad
40263e:	ff 75 f4             	push   -0xc(%ebp)
402641:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402644:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402647:	e8 1c 10 00 00       	call   0x403668
40264c:	68 34 27 42 00       	push   $0x422734
402651:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402654:	e8 ef 0c 00 00       	call   0x403348
402659:	53                   	push   %ebx
40265a:	ff 75 f8             	push   -0x8(%ebp)
40265d:	ff 15 84 c1 41 00    	call   *0x41c184
402663:	85 c0                	test   %eax,%eax
402665:	75 0d                	jne    0x402674
402667:	ff 15 48 c1 41 00    	call   *0x41c148
40266d:	3d b7 00 00 00       	cmp    $0xb7,%eax
402672:	75 2e                	jne    0x4026a2
402674:	68 5c 29 42 00       	push   $0x42295c
402679:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40267c:	e8 c7 0c 00 00       	call   0x403348
402681:	8d 45 f8             	lea    -0x8(%ebp),%eax
402684:	8b cf                	mov    %edi,%ecx
402686:	50                   	push   %eax
402687:	e8 6f fe ff ff       	call   0x4024fb
40268c:	84 c0                	test   %al,%al
40268e:	74 12                	je     0x4026a2
402690:	8d 45 f8             	lea    -0x8(%ebp),%eax
402693:	50                   	push   %eax
402694:	8d 4f 24             	lea    0x24(%edi),%ecx
402697:	e8 41 0f 00 00       	call   0x4035dd
40269c:	c6 47 28 01          	movb   $0x1,0x28(%edi)
4026a0:	b3 01                	mov    $0x1,%bl
4026a2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4026a5:	83 c1 f0             	add    $0xfffffff0,%ecx
4026a8:	e8 55 ec ff ff       	call   0x401302
4026ad:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4026b0:	83 c1 f0             	add    $0xfffffff0,%ecx
4026b3:	e8 4a ec ff ff       	call   0x401302
4026b8:	8a c3                	mov    %bl,%al
4026ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4026bd:	5f                   	pop    %edi
4026be:	5e                   	pop    %esi
4026bf:	33 cd                	xor    %ebp,%ecx
4026c1:	5b                   	pop    %ebx
4026c2:	e8 2e 65 00 00       	call   0x408bf5
4026c7:	c9                   	leave
4026c8:	c3                   	ret
4026c9:	55                   	push   %ebp
4026ca:	8b ec                	mov    %esp,%ebp
4026cc:	83 ec 0c             	sub    $0xc,%esp
4026cf:	a1 18 60 42 00       	mov    0x426018,%eax
4026d4:	33 c5                	xor    %ebp,%eax
4026d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4026d9:	53                   	push   %ebx
4026da:	56                   	push   %esi
4026db:	57                   	push   %edi
4026dc:	33 db                	xor    %ebx,%ebx
4026de:	8b f9                	mov    %ecx,%edi
4026e0:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4026e3:	e8 43 ec ff ff       	call   0x40132b
4026e8:	50                   	push   %eax
4026e9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4026ec:	e8 0b 14 00 00       	call   0x403afc
4026f1:	68 00 08 00 00       	push   $0x800
4026f6:	53                   	push   %ebx
4026f7:	68 dc 28 42 00       	push   $0x4228dc
4026fc:	ff 15 14 c1 41 00    	call   *0x41c114
402702:	85 c0                	test   %eax,%eax
402704:	74 31                	je     0x402737
402706:	68 fc 28 42 00       	push   $0x4228fc
40270b:	50                   	push   %eax
40270c:	ff 15 1c c1 41 00    	call   *0x41c11c
402712:	89 45 f4             	mov    %eax,-0xc(%ebp)
402715:	85 c0                	test   %eax,%eax
402717:	74 1e                	je     0x402737
402719:	be 04 01 00 00       	mov    $0x104,%esi
40271e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402721:	56                   	push   %esi
402722:	e8 b9 0f 00 00       	call   0x4036e0
402727:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40272a:	50                   	push   %eax
40272b:	56                   	push   %esi
40272c:	ff 15 50 c2 41 00    	call   *0x41c250
402732:	ff 55 f4             	call   *-0xc(%ebp)
402735:	eb 16                	jmp    0x40274d
402737:	be 04 01 00 00       	mov    $0x104,%esi
40273c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40273f:	56                   	push   %esi
402740:	e8 9b 0f 00 00       	call   0x4036e0
402745:	50                   	push   %eax
402746:	56                   	push   %esi
402747:	ff 15 98 c1 41 00    	call   *0x41c198
40274d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
402750:	89 45 f4             	mov    %eax,-0xc(%ebp)
402753:	6a ff                	push   $0xffffffff
402755:	e8 5a 0f 00 00       	call   0x4036b4
40275a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40275d:	85 c0                	test   %eax,%eax
40275f:	74 24                	je     0x402785
402761:	3b c6                	cmp    %esi,%eax
402763:	73 20                	jae    0x402785
402765:	8d 45 f8             	lea    -0x8(%ebp),%eax
402768:	8b cf                	mov    %edi,%ecx
40276a:	50                   	push   %eax
40276b:	e8 8b fd ff ff       	call   0x4024fb
402770:	84 c0                	test   %al,%al
402772:	74 11                	je     0x402785
402774:	8d 45 f8             	lea    -0x8(%ebp),%eax
402777:	50                   	push   %eax
402778:	8d 4f 24             	lea    0x24(%edi),%ecx
40277b:	e8 5d 0e 00 00       	call   0x4035dd
402780:	88 5f 28             	mov    %bl,0x28(%edi)
402783:	b3 01                	mov    $0x1,%bl
402785:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402788:	83 c1 f0             	add    $0xfffffff0,%ecx
40278b:	e8 72 eb ff ff       	call   0x401302
402790:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402793:	8a c3                	mov    %bl,%al
402795:	5f                   	pop    %edi
402796:	5e                   	pop    %esi
402797:	33 cd                	xor    %ebp,%ecx
402799:	5b                   	pop    %ebx
40279a:	e8 56 64 00 00       	call   0x408bf5
40279f:	c9                   	leave
4027a0:	c3                   	ret
4027a1:	55                   	push   %ebp
4027a2:	8b ec                	mov    %esp,%ebp
4027a4:	83 ec 10             	sub    $0x10,%esp
4027a7:	a1 18 60 42 00       	mov    0x426018,%eax
4027ac:	33 c5                	xor    %ebp,%eax
4027ae:	89 45 f8             	mov    %eax,-0x8(%ebp)
4027b1:	53                   	push   %ebx
4027b2:	8b 5d 08             	mov    0x8(%ebp),%ebx
4027b5:	33 c0                	xor    %eax,%eax
4027b7:	56                   	push   %esi
4027b8:	57                   	push   %edi
4027b9:	68 30 27 42 00       	push   $0x422730
4027be:	6a 66                	push   $0x66
4027c0:	50                   	push   %eax
4027c1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4027c4:	ff 15 bc c1 41 00    	call   *0x41c1bc
4027ca:	8b f0                	mov    %eax,%esi
4027cc:	89 75 f0             	mov    %esi,-0x10(%ebp)
4027cf:	85 f6                	test   %esi,%esi
4027d1:	74 43                	je     0x402816
4027d3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4027d6:	e8 e6 1b 00 00       	call   0x4043c1
4027db:	8b f8                	mov    %eax,%edi
4027dd:	85 ff                	test   %edi,%edi
4027df:	74 35                	je     0x402816
4027e1:	56                   	push   %esi
4027e2:	6a 00                	push   $0x0
4027e4:	ff 15 88 c1 41 00    	call   *0x41c188
4027ea:	53                   	push   %ebx
4027eb:	8b d0                	mov    %eax,%edx
4027ed:	8b cf                	mov    %edi,%ecx
4027ef:	e8 8a 03 00 00       	call   0x402b7e
4027f4:	59                   	pop    %ecx
4027f5:	85 c0                	test   %eax,%eax
4027f7:	75 1d                	jne    0x402816
4027f9:	8b 03                	mov    (%ebx),%eax
4027fb:	8b 70 14             	mov    0x14(%eax),%esi
4027fe:	33 c0                	xor    %eax,%eax
402800:	50                   	push   %eax
402801:	50                   	push   %eax
402802:	50                   	push   %eax
402803:	50                   	push   %eax
402804:	53                   	push   %ebx
402805:	8b ce                	mov    %esi,%ecx
402807:	ff 15 50 c2 41 00    	call   *0x41c250
40280d:	ff d6                	call   *%esi
40280f:	85 c0                	test   %eax,%eax
402811:	0f 99 c0             	setns  %al
402814:	eb 02                	jmp    0x402818
402816:	32 c0                	xor    %al,%al
402818:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40281b:	5f                   	pop    %edi
40281c:	5e                   	pop    %esi
40281d:	33 cd                	xor    %ebp,%ecx
40281f:	5b                   	pop    %ebx
402820:	e8 d0 63 00 00       	call   0x408bf5
402825:	c9                   	leave