4152c3:	0f b6 07             	movzbl (%edi),%eax
4152c6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4152c9:	51                   	push   %ecx
4152ca:	50                   	push   %eax
4152cb:	e8 9d 04 00 00       	call   0x41576d
4152d0:	83 c4 10             	add    $0x10,%esp
4152d3:	47                   	inc    %edi
4152d4:	3b f3                	cmp    %ebx,%esi
4152d6:	74 04                	je     0x4152dc
4152d8:	3b f0                	cmp    %eax,%esi
4152da:	74 d2                	je     0x4152ae
4152dc:	2b f0                	sub    %eax,%esi
4152de:	8b c6                	mov    %esi,%eax
4152e0:	5e                   	pop    %esi
4152e1:	38 5d fc             	cmp    %bl,-0x4(%ebp)
4152e4:	74 07                	je     0x4152ed
4152e6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4152e9:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4152ed:	5f                   	pop    %edi
4152ee:	5b                   	pop    %ebx
4152ef:	c9                   	leave
4152f0:	c3                   	ret
4152f1:	55                   	push   %ebp
4152f2:	8b ec                	mov    %esp,%ebp
4152f4:	56                   	push   %esi
4152f5:	33 f6                	xor    %esi,%esi
4152f7:	39 35 04 da 41 00    	cmp    %esi,0x41da04
4152fd:	75 30                	jne    0x41532f
4152ff:	39 75 08             	cmp    %esi,0x8(%ebp)
415302:	75 1f                	jne    0x415323
415304:	e8 f1 40 ff ff       	call   0x4093fa
415309:	56                   	push   %esi
41530a:	56                   	push   %esi
41530b:	56                   	push   %esi
41530c:	56                   	push   %esi
41530d:	56                   	push   %esi
41530e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415314:	e8 37 23 ff ff       	call   0x407650
415319:	83 c4 14             	add    $0x14,%esp
41531c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
415321:	eb 1b                	jmp    0x41533e
415323:	39 75 0c             	cmp    %esi,0xc(%ebp)
415326:	74 dc                	je     0x415304
415328:	5e                   	pop    %esi
415329:	5d                   	pop    %ebp
41532a:	e9 ba fe ff ff       	jmp    0x4151e9
41532f:	56                   	push   %esi
415330:	ff 75 0c             	push   0xc(%ebp)
415333:	ff 75 08             	push   0x8(%ebp)
415336:	e8 e3 fe ff ff       	call   0x41521e
41533b:	83 c4 0c             	add    $0xc,%esp
41533e:	5e                   	pop    %esi
41533f:	5d                   	pop    %ebp
415340:	c3                   	ret
415341:	55                   	push   %ebp
415342:	8b ec                	mov    %esp,%ebp
415344:	83 ec 10             	sub    $0x10,%esp
415347:	53                   	push   %ebx
415348:	33 db                	xor    %ebx,%ebx
41534a:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41534d:	56                   	push   %esi
41534e:	57                   	push   %edi
41534f:	0f 84 d5 00 00 00    	je     0x41542a
415355:	ff 75 14             	push   0x14(%ebp)
415358:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41535b:	e8 64 36 ff ff       	call   0x4089c4
415360:	39 5d 08             	cmp    %ebx,0x8(%ebp)
415363:	75 2e                	jne    0x415393
415365:	e8 90 40 ff ff       	call   0x4093fa
41536a:	53                   	push   %ebx
41536b:	53                   	push   %ebx
41536c:	53                   	push   %ebx
41536d:	53                   	push   %ebx
41536e:	53                   	push   %ebx
41536f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415375:	e8 d6 22 ff ff       	call   0x407650
41537a:	83 c4 14             	add    $0x14,%esp
41537d:	38 5d fc             	cmp    %bl,-0x4(%ebp)
415380:	74 07                	je     0x415389
415382:	8b 45 f8             	mov    -0x8(%ebp),%eax
415385:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
415389:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41538e:	e9 99 00 00 00       	jmp    0x41542c
415393:	8b 7d 0c             	mov    0xc(%ebp),%edi
415396:	3b fb                	cmp    %ebx,%edi
415398:	74 cb                	je     0x415365
41539a:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
41539f:	39 75 10             	cmp    %esi,0x10(%ebp)
4153a2:	76 28                	jbe    0x4153cc
4153a4:	e8 51 40 ff ff       	call   0x4093fa
4153a9:	53                   	push   %ebx
4153aa:	53                   	push   %ebx
4153ab:	53                   	push   %ebx
4153ac:	53                   	push   %ebx
4153ad:	53                   	push   %ebx
4153ae:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4153b4:	e8 97 22 ff ff       	call   0x407650
4153b9:	83 c4 14             	add    $0x14,%esp
4153bc:	38 5d fc             	cmp    %bl,-0x4(%ebp)
4153bf:	74 07                	je     0x4153c8
4153c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4153c4:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4153c8:	8b c6                	mov    %esi,%eax
4153ca:	eb 60                	jmp    0x41542c
4153cc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4153cf:	39 58 14             	cmp    %ebx,0x14(%eax)
4153d2:	75 1d                	jne    0x4153f1
4153d4:	ff 75 10             	push   0x10(%ebp)
4153d7:	57                   	push   %edi
4153d8:	ff 75 08             	push   0x8(%ebp)
4153db:	e8 b0 04 00 00       	call   0x415890
4153e0:	83 c4 0c             	add    $0xc,%esp
4153e3:	38 5d fc             	cmp    %bl,-0x4(%ebp)
4153e6:	74 44                	je     0x41542c
4153e8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4153eb:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4153ef:	eb 3b                	jmp    0x41542c
4153f1:	8b 45 08             	mov    0x8(%ebp),%eax
4153f4:	0f b6 00             	movzbl (%eax),%eax
4153f7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4153fa:	51                   	push   %ecx
4153fb:	50                   	push   %eax
4153fc:	e8 6c 03 00 00       	call   0x41576d
415401:	ff 45 08             	incl   0x8(%ebp)
415404:	8b f0                	mov    %eax,%esi
415406:	0f b6 07             	movzbl (%edi),%eax
415409:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41540c:	51                   	push   %ecx
41540d:	50                   	push   %eax
41540e:	e8 5a 03 00 00       	call   0x41576d
415413:	83 c4 10             	add    $0x10,%esp
415416:	47                   	inc    %edi
415417:	ff 4d 10             	decl   0x10(%ebp)
41541a:	74 08                	je     0x415424
41541c:	3b f3                	cmp    %ebx,%esi
41541e:	74 04                	je     0x415424
415420:	3b f0                	cmp    %eax,%esi
415422:	74 cd                	je     0x4153f1
415424:	2b f0                	sub    %eax,%esi
415426:	8b c6                	mov    %esi,%eax
415428:	eb b9                	jmp    0x4153e3
41542a:	33 c0                	xor    %eax,%eax
41542c:	5f                   	pop    %edi
41542d:	5e                   	pop    %esi
41542e:	5b                   	pop    %ebx
41542f:	c9                   	leave
415430:	c3                   	ret
415431:	55                   	push   %ebp
415432:	8b ec                	mov    %esp,%ebp
415434:	56                   	push   %esi
415435:	33 f6                	xor    %esi,%esi
415437:	39 35 04 da 41 00    	cmp    %esi,0x41da04
41543d:	75 39                	jne    0x415478
41543f:	39 75 08             	cmp    %esi,0x8(%ebp)
415442:	75 1f                	jne    0x415463
415444:	e8 b1 3f ff ff       	call   0x4093fa
415449:	56                   	push   %esi
41544a:	56                   	push   %esi
41544b:	56                   	push   %esi
41544c:	56                   	push   %esi
41544d:	56                   	push   %esi
41544e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415454:	e8 f7 21 ff ff       	call   0x407650
415459:	83 c4 14             	add    $0x14,%esp
41545c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
415461:	eb 27                	jmp    0x41548a
415463:	39 75 0c             	cmp    %esi,0xc(%ebp)
415466:	74 dc                	je     0x415444
415468:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
41546f:	77 d3                	ja     0x415444
415471:	5e                   	pop    %esi
415472:	5d                   	pop    %ebp
415473:	e9 18 04 00 00       	jmp    0x415890
415478:	56                   	push   %esi
415479:	ff 75 10             	push   0x10(%ebp)
41547c:	ff 75 0c             	push   0xc(%ebp)
41547f:	ff 75 08             	push   0x8(%ebp)
415482:	e8 ba fe ff ff       	call   0x415341
415487:	83 c4 10             	add    $0x10,%esp
41548a:	5e                   	pop    %esi
41548b:	5d                   	pop    %ebp
41548c:	c3                   	ret
41548d:	cc                   	int3
41548e:	cc                   	int3
41548f:	cc                   	int3
415490:	8b 44 24 08          	mov    0x8(%esp),%eax
415494:	8b 4c 24 10          	mov    0x10(%esp),%ecx
415498:	0b c8                	or     %eax,%ecx
41549a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41549e:	75 09                	jne    0x4154a9
4154a0:	8b 44 24 04          	mov    0x4(%esp),%eax
4154a4:	f7 e1                	mul    %ecx
4154a6:	c2 10 00             	ret    $0x10
4154a9:	53                   	push   %ebx
4154aa:	f7 e1                	mul    %ecx
4154ac:	8b d8                	mov    %eax,%ebx
4154ae:	8b 44 24 08          	mov    0x8(%esp),%eax
4154b2:	f7 64 24 14          	mull   0x14(%esp)
4154b6:	03 d8                	add    %eax,%ebx
4154b8:	8b 44 24 08          	mov    0x8(%esp),%eax
4154bc:	f7 e1                	mul    %ecx
4154be:	03 d3                	add    %ebx,%edx
4154c0:	5b                   	pop    %ebx
4154c1:	c2 10 00             	ret    $0x10
4154c4:	6a 02                	push   $0x2
4154c6:	e8 7b 83 ff ff       	call   0x40d846
4154cb:	59                   	pop    %ecx
4154cc:	c3                   	ret
4154cd:	55                   	push   %ebp
4154ce:	8b ec                	mov    %esp,%ebp
4154d0:	83 ec 14             	sub    $0x14,%esp
4154d3:	56                   	push   %esi
4154d4:	57                   	push   %edi
4154d5:	ff 75 08             	push   0x8(%ebp)
4154d8:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4154db:	e8 e4 34 ff ff       	call   0x4089c4
4154e0:	8b 45 10             	mov    0x10(%ebp),%eax
4154e3:	8b 75 0c             	mov    0xc(%ebp),%esi
4154e6:	33 ff                	xor    %edi,%edi
4154e8:	3b c7                	cmp    %edi,%eax
4154ea:	74 02                	je     0x4154ee
4154ec:	89 30                	mov    %esi,(%eax)
4154ee:	3b f7                	cmp    %edi,%esi
4154f0:	75 2c                	jne    0x41551e
4154f2:	e8 03 3f ff ff       	call   0x4093fa
4154f7:	57                   	push   %edi
4154f8:	57                   	push   %edi
4154f9:	57                   	push   %edi
4154fa:	57                   	push   %edi
4154fb:	57                   	push   %edi
4154fc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415502:	e8 49 21 ff ff       	call   0x407650
415507:	83 c4 14             	add    $0x14,%esp
41550a:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
41550e:	74 07                	je     0x415517
415510:	8b 45 f4             	mov    -0xc(%ebp),%eax
415513:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
415517:	33 c0                	xor    %eax,%eax
415519:	e9 d6 01 00 00       	jmp    0x4156f4
41551e:	39 7d 14             	cmp    %edi,0x14(%ebp)
415521:	74 0c                	je     0x41552f
415523:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
415527:	7c c9                	jl     0x4154f2
415529:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
41552d:	7f c3                	jg     0x4154f2
41552f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415532:	53                   	push   %ebx
415533:	8a 1e                	mov    (%esi),%bl
415535:	89 7d fc             	mov    %edi,-0x4(%ebp)
415538:	8d 7e 01             	lea    0x1(%esi),%edi
41553b:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
415542:	7e 17                	jle    0x41555b
415544:	8d 45 ec             	lea    -0x14(%ebp),%eax
415547:	50                   	push   %eax
415548:	0f b6 c3             	movzbl %bl,%eax
41554b:	6a 08                	push   $0x8
41554d:	50                   	push   %eax
41554e:	e8 29 b1 ff ff       	call   0x41067c
415553:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415556:	83 c4 0c             	add    $0xc,%esp
415559:	eb 10                	jmp    0x41556b
41555b:	8b 91 c8 00 00 00    	mov    0xc8(%ecx),%edx
415561:	0f b6 c3             	movzbl %bl,%eax
415564:	0f b6 04 42          	movzbl (%edx,%eax,2),%eax
415568:	83 e0 08             	and    $0x8,%eax
41556b:	85 c0                	test   %eax,%eax
41556d:	74 05                	je     0x415574
41556f:	8a 1f                	mov    (%edi),%bl
415571:	47                   	inc    %edi
415572:	eb c7                	jmp    0x41553b
415574:	80 fb 2d             	cmp    $0x2d,%bl
415577:	75 06                	jne    0x41557f
415579:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
41557d:	eb 05                	jmp    0x415584
41557f:	80 fb 2b             	cmp    $0x2b,%bl
415582:	75 03                	jne    0x415587
415584:	8a 1f                	mov    (%edi),%bl
415586:	47                   	inc    %edi
415587:	8b 45 14             	mov    0x14(%ebp),%eax
41558a:	85 c0                	test   %eax,%eax
41558c:	0f 8c 49 01 00 00    	jl     0x4156db
415592:	83 f8 01             	cmp    $0x1,%eax
415595:	0f 84 40 01 00 00    	je     0x4156db
41559b:	83 f8 24             	cmp    $0x24,%eax
41559e:	0f 8f 37 01 00 00    	jg     0x4156db
4155a4:	85 c0                	test   %eax,%eax
4155a6:	75 2a                	jne    0x4155d2
4155a8:	80 fb 30             	cmp    $0x30,%bl
4155ab:	74 09                	je     0x4155b6
4155ad:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
4155b4:	eb 34                	jmp    0x4155ea
4155b6:	8a 07                	mov    (%edi),%al
4155b8:	3c 78                	cmp    $0x78,%al
4155ba:	74 0d                	je     0x4155c9
4155bc:	3c 58                	cmp    $0x58,%al
4155be:	74 09                	je     0x4155c9
4155c0:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
4155c7:	eb 21                	jmp    0x4155ea
4155c9:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
4155d0:	eb 0a                	jmp    0x4155dc
4155d2:	83 f8 10             	cmp    $0x10,%eax
4155d5:	75 13                	jne    0x4155ea
4155d7:	80 fb 30             	cmp    $0x30,%bl
4155da:	75 0e                	jne    0x4155ea
4155dc:	8a 07                	mov    (%edi),%al
4155de:	3c 78                	cmp    $0x78,%al
4155e0:	74 04                	je     0x4155e6
4155e2:	3c 58                	cmp    $0x58,%al
4155e4:	75 04                	jne    0x4155ea
4155e6:	47                   	inc    %edi
4155e7:	8a 1f                	mov    (%edi),%bl
4155e9:	47                   	inc    %edi
4155ea:	8b b1 c8 00 00 00    	mov    0xc8(%ecx),%esi
4155f0:	83 c8 ff             	or     $0xffffffff,%eax
4155f3:	33 d2                	xor    %edx,%edx
4155f5:	f7 75 14             	divl   0x14(%ebp)
4155f8:	0f b6 cb             	movzbl %bl,%ecx
4155fb:	0f b7 0c 4e          	movzwl (%esi,%ecx,2),%ecx
4155ff:	f6 c1 04             	test   $0x4,%cl
415602:	74 08                	je     0x41560c
415604:	0f be cb             	movsbl %bl,%ecx
415607:	83 e9 30             	sub    $0x30,%ecx
41560a:	eb 1a                	jmp    0x415626
41560c:	66 f7 c1 03 01       	test   $0x103,%cx
415611:	74 31                	je     0x415644
415613:	8a cb                	mov    %bl,%cl
415615:	80 e9 61             	sub    $0x61,%cl
415618:	80 f9 19             	cmp    $0x19,%cl
41561b:	0f be cb             	movsbl %bl,%ecx
41561e:	77 03                	ja     0x415623
415620:	83 e9 20             	sub    $0x20,%ecx
415623:	83 c1 c9             	add    $0xffffffc9,%ecx
415626:	3b 4d 14             	cmp    0x14(%ebp),%ecx
415629:	73 19                	jae    0x415644
41562b:	83 4d 18 08          	orl    $0x8,0x18(%ebp)
41562f:	39 45 fc             	cmp    %eax,-0x4(%ebp)
415632:	72 27                	jb     0x41565b
415634:	75 04                	jne    0x41563a
415636:	3b ca                	cmp    %edx,%ecx
415638:	76 21                	jbe    0x41565b
41563a:	83 4d 18 04          	orl    $0x4,0x18(%ebp)
41563e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
415642:	75 23                	jne    0x415667
415644:	8b 45 18             	mov    0x18(%ebp),%eax
415647:	4f                   	dec    %edi
415648:	a8 08                	test   $0x8,%al
41564a:	75 20                	jne    0x41566c
41564c:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
415650:	74 03                	je     0x415655
415652:	8b 7d 0c             	mov    0xc(%ebp),%edi