46c139:	c3                   	ret
46c13a:	8b ff                	mov    %edi,%edi
46c13c:	55                   	push   %ebp
46c13d:	8b ec                	mov    %esp,%ebp
46c13f:	33 c0                	xor    %eax,%eax
46c141:	81 7d 08 63 73 6d e0 	cmpl   $0xe06d7363,0x8(%ebp)
46c148:	0f 94 c0             	sete   %al
46c14b:	5d                   	pop    %ebp
46c14c:	c3                   	ret
46c14d:	8b ff                	mov    %edi,%edi
46c14f:	56                   	push   %esi
46c150:	8b f1                	mov    %ecx,%esi
46c152:	83 3e 00             	cmpl   $0x0,(%esi)
46c155:	74 0b                	je     0x46c162
46c157:	ff 36                	push   (%esi)
46c159:	ff 15 a4 40 49 00    	call   *0x4940a4
46c15f:	83 26 00             	andl   $0x0,(%esi)
46c162:	5e                   	pop    %esi
46c163:	c3                   	ret
46c164:	8b ff                	mov    %edi,%edi
46c166:	55                   	push   %ebp
46c167:	8b ec                	mov    %esp,%ebp
46c169:	ff 75 08             	push   0x8(%ebp)
46c16c:	ff 15 a4 40 49 00    	call   *0x4940a4
46c172:	f7 d8                	neg    %eax
46c174:	1b c0                	sbb    %eax,%eax
46c176:	f7 d8                	neg    %eax
46c178:	5d                   	pop    %ebp
46c179:	c3                   	ret
46c17a:	8b ff                	mov    %edi,%edi
46c17c:	55                   	push   %ebp
46c17d:	8b ec                	mov    %esp,%ebp
46c17f:	83 ec 10             	sub    $0x10,%esp
46c182:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
46c186:	75 12                	jne    0x46c19a
46c188:	e8 8e 00 00 00       	call   0x46c21b
46c18d:	84 c0                	test   %al,%al
46c18f:	74 09                	je     0x46c19a
46c191:	ff 75 08             	push   0x8(%ebp)
46c194:	e8 e4 00 00 00       	call   0x46c27d
46c199:	59                   	pop    %ecx
46c19a:	8d 45 0c             	lea    0xc(%ebp),%eax
46c19d:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
46c1a1:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c1a4:	8d 45 10             	lea    0x10(%ebp),%eax
46c1a7:	89 45 f4             	mov    %eax,-0xc(%ebp)
46c1aa:	8d 45 ff             	lea    -0x1(%ebp),%eax
46c1ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
46c1b0:	8d 45 f0             	lea    -0x10(%ebp),%eax
46c1b3:	50                   	push   %eax
46c1b4:	6a 02                	push   $0x2
46c1b6:	e8 b6 fd ff ff       	call   0x46bf71
46c1bb:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
46c1bf:	59                   	pop    %ecx
46c1c0:	59                   	pop    %ecx
46c1c1:	74 04                	je     0x46c1c7
46c1c3:	8b e5                	mov    %ebp,%esp
46c1c5:	5d                   	pop    %ebp
46c1c6:	c3                   	ret
46c1c7:	ff 75 08             	push   0x8(%ebp)
46c1ca:	e8 01 00 00 00       	call   0x46c1d0
46c1cf:	cc                   	int3
46c1d0:	8b ff                	mov    %edi,%edi
46c1d2:	55                   	push   %ebp
46c1d3:	8b ec                	mov    %esp,%ebp
46c1d5:	e8 15 07 01 00       	call   0x47c8ef
46c1da:	83 f8 01             	cmp    $0x1,%eax
46c1dd:	74 20                	je     0x46c1ff
46c1df:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
46c1e5:	8b 40 68             	mov    0x68(%eax),%eax
46c1e8:	c1 e8 08             	shr    $0x8,%eax
46c1eb:	a8 01                	test   $0x1,%al
46c1ed:	75 10                	jne    0x46c1ff
46c1ef:	ff 75 08             	push   0x8(%ebp)
46c1f2:	ff 15 30 41 49 00    	call   *0x494130
46c1f8:	50                   	push   %eax
46c1f9:	ff 15 38 41 49 00    	call   *0x494138
46c1ff:	ff 75 08             	push   0x8(%ebp)
46c202:	e8 76 00 00 00       	call   0x46c27d
46c207:	59                   	pop    %ecx
46c208:	ff 75 08             	push   0x8(%ebp)
46c20b:	ff 15 98 40 49 00    	call   *0x494098
46c211:	cc                   	int3
46c212:	8b 01                	mov    (%ecx),%eax
46c214:	c3                   	ret
46c215:	8b c1                	mov    %ecx,%eax
46c217:	c3                   	ret
46c218:	33 c0                	xor    %eax,%eax
46c21a:	c3                   	ret
46c21b:	6a 00                	push   $0x0
46c21d:	ff 15 58 41 49 00    	call   *0x494158
46c223:	8b c8                	mov    %eax,%ecx
46c225:	85 c9                	test   %ecx,%ecx
46c227:	75 03                	jne    0x46c22c
46c229:	32 c0                	xor    %al,%al
46c22b:	c3                   	ret
46c22c:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
46c231:	66 39 01             	cmp    %ax,(%ecx)
46c234:	75 f3                	jne    0x46c229
46c236:	8b 41 3c             	mov    0x3c(%ecx),%eax
46c239:	03 c1                	add    %ecx,%eax
46c23b:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
46c241:	75 e6                	jne    0x46c229
46c243:	b9 0b 01 00 00       	mov    $0x10b,%ecx
46c248:	66 39 48 18          	cmp    %cx,0x18(%eax)
46c24c:	75 db                	jne    0x46c229
46c24e:	83 78 74 0e          	cmpl   $0xe,0x74(%eax)
46c252:	76 d5                	jbe    0x46c229
46c254:	83 b8 e8 00 00 00 00 	cmpl   $0x0,0xe8(%eax)
46c25b:	0f 95 c0             	setne  %al
46c25e:	c3                   	ret
46c25f:	e8 8b 06 01 00       	call   0x47c8ef
46c264:	83 f8 01             	cmp    $0x1,%eax
46c267:	75 03                	jne    0x46c26c
46c269:	32 c0                	xor    %al,%al
46c26b:	c3                   	ret
46c26c:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
46c272:	8b 40 68             	mov    0x68(%eax),%eax
46c275:	c1 e8 08             	shr    $0x8,%eax
46c278:	f6 d0                	not    %al
46c27a:	24 01                	and    $0x1,%al
46c27c:	c3                   	ret
46c27d:	8b ff                	mov    %edi,%edi
46c27f:	55                   	push   %ebp
46c280:	8b ec                	mov    %esp,%ebp
46c282:	51                   	push   %ecx
46c283:	51                   	push   %ecx
46c284:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46c289:	33 c5                	xor    %ebp,%eax
46c28b:	89 45 fc             	mov    %eax,-0x4(%ebp)
46c28e:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46c292:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c295:	50                   	push   %eax
46c296:	68 fc d4 49 00       	push   $0x49d4fc
46c29b:	6a 00                	push   $0x0
46c29d:	ff 15 5c 41 49 00    	call   *0x49415c
46c2a3:	85 c0                	test   %eax,%eax
46c2a5:	74 23                	je     0x46c2ca
46c2a7:	56                   	push   %esi
46c2a8:	68 14 d5 49 00       	push   $0x49d514
46c2ad:	ff 75 f8             	push   -0x8(%ebp)
46c2b0:	ff 15 60 41 49 00    	call   *0x494160
46c2b6:	8b f0                	mov    %eax,%esi
46c2b8:	85 f6                	test   %esi,%esi
46c2ba:	74 0d                	je     0x46c2c9
46c2bc:	ff 75 08             	push   0x8(%ebp)
46c2bf:	8b ce                	mov    %esi,%ecx
46c2c1:	ff 15 54 43 49 00    	call   *0x494354
46c2c7:	ff d6                	call   *%esi
46c2c9:	5e                   	pop    %esi
46c2ca:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46c2ce:	74 09                	je     0x46c2d9
46c2d0:	ff 75 f8             	push   -0x8(%ebp)
46c2d3:	ff 15 a4 40 49 00    	call   *0x4940a4
46c2d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c2dc:	33 cd                	xor    %ebp,%ecx
46c2de:	e8 1f 37 fd ff       	call   0x43fa02
46c2e3:	8b e5                	mov    %ebp,%esp
46c2e5:	5d                   	pop    %ebp
46c2e6:	c3                   	ret
46c2e7:	8b ff                	mov    %edi,%edi
46c2e9:	55                   	push   %ebp
46c2ea:	8b ec                	mov    %esp,%ebp
46c2ec:	6a 00                	push   $0x0
46c2ee:	6a 02                	push   $0x2
46c2f0:	ff 75 08             	push   0x8(%ebp)
46c2f3:	e8 82 fe ff ff       	call   0x46c17a
46c2f8:	83 c4 0c             	add    $0xc,%esp
46c2fb:	5d                   	pop    %ebp
46c2fc:	c3                   	ret
46c2fd:	8b ff                	mov    %edi,%edi
46c2ff:	55                   	push   %ebp
46c300:	8b ec                	mov    %esp,%ebp
46c302:	8b 45 08             	mov    0x8(%ebp),%eax
46c305:	a3 74 b5 4b 00       	mov    %eax,0x4bb574
46c30a:	5d                   	pop    %ebp
46c30b:	c3                   	ret
46c30c:	6a 01                	push   $0x1
46c30e:	6a 02                	push   $0x2
46c310:	6a 00                	push   $0x0
46c312:	e8 63 fe ff ff       	call   0x46c17a
46c317:	83 c4 0c             	add    $0xc,%esp
46c31a:	c3                   	ret
46c31b:	6a 01                	push   $0x1
46c31d:	6a 00                	push   $0x0
46c31f:	6a 00                	push   $0x0
46c321:	e8 54 fe ff ff       	call   0x46c17a
46c326:	83 c4 0c             	add    $0xc,%esp
46c329:	c3                   	ret
46c32a:	8b ff                	mov    %edi,%edi
46c32c:	55                   	push   %ebp
46c32d:	8b ec                	mov    %esp,%ebp
46c32f:	6a 00                	push   $0x0
46c331:	6a 02                	push   $0x2
46c333:	ff 75 08             	push   0x8(%ebp)
46c336:	e8 3f fe ff ff       	call   0x46c17a
46c33b:	83 c4 0c             	add    $0xc,%esp
46c33e:	5d                   	pop    %ebp
46c33f:	c3                   	ret
46c340:	a1 70 b5 4b 00       	mov    0x4bb570,%eax
46c345:	c3                   	ret
46c346:	8b ff                	mov    %edi,%edi
46c348:	55                   	push   %ebp
46c349:	8b ec                	mov    %esp,%ebp
46c34b:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46c350:	83 e0 1f             	and    $0x1f,%eax
46c353:	6a 20                	push   $0x20
46c355:	59                   	pop    %ecx
46c356:	2b c8                	sub    %eax,%ecx
46c358:	33 c0                	xor    %eax,%eax
46c35a:	d3 c8                	ror    %cl,%eax
46c35c:	33 05 94 80 4b 00    	xor    0x4b8094,%eax
46c362:	39 05 74 b5 4b 00    	cmp    %eax,0x4bb574
46c368:	0f 85 b5 b3 ff ff    	jne    0x467723
46c36e:	ff 75 08             	push   0x8(%ebp)
46c371:	e8 39 fc ff ff       	call   0x46bfaf
46c376:	59                   	pop    %ecx
46c377:	a3 74 b5 4b 00       	mov    %eax,0x4bb574
46c37c:	5d                   	pop    %ebp
46c37d:	c3                   	ret
46c37e:	8b ff                	mov    %edi,%edi
46c380:	55                   	push   %ebp
46c381:	8b ec                	mov    %esp,%ebp
46c383:	6a 00                	push   $0x0
46c385:	6a 00                	push   $0x0
46c387:	ff 75 08             	push   0x8(%ebp)
46c38a:	e8 eb fd ff ff       	call   0x46c17a
46c38f:	83 c4 0c             	add    $0xc,%esp
46c392:	5d                   	pop    %ebp
46c393:	c3                   	ret
46c394:	8b ff                	mov    %edi,%edi
46c396:	55                   	push   %ebp
46c397:	8b ec                	mov    %esp,%ebp
46c399:	6a 00                	push   $0x0
46c39b:	6a 01                	push   $0x1
46c39d:	ff 75 08             	push   0x8(%ebp)
46c3a0:	e8 d5 fd ff ff       	call   0x46c17a
46c3a5:	83 c4 0c             	add    $0xc,%esp
46c3a8:	5d                   	pop    %ebp
46c3a9:	c3                   	ret
46c3aa:	8b ff                	mov    %edi,%edi
46c3ac:	55                   	push   %ebp
46c3ad:	8b ec                	mov    %esp,%ebp
46c3af:	ff 75 08             	push   0x8(%ebp)
46c3b2:	e8 82 5f 00 00       	call   0x472339
46c3b7:	59                   	pop    %ecx
46c3b8:	5d                   	pop    %ebp
46c3b9:	c2 04 00             	ret    $0x4
46c3bc:	8b ff                	mov    %edi,%edi
46c3be:	55                   	push   %ebp
46c3bf:	8b ec                	mov    %esp,%ebp
46c3c1:	ff 75 08             	push   0x8(%ebp)
46c3c4:	e8 70 5f 00 00       	call   0x472339
46c3c9:	59                   	pop    %ecx
46c3ca:	5d                   	pop    %ebp
46c3cb:	c2 04 00             	ret    $0x4
46c3ce:	8b ff                	mov    %edi,%edi
46c3d0:	55                   	push   %ebp
46c3d1:	8b ec                	mov    %esp,%ebp
46c3d3:	83 ec 10             	sub    $0x10,%esp
46c3d6:	53                   	push   %ebx
46c3d7:	8b 5d 08             	mov    0x8(%ebp),%ebx
46c3da:	85 db                	test   %ebx,%ebx
46c3dc:	75 07                	jne    0x46c3e5
46c3de:	33 c0                	xor    %eax,%eax
46c3e0:	e9 1a 01 00 00       	jmp    0x46c4ff
46c3e5:	56                   	push   %esi
46c3e6:	83 fb 02             	cmp    $0x2,%ebx
46c3e9:	74 1b                	je     0x46c406
46c3eb:	83 fb 01             	cmp    $0x1,%ebx
46c3ee:	74 16                	je     0x46c406
46c3f0:	e8 3a 0a fe ff       	call   0x44ce2f
46c3f5:	6a 16                	push   $0x16
46c3f7:	5e                   	pop    %esi
46c3f8:	89 30                	mov    %esi,(%eax)
46c3fa:	e8 d7 08 fe ff       	call   0x44ccd6
46c3ff:	8b c6                	mov    %esi,%eax
46c401:	e9 f8 00 00 00       	jmp    0x46c4fe
46c406:	57                   	push   %edi
46c407:	e8 ab 18 01 00       	call   0x47dcb7
46c40c:	68 04 01 00 00       	push   $0x104
46c411:	be 80 b5 4b 00       	mov    $0x4bb580,%esi
46c416:	33 ff                	xor    %edi,%edi
46c418:	56                   	push   %esi
46c419:	57                   	push   %edi
46c41a:	ff 15 94 40 49 00    	call   *0x494094
46c420:	a1 f8 be 4b 00       	mov    0x4bbef8,%eax
46c425:	89 35 00 bf 4b 00    	mov    %esi,0x4bbf00
46c42b:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c42e:	85 c0                	test   %eax,%eax
46c430:	74 05                	je     0x46c437
46c432:	80 38 00             	cmpb   $0x0,(%eax)
46c435:	75 05                	jne    0x46c43c
46c437:	8b c6                	mov    %esi,%eax
46c439:	89 75 f0             	mov    %esi,-0x10(%ebp)
46c43c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
46c43f:	89 7d fc             	mov    %edi,-0x4(%ebp)
46c442:	51                   	push   %ecx
46c443:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46c446:	89 7d f4             	mov    %edi,-0xc(%ebp)
46c449:	51                   	push   %ecx
46c44a:	57                   	push   %edi
46c44b:	57                   	push   %edi
46c44c:	50                   	push   %eax
46c44d:	e8 17 02 00 00       	call   0x46c669
46c452:	6a 01                	push   $0x1
46c454:	ff 75 f4             	push   -0xc(%ebp)
46c457:	ff 75 fc             	push   -0x4(%ebp)
46c45a:	e8 55 06 00 00       	call   0x46cab4
46c45f:	8b f0                	mov    %eax,%esi
46c461:	83 c4 20             	add    $0x20,%esp
46c464:	85 f6                	test   %esi,%esi
46c466:	75 0c                	jne    0x46c474
46c468:	e8 c2 09 fe ff       	call   0x44ce2f
46c46d:	6a 0c                	push   $0xc
46c46f:	5f                   	pop    %edi
46c470:	89 38                	mov    %edi,(%eax)
46c472:	eb 32                	jmp    0x46c4a6
46c474:	8d 45 f4             	lea    -0xc(%ebp),%eax
46c477:	50                   	push   %eax
46c478:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c47b:	50                   	push   %eax
46c47c:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c47f:	8d 04 86             	lea    (%esi,%eax,4),%eax
46c482:	50                   	push   %eax
46c483:	56                   	push   %esi
46c484:	ff 75 f0             	push   -0x10(%ebp)
46c487:	e8 dd 01 00 00       	call   0x46c669
46c48c:	83 c4 14             	add    $0x14,%esp
46c48f:	83 fb 01             	cmp    $0x1,%ebx
46c492:	75 16                	jne    0x46c4aa
46c494:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c497:	48                   	dec    %eax
46c498:	a3 ec be 4b 00       	mov    %eax,0x4bbeec
46c49d:	8b c6                	mov    %esi,%eax
46c49f:	8b f7                	mov    %edi,%esi
46c4a1:	a3 f0 be 4b 00       	mov    %eax,0x4bbef0
46c4a6:	8b df                	mov    %edi,%ebx
46c4a8:	eb 4a                	jmp    0x46c4f4
46c4aa:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c4ad:	89 7d f8             	mov    %edi,-0x8(%ebp)
46c4b0:	50                   	push   %eax
46c4b1:	56                   	push   %esi
46c4b2:	e8 0e 12 01 00       	call   0x47d6c5
46c4b7:	8b d8                	mov    %eax,%ebx
46c4b9:	59                   	pop    %ecx
46c4ba:	59                   	pop    %ecx
46c4bb:	85 db                	test   %ebx,%ebx
46c4bd:	74 05                	je     0x46c4c4
46c4bf:	8b 45 f8             	mov    -0x8(%ebp),%eax