4101a5:	85 c0                	test   %eax,%eax
4101a7:	74 13                	je     0x4101bc
4101a9:	50                   	push   %eax
4101aa:	8b 40 04             	mov    0x4(%eax),%eax
4101ad:	83 c0 08             	add    $0x8,%eax
4101b0:	50                   	push   %eax
4101b1:	e8 e8 03 09 00       	call   0x4a059e
4101b6:	59                   	pop    %ecx
4101b7:	5e                   	pop    %esi
4101b8:	8b f8                	mov    %eax,%edi
4101ba:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4101bc:	50                   	push   %eax
4101bd:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
4101c0:	85 db                	test   %ebx,%ebx
4101c2:	74 09                	je     0x4101cd
4101c4:	53                   	push   %ebx
4101c5:	e8 da 03 09 00       	call   0x4a05a4
4101ca:	83 c4 04             	add    $0x4,%esp
4101cd:	58                   	pop    %eax
4101ce:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4101d1:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
4101d8:	89 65 8c             	mov    %esp,-0x74(%ebp)
4101db:	b8 00 00 00 00       	mov    $0x0,%eax
4101e0:	89 45 88             	mov    %eax,-0x78(%ebp)
4101e3:	8d 45 88             	lea    -0x78(%ebp),%eax
4101e6:	50                   	push   %eax
4101e7:	8d 45 bc             	lea    -0x44(%ebp),%eax
4101ea:	50                   	push   %eax
4101eb:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4101ee:	85 c0                	test   %eax,%eax
4101f0:	74 03                	je     0x4101f5
4101f2:	83 c0 08             	add    $0x8,%eax
4101f5:	50                   	push   %eax
4101f6:	68 00 00 00 00       	push   $0x0
4101fb:	68 16 00 00 00       	push   $0x16
410200:	ff 75 cc             	push   -0x34(%ebp)
410203:	33 c0                	xor    %eax,%eax
410205:	ff 15 54 33 4b 00    	call   *0x4b3354
41020b:	90                   	nop
41020c:	90                   	nop
41020d:	39 65 8c             	cmp    %esp,-0x74(%ebp)
410210:	74 17                	je     0x410229
410212:	68 dc 1f 00 00       	push   $0x1fdc
410217:	68 58 01 04 04       	push   $0x4040158
41021c:	68 06 00 00 00       	push   $0x6
410221:	e8 84 03 09 00       	call   0x4a05aa
410226:	83 c4 0c             	add    $0xc,%esp
410229:	68 01 03 00 80       	push   $0x80000301
41022e:	6a 00                	push   $0x0
410230:	ff 75 bc             	push   -0x44(%ebp)
410233:	68 01 00 00 00       	push   $0x1
410238:	bb bc 01 00 00       	mov    $0x1bc,%ebx
41023d:	e8 ae 12 09 00       	call   0x4a14f0
410242:	83 c4 10             	add    $0x10,%esp
410245:	89 45 8c             	mov    %eax,-0x74(%ebp)
410248:	8b 45 8c             	mov    -0x74(%ebp),%eax
41024b:	50                   	push   %eax
41024c:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
41024f:	85 db                	test   %ebx,%ebx
410251:	74 09                	je     0x41025c
410253:	53                   	push   %ebx
410254:	e8 4b 03 09 00       	call   0x4a05a4
410259:	83 c4 04             	add    $0x4,%esp
41025c:	58                   	pop    %eax
41025d:	89 45 b4             	mov    %eax,-0x4c(%ebp)
410260:	89 65 8c             	mov    %esp,-0x74(%ebp)
410263:	b8 00 00 00 00       	mov    $0x0,%eax
410268:	89 45 88             	mov    %eax,-0x78(%ebp)
41026b:	8d 45 88             	lea    -0x78(%ebp),%eax
41026e:	50                   	push   %eax
41026f:	8d 45 bc             	lea    -0x44(%ebp),%eax
410272:	50                   	push   %eax
410273:	8b 45 b4             	mov    -0x4c(%ebp),%eax
410276:	85 c0                	test   %eax,%eax
410278:	74 03                	je     0x41027d
41027a:	83 c0 08             	add    $0x8,%eax
41027d:	50                   	push   %eax
41027e:	68 00 00 00 00       	push   $0x0
410283:	68 16 00 00 00       	push   $0x16
410288:	ff 75 cc             	push   -0x34(%ebp)
41028b:	33 c0                	xor    %eax,%eax
41028d:	ff 15 54 33 4b 00    	call   *0x4b3354
410293:	90                   	nop
410294:	90                   	nop
410295:	39 65 8c             	cmp    %esp,-0x74(%ebp)
410298:	74 17                	je     0x4102b1
41029a:	68 5d 20 00 00       	push   $0x205d
41029f:	68 58 01 04 04       	push   $0x4040158
4102a4:	68 06 00 00 00       	push   $0x6
4102a9:	e8 fc 02 09 00       	call   0x4a05aa
4102ae:	83 c4 0c             	add    $0xc,%esp
4102b1:	85 c0                	test   %eax,%eax
4102b3:	0f 84 ee 0e 00 00    	je     0x4111a7
4102b9:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4102bc:	50                   	push   %eax
4102bd:	e8 0d 15 00 00       	call   0x4117cf
4102c2:	89 45 8c             	mov    %eax,-0x74(%ebp)
4102c5:	8b 45 8c             	mov    -0x74(%ebp),%eax
4102c8:	50                   	push   %eax
4102c9:	8b 5d 34             	mov    0x34(%ebp),%ebx
4102cc:	8b 1b                	mov    (%ebx),%ebx
4102ce:	85 db                	test   %ebx,%ebx
4102d0:	74 09                	je     0x4102db
4102d2:	53                   	push   %ebx
4102d3:	e8 cc 02 09 00       	call   0x4a05a4
4102d8:	83 c4 04             	add    $0x4,%esp
4102db:	58                   	pop    %eax
4102dc:	8b 5d 34             	mov    0x34(%ebp),%ebx
4102df:	89 03                	mov    %eax,(%ebx)
4102e1:	68 02 00 00 80       	push   $0x80000002
4102e6:	6a 00                	push   $0x0
4102e8:	68 00 00 00 00       	push   $0x0
4102ed:	68 01 03 00 80       	push   $0x80000301
4102f2:	6a 00                	push   $0x0
4102f4:	68 0a 00 00 00       	push   $0xa
4102f9:	68 04 00 00 80       	push   $0x80000004
4102fe:	6a 00                	push   $0x0
410300:	68 d3 40 4e 00       	push   $0x4e40d3
410305:	68 04 00 00 80       	push   $0x80000004
41030a:	6a 00                	push   $0x0
41030c:	8b 5d 34             	mov    0x34(%ebp),%ebx
41030f:	8b 03                	mov    (%ebx),%eax
410311:	85 c0                	test   %eax,%eax
410313:	75 05                	jne    0x41031a
410315:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
41031a:	50                   	push   %eax
41031b:	68 04 00 00 00       	push   $0x4
410320:	bb 48 01 00 00       	mov    $0x148,%ebx
410325:	e8 16 19 09 00       	call   0x4a1c40
41032a:	83 c4 34             	add    $0x34,%esp
41032d:	89 85 84 ff ff ff    	mov    %eax,-0x7c(%ebp)
410333:	db 85 84 ff ff ff    	fildl  -0x7c(%ebp)
410339:	dd 9d 84 ff ff ff    	fstpl  -0x7c(%ebp)
41033f:	dd 85 84 ff ff ff    	fldl   -0x7c(%ebp)
410345:	dc 25 8b 42 4e 00    	fsubl  0x4e428b
41034b:	dd 9d 7c ff ff ff    	fstpl  -0x84(%ebp)
410351:	dd 85 7c ff ff ff    	fldl   -0x84(%ebp)
410357:	e8 93 0e ff ff       	call   0x4011ef
41035c:	68 01 03 00 80       	push   $0x80000301
410361:	6a 00                	push   $0x0
410363:	50                   	push   %eax
410364:	68 01 03 00 80       	push   $0x80000301
410369:	6a 00                	push   $0x0
41036b:	68 0a 00 00 00       	push   $0xa
410370:	68 04 00 00 80       	push   $0x80000004
410375:	6a 00                	push   $0x0
410377:	8b 5d 34             	mov    0x34(%ebp),%ebx
41037a:	8b 03                	mov    (%ebx),%eax
41037c:	85 c0                	test   %eax,%eax
41037e:	75 05                	jne    0x410385
410380:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
410385:	50                   	push   %eax
410386:	68 03 00 00 00       	push   $0x3
41038b:	bb 3c 01 00 00       	mov    $0x13c,%ebx
410390:	e8 6b 1c 09 00       	call   0x4a2000
410395:	83 c4 28             	add    $0x28,%esp
410398:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
41039e:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
4103a4:	50                   	push   %eax
4103a5:	8b 5d 7c             	mov    0x7c(%ebp),%ebx
4103a8:	8b 1b                	mov    (%ebx),%ebx
4103aa:	85 db                	test   %ebx,%ebx
4103ac:	74 09                	je     0x4103b7
4103ae:	53                   	push   %ebx
4103af:	e8 f0 01 09 00       	call   0x4a05a4
4103b4:	83 c4 04             	add    $0x4,%esp
4103b7:	58                   	pop    %eax
4103b8:	8b 5d 7c             	mov    0x7c(%ebp),%ebx
4103bb:	89 03                	mov    %eax,(%ebx)
4103bd:	6a 00                	push   $0x0
4103bf:	6a 00                	push   $0x0
4103c1:	6a 00                	push   $0x0
4103c3:	68 04 00 00 80       	push   $0x80000004
4103c8:	6a 00                	push   $0x0
4103ca:	68 d3 40 4e 00       	push   $0x4e40d3
4103cf:	68 04 00 00 80       	push   $0x80000004
4103d4:	6a 00                	push   $0x0
4103d6:	8b 5d 34             	mov    0x34(%ebp),%ebx
4103d9:	8b 03                	mov    (%ebx),%eax
4103db:	85 c0                	test   %eax,%eax
4103dd:	75 05                	jne    0x4103e4
4103df:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
4103e4:	50                   	push   %eax
4103e5:	68 03 00 00 00       	push   $0x3
4103ea:	bb 90 01 00 00       	mov    $0x190,%ebx
4103ef:	e8 7c 1c 09 00       	call   0x4a2070
4103f4:	83 c4 28             	add    $0x28,%esp
4103f7:	89 45 8c             	mov    %eax,-0x74(%ebp)
4103fa:	8b 45 8c             	mov    -0x74(%ebp),%eax
4103fd:	50                   	push   %eax
4103fe:	8b 5d a8             	mov    -0x58(%ebp),%ebx
410401:	53                   	push   %ebx
410402:	8b 0b                	mov    (%ebx),%ecx
410404:	83 c3 04             	add    $0x4,%ebx
410407:	85 c9                	test   %ecx,%ecx
410409:	74 11                	je     0x41041c
41040b:	8b 03                	mov    (%ebx),%eax
41040d:	83 c3 04             	add    $0x4,%ebx
410410:	49                   	dec    %ecx
410411:	74 05                	je     0x410418
410413:	0f af 03             	imul   (%ebx),%eax
410416:	eb f5                	jmp    0x41040d
410418:	8b c8                	mov    %eax,%ecx
41041a:	85 c9                	test   %ecx,%ecx
41041c:	0f 84 19 00 00 00    	je     0x41043b
410422:	51                   	push   %ecx
410423:	8b 03                	mov    (%ebx),%eax
410425:	85 c0                	test   %eax,%eax
410427:	74 0b                	je     0x410434
410429:	53                   	push   %ebx
41042a:	50                   	push   %eax
41042b:	e8 74 01 09 00       	call   0x4a05a4
410430:	83 c4 04             	add    $0x4,%esp
410433:	5b                   	pop    %ebx
410434:	83 c3 04             	add    $0x4,%ebx
410437:	59                   	pop    %ecx
410438:	49                   	dec    %ecx
410439:	75 e7                	jne    0x410422
41043b:	e8 64 01 09 00       	call   0x4a05a4
410440:	83 c4 04             	add    $0x4,%esp
410443:	58                   	pop    %eax
410444:	89 45 a8             	mov    %eax,-0x58(%ebp)
410447:	8b 5d a8             	mov    -0x58(%ebp),%ebx
41044a:	e8 fb df ff ff       	call   0x40e44a
41044f:	33 c9                	xor    %ecx,%ecx
410451:	50                   	push   %eax
410452:	8d 45 a4             	lea    -0x5c(%ebp),%eax
410455:	8b d8                	mov    %eax,%ebx
410457:	58                   	pop    %eax
410458:	41                   	inc    %ecx
410459:	51                   	push   %ecx
41045a:	53                   	push   %ebx
41045b:	89 0b                	mov    %ecx,(%ebx)
41045d:	50                   	push   %eax
41045e:	3b c8                	cmp    %eax,%ecx
410460:	0f 8f 5c 06 00 00    	jg     0x410ac2
410466:	8b 5d a8             	mov    -0x58(%ebp),%ebx
410469:	e8 85 32 ff ff       	call   0x4036f3
41046e:	53                   	push   %ebx
41046f:	51                   	push   %ecx
410470:	8b 45 a4             	mov    -0x5c(%ebp),%eax
410473:	48                   	dec    %eax
410474:	79 17                	jns    0x41048d
410476:	68 f6 21 00 00       	push   $0x21f6
41047b:	68 58 01 04 04       	push   $0x4040158
410480:	68 04 00 00 00       	push   $0x4
410485:	e8 20 01 09 00       	call   0x4a05aa
41048a:	83 c4 0c             	add    $0xc,%esp
41048d:	59                   	pop    %ecx
41048e:	5b                   	pop    %ebx
41048f:	3b c1                	cmp    %ecx,%eax
410491:	7c 17                	jl     0x4104aa
410493:	68 f6 21 00 00       	push   $0x21f6
410498:	68 58 01 04 04       	push   $0x4040158
41049d:	68 01 00 00 00       	push   $0x1
4104a2:	e8 03 01 09 00       	call   0x4a05aa
4104a7:	83 c4 0c             	add    $0xc,%esp
4104aa:	c1 e0 02             	shl    $0x2,%eax
4104ad:	03 d8                	add    %eax,%ebx
4104af:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4104b2:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
4104b9:	6a 00                	push   $0x0
4104bb:	ff 75 88             	push   -0x78(%ebp)
4104be:	c7 85 84 ff ff ff 00 	movl   $0x0,-0x7c(%ebp)
4104c5:	00 00 00
4104c8:	6a 00                	push   $0x0
4104ca:	ff b5 84 ff ff ff    	push   -0x7c(%ebp)
4104d0:	b8 93 42 4e 00       	mov    $0x4e4293,%eax
4104d5:	89 85 80 ff ff ff    	mov    %eax,-0x80(%ebp)
4104db:	8d 85 80 ff ff ff    	lea    -0x80(%ebp),%eax
4104e1:	50                   	push   %eax
4104e2:	ff 75 8c             	push   -0x74(%ebp)
4104e5:	e8 38 25 00 00       	call   0x412a22
4104ea:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
4104f0:	8b 9d 80 ff ff ff    	mov    -0x80(%ebp),%ebx
4104f6:	85 db                	test   %ebx,%ebx
4104f8:	74 09                	je     0x410503
4104fa:	53                   	push   %ebx
4104fb:	e8 a4 00 09 00       	call   0x4a05a4
410500:	83 c4 04             	add    $0x4,%esp
410503:	68 96 42 4e 00       	push   $0x4e4296
410508:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41050e:	e8 35 ca ff ff       	call   0x40cf48
410513:	83 c4 08             	add    $0x8,%esp
410516:	83 f8 00             	cmp    $0x0,%eax
410519:	b8 00 00 00 00       	mov    $0x0,%eax
41051e:	0f 94 c0             	sete   %al
410521:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
410527:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
41052d:	85 db                	test   %ebx,%ebx
41052f:	74 09                	je     0x41053a
410531:	53                   	push   %ebx
410532:	e8 6d 00 09 00       	call   0x4a05a4
410537:	83 c4 04             	add    $0x4,%esp
41053a:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
410541:	0f 84 2d 03 00 00    	je     0x410874
410547:	8b 5d a8             	mov    -0x58(%ebp),%ebx
41054a:	e8 a4 31 ff ff       	call   0x4036f3
41054f:	53                   	push   %ebx
410550:	51                   	push   %ecx
410551:	8b 45 a4             	mov    -0x5c(%ebp),%eax
410554:	48                   	dec    %eax
410555:	79 17                	jns    0x41056e
410557:	68 58 22 00 00       	push   $0x2258
41055c:	68 58 01 04 04       	push   $0x4040158
410561:	68 04 00 00 00       	push   $0x4
410566:	e8 3f 00 09 00       	call   0x4a05aa
41056b:	83 c4 0c             	add    $0xc,%esp
41056e:	59                   	pop    %ecx
41056f:	5b                   	pop    %ebx
410570:	3b c1                	cmp    %ecx,%eax
410572:	7c 17                	jl     0x41058b
410574:	68 58 22 00 00       	push   $0x2258
410579:	68 58 01 04 04       	push   $0x4040158
41057e:	68 01 00 00 00       	push   $0x1
410583:	e8 22 00 09 00       	call   0x4a05aa
410588:	83 c4 0c             	add    $0xc,%esp
41058b:	c1 e0 02             	shl    $0x2,%eax
41058e:	03 d8                	add    %eax,%ebx
410590:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
410593:	68 02 00 00 80       	push   $0x80000002
410598:	6a 00                	push   $0x0
41059a:	68 00 00 00 00       	push   $0x0
41059f:	6a 00                	push   $0x0
4105a1:	6a 00                	push   $0x0
4105a3:	6a 00                	push   $0x0
4105a5:	68 04 00 00 80       	push   $0x80000004
4105aa:	6a 00                	push   $0x0
4105ac:	68 a1 42 4e 00       	push   $0x4e42a1
4105b1:	68 04 00 00 80       	push   $0x80000004
4105b6:	6a 00                	push   $0x0
4105b8:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
4105bb:	8b 03                	mov    (%ebx),%eax
4105bd:	85 c0                	test   %eax,%eax
4105bf:	75 05                	jne    0x4105c6
4105c1:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
4105c6:	50                   	push   %eax
4105c7:	68 04 00 00 00       	push   $0x4
4105cc:	bb 48 01 00 00       	mov    $0x148,%ebx
4105d1:	e8 6a 16 09 00       	call   0x4a1c40
4105d6:	83 c4 34             	add    $0x34,%esp
4105d9:	89 85 84 ff ff ff    	mov    %eax,-0x7c(%ebp)
4105df:	83 bd 84 ff ff ff ff 	cmpl   $0xffffffff,-0x7c(%ebp)
4105e6:	0f 84 5e 01 00 00    	je     0x41074a
4105ec:	8b 5d a8             	mov    -0x58(%ebp),%ebx
4105ef:	e8 ff 30 ff ff       	call   0x4036f3
4105f4:	53                   	push   %ebx
4105f5:	51                   	push   %ecx
4105f6:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4105f9:	48                   	dec    %eax