45029b:	d9 e8                	fld1
45029d:	dd 1c 24             	fstpl  (%esp)
4502a0:	50                   	push   %eax
4502a1:	6a 69                	push   $0x69
4502a3:	e8 53 95 fc ff       	call   0x4197fb
4502a8:	c7 45 e8 02 00 00 00 	movl   $0x2,-0x18(%ebp)
4502af:	c7 45 e4 58 35 40 00 	movl   $0x403558,-0x1c(%ebp)
4502b6:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4502b9:	6a 14                	push   $0x14
4502bb:	c7 45 fc 34 00 00 00 	movl   $0x34,-0x4(%ebp)
4502c2:	ff 15 14 74 4a 00    	call   *0x4a7414
4502c8:	59                   	pop    %ecx
4502c9:	89 45 f0             	mov    %eax,-0x10(%ebp)
4502cc:	c6 45 fc 35          	movb   $0x35,-0x4(%ebp)
4502d0:	85 c0                	test   %eax,%eax
4502d2:	74 0d                	je     0x4502e1
4502d4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4502d7:	51                   	push   %ecx
4502d8:	8b c8                	mov    %eax,%ecx
4502da:	e8 2b 67 02 00       	call   0x476a0a
4502df:	8b d8                	mov    %eax,%ebx
4502e1:	83 ec 10             	sub    $0x10,%esp
4502e4:	c6 45 fc 34          	movb   $0x34,-0x4(%ebp)
4502e8:	d9 e8                	fld1
4502ea:	8b ce                	mov    %esi,%ecx
4502ec:	dd 5c 24 08          	fstpl  0x8(%esp)
4502f0:	d9 ee                	fldz
4502f2:	dd 1c 24             	fstpl  (%esp)
4502f5:	53                   	push   %ebx
4502f6:	6a 6a                	push   $0x6a
4502f8:	e8 fe 94 fc ff       	call   0x4197fb
4502fd:	e8 9f 01 04 00       	call   0x4904a1
450302:	c3                   	ret
450303:	8b ff                	mov    %edi,%edi
450305:	55                   	push   %ebp
450306:	8b ec                	mov    %esp,%ebp
450308:	51                   	push   %ecx
450309:	51                   	push   %ecx
45030a:	53                   	push   %ebx
45030b:	8b 5d 08             	mov    0x8(%ebp),%ebx
45030e:	8d 45 fc             	lea    -0x4(%ebp),%eax
450311:	56                   	push   %esi
450312:	57                   	push   %edi
450313:	50                   	push   %eax
450314:	8d b1 14 06 00 00    	lea    0x614(%ecx),%esi
45031a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45031d:	8d 45 f8             	lea    -0x8(%ebp),%eax
450320:	8b ce                	mov    %esi,%ecx
450322:	50                   	push   %eax
450323:	33 ff                	xor    %edi,%edi
450325:	e8 14 a5 fc ff       	call   0x41a83e
45032a:	8b 45 f8             	mov    -0x8(%ebp),%eax
45032d:	3b 46 04             	cmp    0x4(%esi),%eax
450330:	74 05                	je     0x450337
450332:	3b 58 0c             	cmp    0xc(%eax),%ebx
450335:	7d 03                	jge    0x45033a
450337:	8b 46 04             	mov    0x4(%esi),%eax
45033a:	3b 46 04             	cmp    0x4(%esi),%eax
45033d:	74 03                	je     0x450342
45033f:	8b 78 10             	mov    0x10(%eax),%edi
450342:	8b c7                	mov    %edi,%eax
450344:	5f                   	pop    %edi
450345:	5e                   	pop    %esi
450346:	5b                   	pop    %ebx
450347:	c9                   	leave
450348:	c2 04 00             	ret    $0x4
45034b:	8b ff                	mov    %edi,%edi
45034d:	55                   	push   %ebp
45034e:	8b ec                	mov    %esp,%ebp
450350:	51                   	push   %ecx
450351:	51                   	push   %ecx
450352:	53                   	push   %ebx
450353:	56                   	push   %esi
450354:	57                   	push   %edi
450355:	8b 7d 08             	mov    0x8(%ebp),%edi
450358:	8d 45 fc             	lea    -0x4(%ebp),%eax
45035b:	50                   	push   %eax
45035c:	8d b1 14 06 00 00    	lea    0x614(%ecx),%esi
450362:	89 7d fc             	mov    %edi,-0x4(%ebp)
450365:	8d 45 f8             	lea    -0x8(%ebp),%eax
450368:	8b ce                	mov    %esi,%ecx
45036a:	50                   	push   %eax
45036b:	32 db                	xor    %bl,%bl
45036d:	e8 cc a4 fc ff       	call   0x41a83e
450372:	8b 4d f8             	mov    -0x8(%ebp),%ecx
450375:	3b 4e 04             	cmp    0x4(%esi),%ecx
450378:	74 05                	je     0x45037f
45037a:	3b 79 0c             	cmp    0xc(%ecx),%edi
45037d:	7d 03                	jge    0x450382
45037f:	8b 4e 04             	mov    0x4(%esi),%ecx
450382:	3b 4e 04             	cmp    0x4(%esi),%ecx
450385:	74 1b                	je     0x4503a2
450387:	8b 41 18             	mov    0x18(%ecx),%eax
45038a:	85 c0                	test   %eax,%eax
45038c:	74 14                	je     0x4503a2
45038e:	dd 00                	fldl   (%eax)
450390:	b3 01                	mov    $0x1,%bl
450392:	8b 45 0c             	mov    0xc(%ebp),%eax
450395:	dd 18                	fstpl  (%eax)
450397:	8b 41 18             	mov    0x18(%ecx),%eax
45039a:	dd 40 08             	fldl   0x8(%eax)
45039d:	8b 45 10             	mov    0x10(%ebp),%eax
4503a0:	dd 18                	fstpl  (%eax)
4503a2:	5f                   	pop    %edi
4503a3:	5e                   	pop    %esi
4503a4:	8a c3                	mov    %bl,%al
4503a6:	5b                   	pop    %ebx
4503a7:	c9                   	leave
4503a8:	c2 0c 00             	ret    $0xc
4503ab:	8b ff                	mov    %edi,%edi
4503ad:	55                   	push   %ebp
4503ae:	8b ec                	mov    %esp,%ebp
4503b0:	83 e4 f8             	and    $0xfffffff8,%esp
4503b3:	83 ec 0c             	sub    $0xc,%esp
4503b6:	53                   	push   %ebx
4503b7:	56                   	push   %esi
4503b8:	57                   	push   %edi
4503b9:	8b d9                	mov    %ecx,%ebx
4503bb:	6a 56                	push   $0x56
4503bd:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4503c1:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
4503c7:	85 c0                	test   %eax,%eax
4503c9:	8b cb                	mov    %ebx,%ecx
4503cb:	0f 95 c0             	setne  %al
4503ce:	88 83 0e 06 00 00    	mov    %al,0x60e(%ebx)
4503d4:	e8 64 f5 ff ff       	call   0x44f93d
4503d9:	6a 08                	push   $0x8
4503db:	ff 15 14 74 4a 00    	call   *0x4a7414
4503e1:	8b f0                	mov    %eax,%esi
4503e3:	89 74 24 14          	mov    %esi,0x14(%esp)
4503e7:	59                   	pop    %ecx
4503e8:	85 f6                	test   %esi,%esi
4503ea:	74 09                	je     0x4503f5
4503ec:	83 26 00             	andl   $0x0,(%esi)
4503ef:	83 66 04 00          	andl   $0x0,0x4(%esi)
4503f3:	eb 02                	jmp    0x4503f7
4503f5:	33 f6                	xor    %esi,%esi
4503f7:	8d bb 00 01 00 00    	lea    0x100(%ebx),%edi
4503fd:	89 74 24 10          	mov    %esi,0x10(%esp)
450401:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
450405:	8b 47 08             	mov    0x8(%edi),%eax
450408:	74 1f                	je     0x450429
45040a:	8b 4f 0c             	mov    0xc(%edi),%ecx
45040d:	8b d0                	mov    %eax,%edx
45040f:	2b 57 04             	sub    0x4(%edi),%edx
450412:	2b 4f 04             	sub    0x4(%edi),%ecx
450415:	c1 fa 02             	sar    $0x2,%edx
450418:	c1 f9 02             	sar    $0x2,%ecx
45041b:	3b d1                	cmp    %ecx,%edx
45041d:	73 0a                	jae    0x450429
45041f:	8d 48 04             	lea    0x4(%eax),%ecx
450422:	89 30                	mov    %esi,(%eax)
450424:	89 4f 08             	mov    %ecx,0x8(%edi)
450427:	eb 12                	jmp    0x45043b
450429:	8d 4c 24 10          	lea    0x10(%esp),%ecx
45042d:	51                   	push   %ecx
45042e:	51                   	push   %ecx
45042f:	50                   	push   %eax
450430:	8b cf                	mov    %edi,%ecx
450432:	e8 8b d5 fc ff       	call   0x41d9c2
450437:	8b 74 24 10          	mov    0x10(%esp),%esi
45043b:	8b 7c 24 14          	mov    0x14(%esp),%edi
45043f:	81 c3 f0 00 00 00    	add    $0xf0,%ebx
450445:	81 c7 14 01 00 00    	add    $0x114,%edi
45044b:	c7 46 04 60 85 43 00 	movl   $0x438560,0x4(%esi)
450452:	57                   	push   %edi
450453:	83 67 14 00          	andl   $0x0,0x14(%edi)
450457:	8b 03                	mov    (%ebx),%eax
450459:	8b 30                	mov    (%eax),%esi
45045b:	8b ce                	mov    %esi,%ecx
45045d:	ff 15 2c 81 4a 00    	call   *0x4a812c
450463:	8b cb                	mov    %ebx,%ecx
450465:	ff d6                	call   *%esi
450467:	89 5f 18             	mov    %ebx,0x18(%edi)
45046a:	8b 5c 24 14          	mov    0x14(%esp),%ebx
45046e:	8d 8b 2c 06 00 00    	lea    0x62c(%ebx),%ecx
450474:	e8 8d e0 00 00       	call   0x45e506
450479:	8d 8b 38 06 00 00    	lea    0x638(%ebx),%ecx
45047f:	e8 99 50 fd ff       	call   0x42551d
450484:	8d 8b 44 06 00 00    	lea    0x644(%ebx),%ecx
45048a:	e8 d7 21 01 00       	call   0x462666
45048f:	8b cb                	mov    %ebx,%ecx
450491:	e8 9b 00 00 00       	call   0x450531
450496:	8b cb                	mov    %ebx,%ecx
450498:	e8 ee 0d 00 00       	call   0x45128b
45049d:	6a 00                	push   $0x0
45049f:	6a 02                	push   $0x2
4504a1:	68 00 3c 4a 00       	push   $0x4a3c00
4504a6:	ff 15 04 81 4a 00    	call   *0x4a8104
4504ac:	5f                   	pop    %edi
4504ad:	5e                   	pop    %esi
4504ae:	5b                   	pop    %ebx
4504af:	8b e5                	mov    %ebp,%esp
4504b1:	5d                   	pop    %ebp
4504b2:	c3                   	ret
4504b3:	8b ff                	mov    %edi,%edi
4504b5:	55                   	push   %ebp
4504b6:	8b ec                	mov    %esp,%ebp
4504b8:	83 ec 0c             	sub    $0xc,%esp
4504bb:	53                   	push   %ebx
4504bc:	56                   	push   %esi
4504bd:	8b 75 08             	mov    0x8(%ebp),%esi
4504c0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4504c3:	8b d9                	mov    %ecx,%ebx
4504c5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4504c8:	57                   	push   %edi
4504c9:	50                   	push   %eax
4504ca:	8d 45 f4             	lea    -0xc(%ebp),%eax
4504cd:	8d bb 20 06 00 00    	lea    0x620(%ebx),%edi
4504d3:	50                   	push   %eax
4504d4:	8b cf                	mov    %edi,%ecx
4504d6:	e8 d6 05 01 00       	call   0x460ab1
4504db:	8b 45 f4             	mov    -0xc(%ebp),%eax
4504de:	3b 47 04             	cmp    0x4(%edi),%eax
4504e1:	74 05                	je     0x4504e8
4504e3:	3b 70 0c             	cmp    0xc(%eax),%esi
4504e6:	7d 19                	jge    0x450501
4504e8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4504ec:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4504ef:	51                   	push   %ecx
4504f0:	50                   	push   %eax
4504f1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4504f4:	89 75 f8             	mov    %esi,-0x8(%ebp)
4504f7:	50                   	push   %eax
4504f8:	8b cf                	mov    %edi,%ecx
4504fa:	e8 e5 05 01 00       	call   0x460ae4
4504ff:	8b 00                	mov    (%eax),%eax
450501:	8b 7d 0c             	mov    0xc(%ebp),%edi
450504:	8d 93 14 01 00 00    	lea    0x114(%ebx),%edx
45050a:	f7 da                	neg    %edx
45050c:	89 78 10             	mov    %edi,0x10(%eax)
45050f:	8d 83 18 01 00 00    	lea    0x118(%ebx),%eax
450515:	1b d2                	sbb    %edx,%edx
450517:	8b 37                	mov    (%edi),%esi
450519:	23 d0                	and    %eax,%edx
45051b:	52                   	push   %edx
45051c:	8b 4e 70             	mov    0x70(%esi),%ecx
45051f:	ff 15 2c 81 4a 00    	call   *0x4a812c
450525:	8b cf                	mov    %edi,%ecx
450527:	ff 56 70             	call   *0x70(%esi)
45052a:	5f                   	pop    %edi
45052b:	5e                   	pop    %esi
45052c:	5b                   	pop    %ebx
45052d:	c9                   	leave
45052e:	c2 08 00             	ret    $0x8
450531:	6a 5c                	push   $0x5c
450533:	b8 b3 3a 49 00       	mov    $0x493ab3,%eax
450538:	e8 96 ff 03 00       	call   0x4904d3
45053d:	8b f9                	mov    %ecx,%edi
45053f:	6a 5c                	push   $0x5c
450541:	ff 15 14 74 4a 00    	call   *0x4a7414
450547:	59                   	pop    %ecx
450548:	89 45 ec             	mov    %eax,-0x14(%ebp)
45054b:	33 f6                	xor    %esi,%esi
45054d:	89 75 fc             	mov    %esi,-0x4(%ebp)
450550:	85 c0                	test   %eax,%eax
450552:	74 0a                	je     0x45055e
450554:	51                   	push   %ecx
450555:	8b c8                	mov    %eax,%ecx
450557:	e8 cf 9c 02 00       	call   0x47a22b
45055c:	eb 02                	jmp    0x450560
45055e:	8b c6                	mov    %esi,%eax
450560:	50                   	push   %eax
450561:	83 cb ff             	or     $0xffffffff,%ebx
450564:	8b cf                	mov    %edi,%ecx
450566:	68 60 02 00 00       	push   $0x260
45056b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45056e:	e8 40 ff ff ff       	call   0x4504b3
450573:	6a 58                	push   $0x58
450575:	ff 15 14 74 4a 00    	call   *0x4a7414
45057b:	59                   	pop    %ecx
45057c:	89 45 ec             	mov    %eax,-0x14(%ebp)
45057f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
450586:	85 c0                	test   %eax,%eax
450588:	74 0a                	je     0x450594
45058a:	51                   	push   %ecx
45058b:	8b c8                	mov    %eax,%ecx
45058d:	e8 97 a1 02 00       	call   0x47a729
450592:	eb 02                	jmp    0x450596
450594:	8b c6                	mov    %esi,%eax
450596:	50                   	push   %eax
450597:	68 8b 02 00 00       	push   $0x28b
45059c:	8b cf                	mov    %edi,%ecx
45059e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4505a1:	e8 0d ff ff ff       	call   0x4504b3
4505a6:	6a 58                	push   $0x58
4505a8:	ff 15 14 74 4a 00    	call   *0x4a7414
4505ae:	59                   	pop    %ecx
4505af:	89 45 ec             	mov    %eax,-0x14(%ebp)
4505b2:	6a 02                	push   $0x2
4505b4:	59                   	pop    %ecx
4505b5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4505b8:	85 c0                	test   %eax,%eax
4505ba:	74 0f                	je     0x4505cb
4505bc:	51                   	push   %ecx
4505bd:	68 8c 02 00 00       	push   $0x28c
4505c2:	8b c8                	mov    %eax,%ecx
4505c4:	e8 87 a3 02 00       	call   0x47a950
4505c9:	eb 02                	jmp    0x4505cd
4505cb:	8b c6                	mov    %esi,%eax
4505cd:	50                   	push   %eax
4505ce:	68 8c 02 00 00       	push   $0x28c
4505d3:	8b cf                	mov    %edi,%ecx
4505d5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4505d8:	e8 d6 fe ff ff       	call   0x4504b3
4505dd:	6a 58                	push   $0x58
4505df:	ff 15 14 74 4a 00    	call   *0x4a7414
4505e5:	59                   	pop    %ecx
4505e6:	89 45 ec             	mov    %eax,-0x14(%ebp)
4505e9:	6a 03                	push   $0x3
4505eb:	59                   	pop    %ecx
4505ec:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4505ef:	85 c0                	test   %eax,%eax
4505f1:	74 0f                	je     0x450602
4505f3:	51                   	push   %ecx
4505f4:	68 8d 02 00 00       	push   $0x28d
4505f9:	8b c8                	mov    %eax,%ecx
4505fb:	e8 50 a3 02 00       	call   0x47a950
450600:	eb 02                	jmp    0x450604
450602:	8b c6                	mov    %esi,%eax
450604:	50                   	push   %eax
450605:	68 8d 02 00 00       	push   $0x28d
45060a:	8b cf                	mov    %edi,%ecx
45060c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45060f:	e8 9f fe ff ff       	call   0x4504b3
450614:	68 90 00 00 00       	push   $0x90
450619:	ff 15 14 74 4a 00    	call   *0x4a7414
45061f:	59                   	pop    %ecx
450620:	89 45 ec             	mov    %eax,-0x14(%ebp)
450623:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
45062a:	85 c0                	test   %eax,%eax
45062c:	74 0a                	je     0x450638
45062e:	51                   	push   %ecx
45062f:	8b c8                	mov    %eax,%ecx
450631:	e8 ea a4 02 00       	call   0x47ab20
450636:	eb 02                	jmp    0x45063a
450638:	8b c6                	mov    %esi,%eax
45063a:	50                   	push   %eax
45063b:	68 bd 02 00 00       	push   $0x2bd
450640:	8b cf                	mov    %edi,%ecx
450642:	89 5d fc             	mov    %ebx,-0x4(%ebp)
450645:	e8 69 fe ff ff       	call   0x4504b3
45064a:	68 90 00 00 00       	push   $0x90
45064f:	ff 15 14 74 4a 00    	call   *0x4a7414
450655:	59                   	pop    %ecx
450656:	89 45 ec             	mov    %eax,-0x14(%ebp)
450659:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
450660:	85 c0                	test   %eax,%eax
450662:	74 0a                	je     0x45066e
450664:	51                   	push   %ecx