41f307:	83 c4 04             	add    $0x4,%esp
41f30a:	8b 5d d8             	mov    -0x28(%ebp),%ebx
41f30d:	85 db                	test   %ebx,%ebx
41f30f:	74 09                	je     0x41f31a
41f311:	53                   	push   %ebx
41f312:	e8 8d 12 08 00       	call   0x4a05a4
41f317:	83 c4 04             	add    $0x4,%esp
41f31a:	8b 5d dc             	mov    -0x24(%ebp),%ebx
41f31d:	85 db                	test   %ebx,%ebx
41f31f:	74 09                	je     0x41f32a
41f321:	53                   	push   %ebx
41f322:	e8 7d 12 08 00       	call   0x4a05a4
41f327:	83 c4 04             	add    $0x4,%esp
41f32a:	68 05 00 00 80       	push   $0x80000005
41f32f:	6a 00                	push   $0x0
41f331:	8b 45 c0             	mov    -0x40(%ebp),%eax
41f334:	85 c0                	test   %eax,%eax
41f336:	75 05                	jne    0x41f33d
41f338:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
41f33d:	50                   	push   %eax
41f33e:	68 01 00 00 00       	push   $0x1
41f343:	bb 68 01 00 00       	mov    $0x168,%ebx
41f348:	e8 a3 1d 08 00       	call   0x4a10f0
41f34d:	83 c4 10             	add    $0x10,%esp
41f350:	89 45 bc             	mov    %eax,-0x44(%ebp)
41f353:	8b 5d c0             	mov    -0x40(%ebp),%ebx
41f356:	85 db                	test   %ebx,%ebx
41f358:	74 09                	je     0x41f363
41f35a:	53                   	push   %ebx
41f35b:	e8 44 12 08 00       	call   0x4a05a4
41f360:	83 c4 04             	add    $0x4,%esp
41f363:	8b 45 bc             	mov    -0x44(%ebp),%eax
41f366:	50                   	push   %eax
41f367:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41f36a:	85 db                	test   %ebx,%ebx
41f36c:	74 09                	je     0x41f377
41f36e:	53                   	push   %ebx
41f36f:	e8 30 12 08 00       	call   0x4a05a4
41f374:	83 c4 04             	add    $0x4,%esp
41f377:	58                   	pop    %eax
41f378:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f37b:	8d 45 f8             	lea    -0x8(%ebp),%eax
41f37e:	50                   	push   %eax
41f37f:	e8 7d eb ff ff       	call   0x41df01
41f384:	89 45 ec             	mov    %eax,-0x14(%ebp)
41f387:	8b 45 ec             	mov    -0x14(%ebp),%eax
41f38a:	50                   	push   %eax
41f38b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41f38e:	85 db                	test   %ebx,%ebx
41f390:	74 09                	je     0x41f39b
41f392:	53                   	push   %ebx
41f393:	e8 0c 12 08 00       	call   0x4a05a4
41f398:	83 c4 04             	add    $0x4,%esp
41f39b:	58                   	pop    %eax
41f39c:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f39f:	8d 45 f4             	lea    -0xc(%ebp),%eax
41f3a2:	50                   	push   %eax
41f3a3:	68 60 99 50 00       	push   $0x509960
41f3a8:	8b 04 24             	mov    (%esp),%eax
41f3ab:	8b 00                	mov    (%eax),%eax
41f3ad:	8b 00                	mov    (%eax),%eax
41f3af:	ff 50 0c             	call   *0xc(%eax)
41f3b2:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
41f3b9:	6a 00                	push   $0x0
41f3bb:	ff 75 ec             	push   -0x14(%ebp)
41f3be:	6a 01                	push   $0x1
41f3c0:	b8 0e 47 4e 00       	mov    $0x4e470e,%eax
41f3c5:	89 45 e8             	mov    %eax,-0x18(%ebp)
41f3c8:	8d 45 e8             	lea    -0x18(%ebp),%eax
41f3cb:	50                   	push   %eax
41f3cc:	68 60 99 50 00       	push   $0x509960
41f3d1:	8b 04 24             	mov    (%esp),%eax
41f3d4:	8b 00                	mov    (%eax),%eax
41f3d6:	8b 00                	mov    (%eax),%eax
41f3d8:	ff 50 28             	call   *0x28(%eax)
41f3db:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f3de:	8b 5d e8             	mov    -0x18(%ebp),%ebx
41f3e1:	85 db                	test   %ebx,%ebx
41f3e3:	74 09                	je     0x41f3ee
41f3e5:	53                   	push   %ebx
41f3e6:	e8 b9 11 08 00       	call   0x4a05a4
41f3eb:	83 c4 04             	add    $0x4,%esp
41f3ee:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41f3f1:	50                   	push   %eax
41f3f2:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41f3f5:	85 db                	test   %ebx,%ebx
41f3f7:	74 09                	je     0x41f402
41f3f9:	53                   	push   %ebx
41f3fa:	e8 a5 11 08 00       	call   0x4a05a4
41f3ff:	83 c4 04             	add    $0x4,%esp
41f402:	58                   	pop    %eax
41f403:	89 45 f0             	mov    %eax,-0x10(%ebp)
41f406:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
41f40d:	6a 00                	push   $0x0
41f40f:	ff 75 ec             	push   -0x14(%ebp)
41f412:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
41f419:	6a 00                	push   $0x0
41f41b:	ff 75 e8             	push   -0x18(%ebp)
41f41e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41f425:	6a 00                	push   $0x0
41f427:	ff 75 e4             	push   -0x1c(%ebp)
41f42a:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41f431:	6a 00                	push   $0x0
41f433:	ff 75 e0             	push   -0x20(%ebp)
41f436:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
41f43d:	6a 00                	push   $0x0
41f43f:	ff 75 dc             	push   -0x24(%ebp)
41f442:	68 08 00 00 00       	push   $0x8
41f447:	e8 52 11 08 00       	call   0x4a059e
41f44c:	83 c4 04             	add    $0x4,%esp
41f44f:	89 45 d8             	mov    %eax,-0x28(%ebp)
41f452:	8b f8                	mov    %eax,%edi
41f454:	be 51 34 4c 00       	mov    $0x4c3451,%esi
41f459:	ad                   	lods   %ds:(%esi),%eax
41f45a:	ab                   	stos   %eax,%es:(%edi)
41f45b:	ad                   	lods   %ds:(%esi),%eax
41f45c:	ab                   	stos   %eax,%es:(%edi)
41f45d:	6a 00                	push   $0x0
41f45f:	8d 45 d8             	lea    -0x28(%ebp),%eax
41f462:	50                   	push   %eax
41f463:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
41f46a:	6a 00                	push   $0x0
41f46c:	ff 75 d4             	push   -0x2c(%ebp)
41f46f:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
41f476:	6a 00                	push   $0x0
41f478:	8d 45 d0             	lea    -0x30(%ebp),%eax
41f47b:	50                   	push   %eax
41f47c:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
41f483:	6a 00                	push   $0x0
41f485:	ff 75 cc             	push   -0x34(%ebp)
41f488:	b8 f9 48 4e 00       	mov    $0x4e48f9,%eax
41f48d:	89 45 c8             	mov    %eax,-0x38(%ebp)
41f490:	8d 45 c8             	lea    -0x38(%ebp),%eax
41f493:	50                   	push   %eax
41f494:	6a 01                	push   $0x1
41f496:	ff 35 38 99 50 00    	push   0x509938
41f49c:	e8 f8 4d ff ff       	call   0x414299
41f4a1:	8b 5d c8             	mov    -0x38(%ebp),%ebx
41f4a4:	85 db                	test   %ebx,%ebx
41f4a6:	74 09                	je     0x41f4b1
41f4a8:	53                   	push   %ebx
41f4a9:	e8 f6 10 08 00       	call   0x4a05a4
41f4ae:	83 c4 04             	add    $0x4,%esp
41f4b1:	8b 5d d0             	mov    -0x30(%ebp),%ebx
41f4b4:	85 db                	test   %ebx,%ebx
41f4b6:	74 09                	je     0x41f4c1
41f4b8:	53                   	push   %ebx
41f4b9:	e8 e6 10 08 00       	call   0x4a05a4
41f4be:	83 c4 04             	add    $0x4,%esp
41f4c1:	8b 5d d8             	mov    -0x28(%ebp),%ebx
41f4c4:	53                   	push   %ebx
41f4c5:	8b 0b                	mov    (%ebx),%ecx
41f4c7:	83 c3 04             	add    $0x4,%ebx
41f4ca:	85 c9                	test   %ecx,%ecx
41f4cc:	74 11                	je     0x41f4df
41f4ce:	8b 03                	mov    (%ebx),%eax
41f4d0:	83 c3 04             	add    $0x4,%ebx
41f4d3:	49                   	dec    %ecx
41f4d4:	74 05                	je     0x41f4db
41f4d6:	0f af 03             	imul   (%ebx),%eax
41f4d9:	eb f5                	jmp    0x41f4d0
41f4db:	8b c8                	mov    %eax,%ecx
41f4dd:	85 c9                	test   %ecx,%ecx
41f4df:	0f 84 19 00 00 00    	je     0x41f4fe
41f4e5:	51                   	push   %ecx
41f4e6:	8b 03                	mov    (%ebx),%eax
41f4e8:	85 c0                	test   %eax,%eax
41f4ea:	74 0b                	je     0x41f4f7
41f4ec:	53                   	push   %ebx
41f4ed:	50                   	push   %eax
41f4ee:	e8 b1 10 08 00       	call   0x4a05a4
41f4f3:	83 c4 04             	add    $0x4,%esp
41f4f6:	5b                   	pop    %ebx
41f4f7:	83 c3 04             	add    $0x4,%ebx
41f4fa:	59                   	pop    %ecx
41f4fb:	49                   	dec    %ecx
41f4fc:	75 e7                	jne    0x41f4e5
41f4fe:	e8 a1 10 08 00       	call   0x4a05a4
41f503:	83 c4 04             	add    $0x4,%esp
41f506:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41f509:	85 db                	test   %ebx,%ebx
41f50b:	74 09                	je     0x41f516
41f50d:	53                   	push   %ebx
41f50e:	e8 91 10 08 00       	call   0x4a05a4
41f513:	83 c4 04             	add    $0x4,%esp
41f516:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41f519:	85 db                	test   %ebx,%ebx
41f51b:	74 09                	je     0x41f526
41f51d:	53                   	push   %ebx
41f51e:	e8 81 10 08 00       	call   0x4a05a4
41f523:	83 c4 04             	add    $0x4,%esp
41f526:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41f529:	85 db                	test   %ebx,%ebx
41f52b:	74 09                	je     0x41f536
41f52d:	53                   	push   %ebx
41f52e:	e8 71 10 08 00       	call   0x4a05a4
41f533:	83 c4 04             	add    $0x4,%esp
41f536:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41f539:	85 db                	test   %ebx,%ebx
41f53b:	74 09                	je     0x41f546
41f53d:	53                   	push   %ebx
41f53e:	e8 61 10 08 00       	call   0x4a05a4
41f543:	83 c4 04             	add    $0x4,%esp
41f546:	8b e5                	mov    %ebp,%esp
41f548:	5d                   	pop    %ebp
41f549:	c3                   	ret
41f54a:	56                   	push   %esi
41f54b:	57                   	push   %edi
41f54c:	53                   	push   %ebx
41f54d:	8d 74 24 10          	lea    0x10(%esp),%esi
41f551:	83 ec 04             	sub    $0x4,%esp
41f554:	8b fc                	mov    %esp,%edi
41f556:	fc                   	cld
41f557:	b9 01 00 00 00       	mov    $0x1,%ecx
41f55c:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41f55e:	e8 9f ae ff ff       	call   0x41a402
41f563:	5b                   	pop    %ebx
41f564:	5f                   	pop    %edi
41f565:	5e                   	pop    %esi
41f566:	c2 04 00             	ret    $0x4
41f569:	55                   	push   %ebp
41f56a:	8b ec                	mov    %esp,%ebp
41f56c:	81 ec 54 00 00 00    	sub    $0x54,%esp
41f572:	68 08 00 00 00       	push   $0x8
41f577:	e8 22 10 08 00       	call   0x4a059e
41f57c:	83 c4 04             	add    $0x4,%esp
41f57f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f582:	8b f8                	mov    %eax,%edi
41f584:	be 51 34 4c 00       	mov    $0x4c3451,%esi
41f589:	ad                   	lods   %ds:(%esi),%eax
41f58a:	ab                   	stos   %eax,%es:(%edi)
41f58b:	ad                   	lods   %ds:(%esi),%eax
41f58c:	ab                   	stos   %eax,%es:(%edi)
41f58d:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
41f594:	68 10 00 00 00       	push   $0x10
41f599:	e8 00 10 08 00       	call   0x4a059e
41f59e:	83 c4 04             	add    $0x4,%esp
41f5a1:	89 45 f4             	mov    %eax,-0xc(%ebp)
41f5a4:	8b d8                	mov    %eax,%ebx
41f5a6:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
41f5ac:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
41f5b3:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
41f5ba:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
41f5c1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
41f5c8:	b8 06 49 4e 00       	mov    $0x4e4906,%eax
41f5cd:	50                   	push   %eax
41f5ce:	8b d8                	mov    %eax,%ebx
41f5d0:	e8 1e 41 fe ff       	call   0x4036f3
41f5d5:	58                   	pop    %eax
41f5d6:	2b d8                	sub    %eax,%ebx
41f5d8:	51                   	push   %ecx
41f5d9:	53                   	push   %ebx
41f5da:	50                   	push   %eax
41f5db:	c1 e1 02             	shl    $0x2,%ecx
41f5de:	03 cb                	add    %ebx,%ecx
41f5e0:	51                   	push   %ecx
41f5e1:	e8 b8 0f 08 00       	call   0x4a059e
41f5e6:	83 c4 04             	add    $0x4,%esp
41f5e9:	5e                   	pop    %esi
41f5ea:	8b f8                	mov    %eax,%edi
41f5ec:	59                   	pop    %ecx
41f5ed:	c1 e9 02             	shr    $0x2,%ecx
41f5f0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41f5f2:	59                   	pop    %ecx
41f5f3:	85 c9                	test   %ecx,%ecx
41f5f5:	0f 84 2a 00 00 00    	je     0x41f625
41f5fb:	50                   	push   %eax
41f5fc:	ad                   	lods   %ds:(%esi),%eax
41f5fd:	56                   	push   %esi
41f5fe:	57                   	push   %edi
41f5ff:	51                   	push   %ecx
41f600:	85 c0                	test   %eax,%eax
41f602:	74 15                	je     0x41f619
41f604:	50                   	push   %eax
41f605:	8b d8                	mov    %eax,%ebx
41f607:	e8 18 64 fe ff       	call   0x405a24
41f60c:	40                   	inc    %eax
41f60d:	50                   	push   %eax
41f60e:	e8 8b 0f 08 00       	call   0x4a059e
41f613:	59                   	pop    %ecx
41f614:	5e                   	pop    %esi
41f615:	8b f8                	mov    %eax,%edi
41f617:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41f619:	59                   	pop    %ecx
41f61a:	5f                   	pop    %edi
41f61b:	5e                   	pop    %esi
41f61c:	ab                   	stos   %eax,%es:(%edi)
41f61d:	49                   	dec    %ecx
41f61e:	0f 85 d8 ff ff ff    	jne    0x41f5fc
41f624:	58                   	pop    %eax
41f625:	50                   	push   %eax
41f626:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41f629:	53                   	push   %ebx
41f62a:	8b 0b                	mov    (%ebx),%ecx
41f62c:	83 c3 04             	add    $0x4,%ebx
41f62f:	85 c9                	test   %ecx,%ecx
41f631:	74 11                	je     0x41f644
41f633:	8b 03                	mov    (%ebx),%eax
41f635:	83 c3 04             	add    $0x4,%ebx
41f638:	49                   	dec    %ecx
41f639:	74 05                	je     0x41f640
41f63b:	0f af 03             	imul   (%ebx),%eax
41f63e:	eb f5                	jmp    0x41f635
41f640:	8b c8                	mov    %eax,%ecx
41f642:	85 c9                	test   %ecx,%ecx
41f644:	0f 84 19 00 00 00    	je     0x41f663
41f64a:	51                   	push   %ecx
41f64b:	8b 03                	mov    (%ebx),%eax
41f64d:	85 c0                	test   %eax,%eax
41f64f:	74 0b                	je     0x41f65c
41f651:	53                   	push   %ebx
41f652:	50                   	push   %eax
41f653:	e8 4c 0f 08 00       	call   0x4a05a4
41f658:	83 c4 04             	add    $0x4,%esp
41f65b:	5b                   	pop    %ebx
41f65c:	83 c3 04             	add    $0x4,%ebx
41f65f:	59                   	pop    %ecx
41f660:	49                   	dec    %ecx
41f661:	75 e7                	jne    0x41f64a
41f663:	e8 3c 0f 08 00       	call   0x4a05a4
41f668:	83 c4 04             	add    $0x4,%esp
41f66b:	58                   	pop    %eax
41f66c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f66f:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41f672:	e8 7c 40 fe ff       	call   0x4036f3
41f677:	b8 00 00 00 00       	mov    $0x0,%eax
41f67c:	3b c1                	cmp    %ecx,%eax
41f67e:	7c 17                	jl     0x41f697
41f680:	68 45 00 00 00       	push   $0x45
41f685:	68 55 27 01 04       	push   $0x4012755
41f68a:	68 01 00 00 00       	push   $0x1
41f68f:	e8 16 0f 08 00       	call   0x4a05aa
41f694:	83 c4 0c             	add    $0xc,%esp
41f697:	c1 e0 02             	shl    $0x2,%eax
41f69a:	03 d8                	add    %eax,%ebx
41f69c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41f69f:	db 45 08             	fildl  0x8(%ebp)
41f6a2:	dd 5d e4             	fstpl  -0x1c(%ebp)
41f6a5:	dd 45 e4             	fldl   -0x1c(%ebp)
41f6a8:	dc 05 52 ea 4d 00    	faddl  0x4dea52
41f6ae:	dd 5d dc             	fstpl  -0x24(%ebp)
41f6b1:	db 45 0c             	fildl  0xc(%ebp)
41f6b4:	dd 5d d4             	fstpl  -0x2c(%ebp)
41f6b7:	dd 45 d4             	fldl   -0x2c(%ebp)
41f6ba:	dc 05 12 49 4e 00    	faddl  0x4e4912
41f6c0:	dd 5d cc             	fstpl  -0x34(%ebp)
41f6c3:	6a 01                	push   $0x1
41f6c5:	68 01 00 00 00       	push   $0x1
41f6ca:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
41f6d1:	6a 00                	push   $0x0