4082e1:	50                   	push   %eax
4082e2:	8b c3                	mov    %ebx,%eax
4082e4:	e8 47 c5 ff ff       	call   0x404830
4082e9:	50                   	push   %eax
4082ea:	8b c3                	mov    %ebx,%eax
4082ec:	e8 3f c7 ff ff       	call   0x404a30
4082f1:	50                   	push   %eax
4082f2:	6a 01                	push   $0x1
4082f4:	68 00 04 00 00       	push   $0x400
4082f9:	e8 fe e2 ff ff       	call   0x4065fc
4082fe:	83 e8 02             	sub    $0x2,%eax
408301:	5e                   	pop    %esi
408302:	5b                   	pop    %ebx
408303:	c3                   	ret
408304:	53                   	push   %ebx
408305:	56                   	push   %esi
408306:	8b f2                	mov    %edx,%esi
408308:	8b d8                	mov    %eax,%ebx
40830a:	8b d6                	mov    %esi,%edx
40830c:	8b c3                	mov    %ebx,%eax
40830e:	e8 b9 ff ff ff       	call   0x4082cc
408313:	85 c0                	test   %eax,%eax
408315:	0f 94 c0             	sete   %al
408318:	5e                   	pop    %esi
408319:	5b                   	pop    %ebx
40831a:	c3                   	ret
40831b:	90                   	nop
40831c:	53                   	push   %ebx
40831d:	56                   	push   %esi
40831e:	57                   	push   %edi
40831f:	8b d9                	mov    %ecx,%ebx
408321:	8b fa                	mov    %edx,%edi
408323:	8b f0                	mov    %eax,%esi
408325:	53                   	push   %ebx
408326:	57                   	push   %edi
408327:	53                   	push   %ebx
408328:	56                   	push   %esi
408329:	6a 01                	push   $0x1
40832b:	68 00 04 00 00       	push   $0x400
408330:	e8 c7 e2 ff ff       	call   0x4065fc
408335:	83 e8 02             	sub    $0x2,%eax
408338:	5f                   	pop    %edi
408339:	5e                   	pop    %esi
40833a:	5b                   	pop    %ebx
40833b:	c3                   	ret
40833c:	53                   	push   %ebx
40833d:	56                   	push   %esi
40833e:	57                   	push   %edi
40833f:	55                   	push   %ebp
408340:	8b ea                	mov    %edx,%ebp
408342:	8b f8                	mov    %eax,%edi
408344:	8b c7                	mov    %edi,%eax
408346:	e8 e5 c4 ff ff       	call   0x404830
40834b:	8b f0                	mov    %eax,%esi
40834d:	bb 01 00 00 00       	mov    $0x1,%ebx
408352:	eb 01                	jmp    0x408355
408354:	43                   	inc    %ebx
408355:	3b f3                	cmp    %ebx,%esi
408357:	7c 07                	jl     0x408360
408359:	80 7c 1f ff 20       	cmpb   $0x20,-0x1(%edi,%ebx,1)
40835e:	76 f4                	jbe    0x408354
408360:	3b f3                	cmp    %ebx,%esi
408362:	7d 0a                	jge    0x40836e
408364:	8b c5                	mov    %ebp,%eax
408366:	e8 05 c2 ff ff       	call   0x404570
40836b:	eb 17                	jmp    0x408384
40836d:	4e                   	dec    %esi
40836e:	80 7c 37 ff 20       	cmpb   $0x20,-0x1(%edi,%esi,1)
408373:	76 f8                	jbe    0x40836d
408375:	55                   	push   %ebp
408376:	8b ce                	mov    %esi,%ecx
408378:	2b cb                	sub    %ebx,%ecx
40837a:	41                   	inc    %ecx
40837b:	8b d3                	mov    %ebx,%edx
40837d:	8b c7                	mov    %edi,%eax
40837f:	e8 0c c7 ff ff       	call   0x404a90
408384:	5d                   	pop    %ebp
408385:	5f                   	pop    %edi
408386:	5e                   	pop    %esi
408387:	5b                   	pop    %ebx
408388:	c3                   	ret
408389:	8d 40 00             	lea    0x0(%eax),%eax
40838c:	53                   	push   %ebx
40838d:	56                   	push   %esi
40838e:	57                   	push   %edi
40838f:	8b f0                	mov    %eax,%esi
408391:	33 db                	xor    %ebx,%ebx
408393:	8b c6                	mov    %esi,%eax
408395:	e8 96 c4 ff ff       	call   0x404830
40839a:	85 c0                	test   %eax,%eax
40839c:	74 4b                	je     0x4083e9
40839e:	8a 06                	mov    (%esi),%al
4083a0:	04 bf                	add    $0xbf,%al
4083a2:	2c 1a                	sub    $0x1a,%al
4083a4:	72 0a                	jb     0x4083b0
4083a6:	2c 04                	sub    $0x4,%al
4083a8:	74 06                	je     0x4083b0
4083aa:	04 fe                	add    $0xfe,%al
4083ac:	2c 1a                	sub    $0x1a,%al
4083ae:	73 39                	jae    0x4083e9
4083b0:	8b c6                	mov    %esi,%eax
4083b2:	e8 79 c4 ff ff       	call   0x404830
4083b7:	83 e8 02             	sub    $0x2,%eax
4083ba:	7c 2b                	jl     0x4083e7
4083bc:	40                   	inc    %eax
4083bd:	bf 02 00 00 00       	mov    $0x2,%edi
4083c2:	8a 54 3e ff          	mov    -0x1(%esi,%edi,1),%dl
4083c6:	80 c2 d0             	add    $0xd0,%dl
4083c9:	80 ea 0a             	sub    $0xa,%dl
4083cc:	72 15                	jb     0x4083e3
4083ce:	80 c2 f9             	add    $0xf9,%dl
4083d1:	80 ea 1a             	sub    $0x1a,%dl
4083d4:	72 0d                	jb     0x4083e3
4083d6:	80 ea 04             	sub    $0x4,%dl
4083d9:	74 08                	je     0x4083e3
4083db:	80 c2 fe             	add    $0xfe,%dl
4083de:	80 ea 1a             	sub    $0x1a,%dl
4083e1:	73 06                	jae    0x4083e9
4083e3:	47                   	inc    %edi
4083e4:	48                   	dec    %eax
4083e5:	75 db                	jne    0x4083c2
4083e7:	b3 01                	mov    $0x1,%bl
4083e9:	8b c3                	mov    %ebx,%eax
4083eb:	5f                   	pop    %edi
4083ec:	5e                   	pop    %esi
4083ed:	5b                   	pop    %ebx
4083ee:	c3                   	ret
4083ef:	90                   	nop
4083f0:	08 c9                	or     %cl,%cl
4083f2:	75 17                	jne    0x40840b
4083f4:	09 c0                	or     %eax,%eax
4083f6:	79 0e                	jns    0x408406
4083f8:	f7 d8                	neg    %eax
4083fa:	e8 07 00 00 00       	call   0x408406
4083ff:	b0 2d                	mov    $0x2d,%al
408401:	41                   	inc    %ecx
408402:	4e                   	dec    %esi
408403:	88 06                	mov    %al,(%esi)
408405:	c3                   	ret
408406:	b9 0a 00 00 00       	mov    $0xa,%ecx
40840b:	52                   	push   %edx
40840c:	56                   	push   %esi
40840d:	31 d2                	xor    %edx,%edx
40840f:	f7 f1                	div    %ecx
408411:	4e                   	dec    %esi
408412:	80 c2 30             	add    $0x30,%dl
408415:	80 fa 3a             	cmp    $0x3a,%dl
408418:	72 03                	jb     0x40841d
40841a:	80 c2 07             	add    $0x7,%dl
40841d:	88 16                	mov    %dl,(%esi)
40841f:	09 c0                	or     %eax,%eax
408421:	75 ea                	jne    0x40840d
408423:	59                   	pop    %ecx
408424:	5a                   	pop    %edx
408425:	29 f1                	sub    %esi,%ecx
408427:	29 ca                	sub    %ecx,%edx
408429:	76 10                	jbe    0x40843b
40842b:	01 d1                	add    %edx,%ecx
40842d:	b0 30                	mov    $0x30,%al
40842f:	29 d6                	sub    %edx,%esi
408431:	eb 03                	jmp    0x408436
408433:	88 04 32             	mov    %al,(%edx,%esi,1)
408436:	4a                   	dec    %edx
408437:	75 fa                	jne    0x408433
408439:	88 06                	mov    %al,(%esi)
40843b:	c3                   	ret
40843c:	56                   	push   %esi
40843d:	89 e6                	mov    %esp,%esi
40843f:	83 ec 10             	sub    $0x10,%esp
408442:	31 c9                	xor    %ecx,%ecx
408444:	52                   	push   %edx
408445:	31 d2                	xor    %edx,%edx
408447:	e8 a4 ff ff ff       	call   0x4083f0
40844c:	89 f2                	mov    %esi,%edx
40844e:	58                   	pop    %eax
40844f:	e8 0c c2 ff ff       	call   0x404660
408454:	83 c4 10             	add    $0x10,%esp
408457:	5e                   	pop    %esi
408458:	c3                   	ret
408459:	8d 40 00             	lea    0x0(%eax),%eax
40845c:	08 c9                	or     %cl,%cl
40845e:	75 30                	jne    0x408490
408460:	b9 0a 00 00 00       	mov    $0xa,%ecx
408465:	f7 40 04 00 00 00 80 	testl  $0x80000000,0x4(%eax)
40846c:	74 22                	je     0x408490
40846e:	ff 70 04             	push   0x4(%eax)
408471:	ff 30                	push   (%eax)
408473:	89 e0                	mov    %esp,%eax
408475:	f7 1c 24             	negl   (%esp)
408478:	83 54 24 04 00       	adcl   $0x0,0x4(%esp)
40847d:	f7 5c 24 04          	negl   0x4(%esp)
408481:	e8 0a 00 00 00       	call   0x408490
408486:	c6 46 ff 2d          	movb   $0x2d,-0x1(%esi)
40848a:	4e                   	dec    %esi
40848b:	41                   	inc    %ecx
40848c:	83 c4 08             	add    $0x8,%esp
40848f:	c3                   	ret
408490:	56                   	push   %esi
408491:	83 ec 04             	sub    $0x4,%esp
408494:	d9 7c 24 02          	fnstcw 0x2(%esp)
408498:	d9 3c 24             	fnstcw (%esp)
40849b:	66 81 0c 24 00 0f    	orw    $0xf00,(%esp)
4084a1:	d9 2c 24             	fldcw  (%esp)
4084a4:	66 89 0c 24          	mov    %cx,(%esp)
4084a8:	d9 e8                	fld1
4084aa:	f7 40 04 00 00 00 80 	testl  $0x80000000,0x4(%eax)
4084b1:	74 27                	je     0x4084da
4084b3:	ff 70 04             	push   0x4(%eax)
4084b6:	ff 30                	push   (%eax)
4084b8:	81 64 24 04 ff ff ff 	andl   $0x7fffffff,0x4(%esp)
4084bf:	7f
4084c0:	68 ff ff ff 7f       	push   $0x7fffffff
4084c5:	68 ff ff ff ff       	push   $0xffffffff
4084ca:	df 6c 24 08          	fildll 0x8(%esp)
4084ce:	df 2c 24             	fildll (%esp)
4084d1:	d8 c2                	fadd   %st(2),%st
4084d3:	de c1                	faddp  %st,%st(1)
4084d5:	83 c4 10             	add    $0x10,%esp
4084d8:	eb 02                	jmp    0x4084dc
4084da:	df 28                	fildll (%eax)
4084dc:	df 04 24             	filds  (%esp)
4084df:	d9 c1                	fld    %st(1)
4084e1:	4e                   	dec    %esi
4084e2:	d9 f8                	fprem
4084e4:	df 1c 24             	fistps (%esp)
4084e7:	dc f9                	fdivr  %st,%st(1)
4084e9:	8a 04 24             	mov    (%esp),%al
4084ec:	04 30                	add    $0x30,%al
4084ee:	3c 3a                	cmp    $0x3a,%al
4084f0:	72 02                	jb     0x4084f4
4084f2:	04 07                	add    $0x7,%al
4084f4:	88 06                	mov    %al,(%esi)
4084f6:	d9 c1                	fld    %st(1)
4084f8:	d8 d3                	fcom   %st(3)
4084fa:	9b df e0             	fstsw  %ax
4084fd:	9e                   	sahf
4084fe:	73 e1                	jae    0x4084e1
408500:	d9 6c 24 02          	fldcw  0x2(%esp)
408504:	83 c4 04             	add    $0x4,%esp
408507:	dd c3                	ffree  %st(3)
408509:	dd c2                	ffree  %st(2)
40850b:	dd c1                	ffree  %st(1)
40850d:	dd c0                	ffree  %st(0)
40850f:	59                   	pop    %ecx
408510:	29 f1                	sub    %esi,%ecx
408512:	29 ca                	sub    %ecx,%edx
408514:	76 10                	jbe    0x408526
408516:	29 d6                	sub    %edx,%esi
408518:	b0 30                	mov    $0x30,%al
40851a:	01 d1                	add    %edx,%ecx
40851c:	eb 03                	jmp    0x408521
40851e:	88 04 32             	mov    %al,(%edx,%esi,1)
408521:	4a                   	dec    %edx
408522:	75 fa                	jne    0x40851e
408524:	88 06                	mov    %al,(%esi)
408526:	c3                   	ret
408527:	90                   	nop
408528:	55                   	push   %ebp
408529:	8b ec                	mov    %esp,%ebp
40852b:	56                   	push   %esi
40852c:	89 e6                	mov    %esp,%esi
40852e:	83 ec 20             	sub    $0x20,%esp
408531:	31 c9                	xor    %ecx,%ecx
408533:	50                   	push   %eax
408534:	31 d2                	xor    %edx,%edx
408536:	8d 45 08             	lea    0x8(%ebp),%eax
408539:	e8 1e ff ff ff       	call   0x40845c
40853e:	89 f2                	mov    %esi,%edx
408540:	58                   	pop    %eax
408541:	e8 1a c1 ff ff       	call   0x404660
408546:	83 c4 20             	add    $0x20,%esp
408549:	5e                   	pop    %esi
40854a:	5d                   	pop    %ebp
40854b:	c2 08 00             	ret    $0x8
40854e:	8b c0                	mov    %eax,%eax
408550:	83 fa 20             	cmp    $0x20,%edx
408553:	76 02                	jbe    0x408557
408555:	31 d2                	xor    %edx,%edx
408557:	56                   	push   %esi
408558:	89 e6                	mov    %esp,%esi
40855a:	83 ec 20             	sub    $0x20,%esp
40855d:	51                   	push   %ecx
40855e:	b9 10 00 00 00       	mov    $0x10,%ecx
408563:	e8 88 fe ff ff       	call   0x4083f0
408568:	89 f2                	mov    %esi,%edx
40856a:	58                   	pop    %eax
40856b:	e8 f0 c0 ff ff       	call   0x404660
408570:	83 c4 20             	add    $0x20,%esp
408573:	5e                   	pop    %esi
408574:	c3                   	ret
408575:	8d 40 00             	lea    0x0(%eax),%eax
408578:	53                   	push   %ebx
408579:	56                   	push   %esi
40857a:	83 c4 f4             	add    $0xfffffff4,%esp
40857d:	8b d8                	mov    %eax,%ebx
40857f:	8b d4                	mov    %esp,%edx
408581:	8b c3                	mov    %ebx,%eax
408583:	e8 3c aa ff ff       	call   0x402fc4
408588:	8b f0                	mov    %eax,%esi
40858a:	83 3c 24 00          	cmpl   $0x0,(%esp)
40858e:	74 19                	je     0x4085a9
408590:	89 5c 24 04          	mov    %ebx,0x4(%esp)
408594:	c6 44 24 08 0b       	movb   $0xb,0x8(%esp)
408599:	8d 54 24 04          	lea    0x4(%esp),%edx
40859d:	a1 dc 0a 46 00       	mov    0x460adc,%eax
4085a2:	33 c9                	xor    %ecx,%ecx
4085a4:	e8 3f fb ff ff       	call   0x4080e8
4085a9:	8b c6                	mov    %esi,%eax
4085ab:	83 c4 0c             	add    $0xc,%esp
4085ae:	5e                   	pop    %esi
4085af:	5b                   	pop    %ebx
4085b0:	c3                   	ret
4085b1:	8d 40 00             	lea    0x0(%eax),%eax
4085b4:	53                   	push   %ebx
4085b5:	51                   	push   %ecx
4085b6:	8b da                	mov    %edx,%ebx
4085b8:	8b d4                	mov    %esp,%edx
4085ba:	e8 05 aa ff ff       	call   0x402fc4
4085bf:	83 3c 24 00          	cmpl   $0x0,(%esp)
4085c3:	74 02                	je     0x4085c7
4085c5:	8b c3                	mov    %ebx,%eax
4085c7:	5a                   	pop    %edx
4085c8:	5b                   	pop    %ebx
4085c9:	c3                   	ret
4085ca:	8b c0                	mov    %eax,%eax
4085cc:	53                   	push   %ebx
4085cd:	56                   	push   %esi
4085ce:	51                   	push   %ecx
4085cf:	8b f2                	mov    %edx,%esi
4085d1:	8b d8                	mov    %eax,%ebx
4085d3:	8b d4                	mov    %esp,%edx
4085d5:	8b c3                	mov    %ebx,%eax
4085d7:	e8 e8 a9 ff ff       	call   0x402fc4
4085dc:	89 06                	mov    %eax,(%esi)
4085de:	83 3c 24 00          	cmpl   $0x0,(%esp)
4085e2:	0f 94 c0             	sete   %al
4085e5:	5a                   	pop    %edx
4085e6:	5e                   	pop    %esi
4085e7:	5b                   	pop    %ebx
4085e8:	c3                   	ret
4085e9:	8d 40 00             	lea    0x0(%eax),%eax
4085ec:	a1 8c 17 46 00       	mov    0x46178c,%eax
4085f1:	e8 46 cd ff ff       	call   0x40533c
4085f6:	85 c0                	test   %eax,%eax
4085f8:	75 29                	jne    0x408623
4085fa:	6a 01                	push   $0x1
4085fc:	b8 8c 17 46 00       	mov    $0x46178c,%eax
408601:	b9 01 00 00 00       	mov    $0x1,%ecx
408606:	8b 15 28 7f 40 00    	mov    0x407f28,%edx
40860c:	e8 07 cf ff ff       	call   0x405518