43510e:	50                   	push   %eax
43510f:	51                   	push   %ecx
435110:	56                   	push   %esi
435111:	53                   	push   %ebx
435112:	89 45 14             	mov    %eax,0x14(%ebp)
435115:	e8 69 1a 00 00       	call   0x436b83
43511a:	83 c4 30             	add    $0x30,%esp
43511d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
435120:	e8 af 81 fe ff       	call   0x41d2d4
435125:	8d 4d d8             	lea    -0x28(%ebp),%ecx
435128:	e8 5e 1b 00 00       	call   0x436c8b
43512d:	8b c6                	mov    %esi,%eax
43512f:	e8 f4 a8 00 00       	call   0x43fa28
435134:	c3                   	ret
435135:	6a 50                	push   $0x50
435137:	b8 82 21 49 00       	mov    $0x492182,%eax
43513c:	e8 3d a9 00 00       	call   0x43fa7e
435141:	8b 5d 24             	mov    0x24(%ebp),%ebx
435144:	8b 45 0c             	mov    0xc(%ebp),%eax
435147:	8b 75 18             	mov    0x18(%ebp),%esi
43514a:	8b 4d 20             	mov    0x20(%ebp),%ecx
43514d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
435150:	89 75 a8             	mov    %esi,-0x58(%ebp)
435153:	89 4d b0             	mov    %ecx,-0x50(%ebp)
435156:	85 db                	test   %ebx,%ebx
435158:	74 0f                	je     0x435169
43515a:	8a 01                	mov    (%ecx),%al
43515c:	3c 2b                	cmp    $0x2b,%al
43515e:	74 04                	je     0x435164
435160:	3c 2d                	cmp    $0x2d,%al
435162:	75 05                	jne    0x435169
435164:	33 ff                	xor    %edi,%edi
435166:	47                   	inc    %edi
435167:	eb 02                	jmp    0x43516b
435169:	33 ff                	xor    %edi,%edi
43516b:	8b 46 14             	mov    0x14(%esi),%eax
43516e:	25 00 0e 00 00       	and    $0xe00,%eax
435173:	3d 00 08 00 00       	cmp    $0x800,%eax
435178:	75 1d                	jne    0x435197
43517a:	8d 47 02             	lea    0x2(%edi),%eax
43517d:	3b c3                	cmp    %ebx,%eax
43517f:	77 16                	ja     0x435197
435181:	80 3c 39 30          	cmpb   $0x30,(%ecx,%edi,1)
435185:	75 10                	jne    0x435197
435187:	8a 4c 39 01          	mov    0x1(%ecx,%edi,1),%cl
43518b:	80 f9 78             	cmp    $0x78,%cl
43518e:	74 05                	je     0x435195
435190:	80 f9 58             	cmp    $0x58,%cl
435193:	75 02                	jne    0x435197
435195:	8b f8                	mov    %eax,%edi
435197:	ff 76 30             	push   0x30(%esi)
43519a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
43519d:	e8 9a 3c ff ff       	call   0x428e3c
4351a2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4351a6:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4351a9:	50                   	push   %eax
4351aa:	e8 b3 3b fd ff       	call   0x408d62
4351af:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4351b3:	59                   	pop    %ecx
4351b4:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4351b7:	89 45 bc             	mov    %eax,-0x44(%ebp)
4351ba:	e8 28 a2 fd ff       	call   0x40f3e7
4351bf:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4351c3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4351c6:	33 c0                	xor    %eax,%eax
4351c8:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
4351cf:	50                   	push   %eax
4351d0:	53                   	push   %ebx
4351d1:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
4351d5:	e8 57 a6 fe ff       	call   0x41f831
4351da:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4351de:	8d 45 d8             	lea    -0x28(%ebp),%eax
4351e1:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4351e8:	72 03                	jb     0x4351ed
4351ea:	8b 45 d8             	mov    -0x28(%ebp),%eax
4351ed:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4351f0:	50                   	push   %eax
4351f1:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
4351f4:	50                   	push   %eax
4351f5:	51                   	push   %ecx
4351f6:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4351f9:	e8 3e 64 00 00       	call   0x43b63c
4351fe:	ff 76 30             	push   0x30(%esi)
435201:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
435204:	e8 33 3c ff ff       	call   0x428e3c
435209:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43520c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
435210:	50                   	push   %eax
435211:	e8 98 3c fd ff       	call   0x408eae
435216:	59                   	pop    %ecx
435217:	8b f0                	mov    %eax,%esi
435219:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
43521d:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
435220:	89 75 b0             	mov    %esi,-0x50(%ebp)
435223:	e8 bf a1 fd ff       	call   0x40f3e7
435228:	8b 06                	mov    (%esi),%eax
43522a:	8b 70 14             	mov    0x14(%eax),%esi
43522d:	8d 45 c0             	lea    -0x40(%ebp),%eax
435230:	50                   	push   %eax
435231:	8b ce                	mov    %esi,%ecx
435233:	ff 15 54 43 49 00    	call   *0x494354
435239:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43523c:	ff d6                	call   *%esi
43523e:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
435242:	8d 75 c0             	lea    -0x40(%ebp),%esi
435245:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
435249:	72 03                	jb     0x43524e
43524b:	8b 75 c0             	mov    -0x40(%ebp),%esi
43524e:	8a 06                	mov    (%esi),%al
435250:	3c 7f                	cmp    $0x7f,%al
435252:	74 44                	je     0x435298
435254:	84 c0                	test   %al,%al
435256:	7e 40                	jle    0x435298
435258:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43525b:	e8 2c 63 00 00       	call   0x43b58c
435260:	0f b7 d0             	movzwl %ax,%edx
435263:	89 55 bc             	mov    %edx,-0x44(%ebp)
435266:	eb 2a                	jmp    0x435292
435268:	84 c0                	test   %al,%al
43526a:	7e 2c                	jle    0x435298
43526c:	0f be c8             	movsbl %al,%ecx
43526f:	8b c3                	mov    %ebx,%eax
435271:	2b c7                	sub    %edi,%eax
435273:	3b c8                	cmp    %eax,%ecx
435275:	73 21                	jae    0x435298
435277:	52                   	push   %edx
435278:	2b d9                	sub    %ecx,%ebx
43527a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43527d:	6a 01                	push   $0x1
43527f:	53                   	push   %ebx
435280:	e8 d2 5e 00 00       	call   0x43b157
435285:	8d 46 01             	lea    0x1(%esi),%eax
435288:	80 38 00             	cmpb   $0x0,(%eax)
43528b:	7e 02                	jle    0x43528f
43528d:	8b f0                	mov    %eax,%esi
43528f:	8b 55 bc             	mov    -0x44(%ebp),%edx
435292:	8a 06                	mov    (%esi),%al
435294:	3c 7f                	cmp    $0x7f,%al
435296:	75 d0                	jne    0x435268
435298:	8b 45 a8             	mov    -0x58(%ebp),%eax
43529b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43529e:	89 4d bc             	mov    %ecx,-0x44(%ebp)
4352a1:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4352a5:	7c 13                	jl     0x4352ba
4352a7:	7f 06                	jg     0x4352af
4352a9:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
4352ad:	76 0b                	jbe    0x4352ba
4352af:	8b 70 20             	mov    0x20(%eax),%esi
4352b2:	3b f1                	cmp    %ecx,%esi
4352b4:	76 04                	jbe    0x4352ba
4352b6:	2b f1                	sub    %ecx,%esi
4352b8:	eb 02                	jmp    0x4352bc
4352ba:	33 f6                	xor    %esi,%esi
4352bc:	8b 40 14             	mov    0x14(%eax),%eax
4352bf:	25 c0 01 00 00       	and    $0x1c0,%eax
4352c4:	83 f8 40             	cmp    $0x40,%eax
4352c7:	74 75                	je     0x43533e
4352c9:	3d 00 01 00 00       	cmp    $0x100,%eax
4352ce:	74 33                	je     0x435303
4352d0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4352d3:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4352d6:	56                   	push   %esi
4352d7:	ff 75 1c             	push   0x1c(%ebp)
4352da:	ff 75 14             	push   0x14(%ebp)
4352dd:	ff 75 10             	push   0x10(%ebp)
4352e0:	50                   	push   %eax
4352e1:	53                   	push   %ebx
4352e2:	e8 c8 18 00 00       	call   0x436baf
4352e7:	83 c4 18             	add    $0x18,%esp
4352ea:	33 f6                	xor    %esi,%esi
4352ec:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4352f0:	8b c8                	mov    %eax,%ecx
4352f2:	8d 45 d8             	lea    -0x28(%ebp),%eax
4352f5:	72 03                	jb     0x4352fa
4352f7:	8b 45 d8             	mov    -0x28(%ebp),%eax
4352fa:	57                   	push   %edi
4352fb:	50                   	push   %eax
4352fc:	ff 71 04             	push   0x4(%ecx)
4352ff:	ff 31                	push   (%ecx)
435301:	eb 52                	jmp    0x435355
435303:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
435307:	8d 45 d8             	lea    -0x28(%ebp),%eax
43530a:	72 03                	jb     0x43530f
43530c:	8b 45 d8             	mov    -0x28(%ebp),%eax
43530f:	8b 5d 08             	mov    0x8(%ebp),%ebx
435312:	57                   	push   %edi
435313:	50                   	push   %eax
435314:	ff 75 14             	push   0x14(%ebp)
435317:	8d 45 b4             	lea    -0x4c(%ebp),%eax
43531a:	ff 75 10             	push   0x10(%ebp)
43531d:	50                   	push   %eax
43531e:	53                   	push   %ebx
43531f:	e8 0c 0d 00 00       	call   0x436030
435324:	56                   	push   %esi
435325:	ff 75 1c             	push   0x1c(%ebp)
435328:	ff 70 04             	push   0x4(%eax)
43532b:	ff 30                	push   (%eax)
43532d:	8d 45 b4             	lea    -0x4c(%ebp),%eax
435330:	50                   	push   %eax
435331:	53                   	push   %ebx
435332:	e8 78 18 00 00       	call   0x436baf
435337:	83 c4 30             	add    $0x30,%esp
43533a:	33 f6                	xor    %esi,%esi
43533c:	eb 24                	jmp    0x435362
43533e:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
435342:	8d 45 d8             	lea    -0x28(%ebp),%eax
435345:	72 03                	jb     0x43534a
435347:	8b 45 d8             	mov    -0x28(%ebp),%eax
43534a:	8b 5d 08             	mov    0x8(%ebp),%ebx
43534d:	57                   	push   %edi
43534e:	50                   	push   %eax
43534f:	ff 75 14             	push   0x14(%ebp)
435352:	ff 75 10             	push   0x10(%ebp)
435355:	8d 45 b4             	lea    -0x4c(%ebp),%eax
435358:	50                   	push   %eax
435359:	53                   	push   %ebx
43535a:	e8 d1 0c 00 00       	call   0x436030
43535f:	83 c4 18             	add    $0x18,%esp
435362:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
435366:	8b 08                	mov    (%eax),%ecx
435368:	89 4d 10             	mov    %ecx,0x10(%ebp)
43536b:	8b 50 04             	mov    0x4(%eax),%edx
43536e:	8d 45 d8             	lea    -0x28(%ebp),%eax
435371:	89 55 14             	mov    %edx,0x14(%ebp)
435374:	89 45 b0             	mov    %eax,-0x50(%ebp)
435377:	72 06                	jb     0x43537f
435379:	8b 45 d8             	mov    -0x28(%ebp),%eax
43537c:	89 45 b0             	mov    %eax,-0x50(%ebp)
43537f:	8b 45 bc             	mov    -0x44(%ebp),%eax
435382:	2b c7                	sub    %edi,%eax
435384:	50                   	push   %eax
435385:	8b 45 b0             	mov    -0x50(%ebp),%eax
435388:	8d 04 78             	lea    (%eax,%edi,2),%eax
43538b:	50                   	push   %eax
43538c:	52                   	push   %edx
43538d:	51                   	push   %ecx
43538e:	8d 45 ac             	lea    -0x54(%ebp),%eax
435391:	50                   	push   %eax
435392:	53                   	push   %ebx
435393:	e8 98 0c 00 00       	call   0x436030
435398:	8b 55 a8             	mov    -0x58(%ebp),%edx
43539b:	56                   	push   %esi
43539c:	ff 75 1c             	push   0x1c(%ebp)
43539f:	8b 08                	mov    (%eax),%ecx
4353a1:	8b 75 a4             	mov    -0x5c(%ebp),%esi
4353a4:	89 4d 10             	mov    %ecx,0x10(%ebp)
4353a7:	8b 40 04             	mov    0x4(%eax),%eax
4353aa:	83 62 20 00          	andl   $0x0,0x20(%edx)
4353ae:	83 62 24 00          	andl   $0x0,0x24(%edx)
4353b2:	50                   	push   %eax
4353b3:	51                   	push   %ecx
4353b4:	56                   	push   %esi
4353b5:	53                   	push   %ebx
4353b6:	89 45 14             	mov    %eax,0x14(%ebp)
4353b9:	e8 f1 17 00 00       	call   0x436baf
4353be:	83 c4 30             	add    $0x30,%esp
4353c1:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4353c4:	e8 0b 7f fe ff       	call   0x41d2d4
4353c9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4353cc:	e8 29 7f fe ff       	call   0x41d2fa
4353d1:	8b c6                	mov    %esi,%eax
4353d3:	e8 50 a6 00 00       	call   0x43fa28
4353d8:	c3                   	ret
4353d9:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
4353dd:	1a c0                	sbb    %al,%al
4353df:	fe c0                	inc    %al
4353e1:	c3                   	ret
4353e2:	6a 0c                	push   $0xc
4353e4:	b8 f3 21 49 00       	mov    $0x4921f3,%eax
4353e9:	e8 5c a6 00 00       	call   0x43fa4a
4353ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4353f1:	8b 7d 10             	mov    0x10(%ebp),%edi
4353f4:	83 e0 02             	and    $0x2,%eax
4353f7:	6a 00                	push   $0x0
4353f9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4353fc:	5b                   	pop    %ebx
4353fd:	74 5e                	je     0x43545d
4353ff:	b9 28 ad 4b 00       	mov    $0x4bad28,%ecx
435404:	e8 95 aa fd ff       	call   0x40fe9e
435409:	39 5d 14             	cmp    %ebx,0x14(%ebp)
43540c:	75 3a                	jne    0x435448
43540e:	6a 44                	push   $0x44
435410:	89 45 f0             	mov    %eax,-0x10(%ebp)
435413:	e8 8b 9e 00 00       	call   0x43f2a3
435418:	8b f0                	mov    %eax,%esi
43541a:	89 75 e8             	mov    %esi,-0x18(%ebp)
43541d:	59                   	pop    %ecx
43541e:	85 f6                	test   %esi,%esi
435420:	74 15                	je     0x435437
435422:	ff 75 08             	push   0x8(%ebp)
435425:	8b ce                	mov    %esi,%ecx
435427:	89 5e 04             	mov    %ebx,0x4(%esi)
43542a:	c7 06 34 a6 49 00    	movl   $0x49a634,(%esi)
435430:	e8 4a f8 ff ff       	call   0x434c7f
435435:	eb 02                	jmp    0x435439
435437:	8b f3                	mov    %ebx,%esi
435439:	ff 75 f0             	push   -0x10(%ebp)
43543c:	56                   	push   %esi
43543d:	57                   	push   %edi
43543e:	e8 bd 58 ff ff       	call   0x42ad00
435443:	83 c4 0c             	add    $0xc,%esp
435446:	eb 15                	jmp    0x43545d
435448:	ff 75 14             	push   0x14(%ebp)
43544b:	8b f0                	mov    %eax,%esi
43544d:	e8 ab 96 ff ff       	call   0x42eafd
435452:	56                   	push   %esi
435453:	50                   	push   %eax
435454:	57                   	push   %edi
435455:	e8 a6 58 ff ff       	call   0x42ad00
43545a:	83 c4 10             	add    $0x10,%esp
43545d:	f6 45 0c 08          	testb  $0x8,0xc(%ebp)
435461:	0f 84 15 01 00 00    	je     0x43557c
435467:	b9 d0 ae 4b 00       	mov    $0x4baed0,%ecx
43546c:	e8 2d aa fd ff       	call   0x40fe9e
435471:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
435475:	8b f0                	mov    %eax,%esi
435477:	0f 85 ae 00 00 00    	jne    0x43552b
43547d:	6a 08                	push   $0x8
43547f:	e8 1f 9e 00 00       	call   0x43f2a3
435484:	89 45 e8             	mov    %eax,-0x18(%ebp)
435487:	59                   	pop    %ecx
435488:	85 c0                	test   %eax,%eax
43548a:	74 0b                	je     0x435497
43548c:	89 58 04             	mov    %ebx,0x4(%eax)
43548f:	c7 00 fc a7 49 00    	movl   $0x49a7fc,(%eax)
435495:	eb 02                	jmp    0x435499
435497:	8b c3                	mov    %ebx,%eax
435499:	56                   	push   %esi
43549a:	50                   	push   %eax
43549b:	57                   	push   %edi
43549c:	e8 5f 58 ff ff       	call   0x42ad00
4354a1:	83 c4 0c             	add    $0xc,%esp
4354a4:	b9 d4 ae 4b 00       	mov    $0x4baed4,%ecx
4354a9:	e8 f0 a9 fd ff       	call   0x40fe9e
4354ae:	6a 08                	push   $0x8
4354b0:	8b f0                	mov    %eax,%esi
4354b2:	e8 ec 9d 00 00       	call   0x43f2a3
4354b7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4354ba:	59                   	pop    %ecx
4354bb:	85 c0                	test   %eax,%eax
4354bd:	74 0b                	je     0x4354ca
4354bf:	89 58 04             	mov    %ebx,0x4(%eax)
4354c2:	c7 00 38 a8 49 00    	movl   $0x49a838,(%eax)
4354c8:	eb 02                	jmp    0x4354cc
4354ca:	8b c3                	mov    %ebx,%eax
4354cc:	56                   	push   %esi
4354cd:	50                   	push   %eax
4354ce:	57                   	push   %edi
4354cf:	e8 2c 58 ff ff       	call   0x42ad00
4354d4:	83 c4 0c             	add    $0xc,%esp