46b216:	e8 6d 85 f9 ff       	call   0x403788
46b21b:	5e                   	pop    %esi
46b21c:	5b                   	pop    %ebx
46b21d:	c3                   	ret
46b21e:	8b c0                	mov    %eax,%eax
46b220:	53                   	push   %ebx
46b221:	56                   	push   %esi
46b222:	57                   	push   %edi
46b223:	8b f0                	mov    %eax,%esi
46b225:	8b 7e 08             	mov    0x8(%esi),%edi
46b228:	85 ff                	test   %edi,%edi
46b22a:	74 14                	je     0x46b240
46b22c:	f6 47 1c 08          	testb  $0x8,0x1c(%edi)
46b230:	75 0e                	jne    0x46b240
46b232:	33 c9                	xor    %ecx,%ecx
46b234:	b2 09                	mov    $0x9,%dl
46b236:	8b c7                	mov    %edi,%eax
46b238:	8b 18                	mov    (%eax),%ebx
46b23a:	ff 93 ac 00 00 00    	call   *0xac(%ebx)
46b240:	66 83 7e 12 00       	cmpw   $0x0,0x12(%esi)
46b245:	74 08                	je     0x46b24f
46b247:	8b d6                	mov    %esi,%edx
46b249:	8b 46 14             	mov    0x14(%esi),%eax
46b24c:	ff 56 10             	call   *0x10(%esi)
46b24f:	5f                   	pop    %edi
46b250:	5e                   	pop    %esi
46b251:	5b                   	pop    %ebx
46b252:	c3                   	ret
46b253:	90                   	nop
46b254:	55                   	push   %ebp
46b255:	8b ec                	mov    %esp,%ebp
46b257:	6a 00                	push   $0x0
46b259:	53                   	push   %ebx
46b25a:	56                   	push   %esi
46b25b:	8b f1                	mov    %ecx,%esi
46b25d:	33 c9                	xor    %ecx,%ecx
46b25f:	55                   	push   %ebp
46b260:	68 a6 b2 46 00       	push   $0x46b2a6
46b265:	64 ff 31             	push   %fs:(%ecx)
46b268:	64 89 21             	mov    %esp,%fs:(%ecx)
46b26b:	80 fa 07             	cmp    $0x7,%dl
46b26e:	77 07                	ja     0x46b277
46b270:	83 e2 7f             	and    $0x7f,%edx
46b273:	0f a3 50 18          	bt     %edx,0x18(%eax)
46b277:	72 17                	jb     0x46b290
46b279:	8d 55 fc             	lea    -0x4(%ebp),%edx
46b27c:	a1 64 af 49 00       	mov    0x49af64,%eax
46b281:	e8 b2 af f9 ff       	call   0x406238
46b286:	8b 45 fc             	mov    -0x4(%ebp),%eax
46b289:	8b d6                	mov    %esi,%edx
46b28b:	e8 f0 e7 ff ff       	call   0x469a80
46b290:	33 c0                	xor    %eax,%eax
46b292:	5a                   	pop    %edx
46b293:	59                   	pop    %ecx
46b294:	59                   	pop    %ecx
46b295:	64 89 10             	mov    %edx,%fs:(%eax)
46b298:	68 ad b2 46 00       	push   $0x46b2ad
46b29d:	8d 45 fc             	lea    -0x4(%ebp),%eax
46b2a0:	e8 bf 8e f9 ff       	call   0x404164
46b2a5:	c3                   	ret
46b2a6:	e9 bd 88 f9 ff       	jmp    0x403b68
46b2ab:	eb f0                	jmp    0x46b29d
46b2ad:	5e                   	pop    %esi
46b2ae:	5b                   	pop    %ebx
46b2af:	59                   	pop    %ecx
46b2b0:	5d                   	pop    %ebp
46b2b1:	c3                   	ret
46b2b2:	8b c0                	mov    %eax,%eax
46b2b4:	53                   	push   %ebx
46b2b5:	56                   	push   %esi
46b2b6:	8b f2                	mov    %edx,%esi
46b2b8:	8b d8                	mov    %eax,%ebx
46b2ba:	8b ce                	mov    %esi,%ecx
46b2bc:	8a 56 42             	mov    0x42(%esi),%dl
46b2bf:	8b c3                	mov    %ebx,%eax
46b2c1:	e8 8e ff ff ff       	call   0x46b254
46b2c6:	8b d6                	mov    %esi,%edx
46b2c8:	8b 43 04             	mov    0x4(%ebx),%eax
46b2cb:	e8 c4 09 fb ff       	call   0x41bc94
46b2d0:	89 5e 3c             	mov    %ebx,0x3c(%esi)
46b2d3:	8b c3                	mov    %ebx,%eax
46b2d5:	e8 46 ff ff ff       	call   0x46b220
46b2da:	5e                   	pop    %esi
46b2db:	5b                   	pop    %ebx
46b2dc:	c3                   	ret
46b2dd:	8d 40 00             	lea    0x0(%eax),%eax
46b2e0:	53                   	push   %ebx
46b2e1:	56                   	push   %esi
46b2e2:	8b f2                	mov    %edx,%esi
46b2e4:	8b d8                	mov    %eax,%ebx
46b2e6:	8b d6                	mov    %esi,%edx
46b2e8:	8b 43 04             	mov    0x4(%ebx),%eax
46b2eb:	e8 9c 0c fb ff       	call   0x41bf8c
46b2f0:	33 c0                	xor    %eax,%eax
46b2f2:	89 46 3c             	mov    %eax,0x3c(%esi)
46b2f5:	8b c3                	mov    %ebx,%eax
46b2f7:	e8 24 ff ff ff       	call   0x46b220
46b2fc:	5e                   	pop    %esi
46b2fd:	5b                   	pop    %ebx
46b2fe:	c3                   	ret
46b2ff:	90                   	nop
46b300:	53                   	push   %ebx
46b301:	56                   	push   %esi
46b302:	8b d8                	mov    %eax,%ebx
46b304:	eb 1d                	jmp    0x46b323
46b306:	8b c6                	mov    %esi,%eax
46b308:	e8 cb 0b fb ff       	call   0x41bed8
46b30d:	33 d2                	xor    %edx,%edx
46b30f:	89 50 34             	mov    %edx,0x34(%eax)
46b312:	e8 d5 80 f9 ff       	call   0x4033ec
46b317:	8b 43 04             	mov    0x4(%ebx),%eax
46b31a:	8b 50 08             	mov    0x8(%eax),%edx
46b31d:	4a                   	dec    %edx
46b31e:	e8 bd 09 fb ff       	call   0x41bce0
46b323:	8b 73 04             	mov    0x4(%ebx),%esi
46b326:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
46b32a:	7f da                	jg     0x46b306
46b32c:	8b c3                	mov    %ebx,%eax
46b32e:	e8 ed fe ff ff       	call   0x46b220
46b333:	5e                   	pop    %esi
46b334:	5b                   	pop    %ebx
46b335:	c3                   	ret
46b336:	8b c0                	mov    %eax,%eax
46b338:	55                   	push   %ebp
46b339:	8b ec                	mov    %esp,%ebp
46b33b:	83 c4 f0             	add    $0xfffffff0,%esp
46b33e:	53                   	push   %ebx
46b33f:	56                   	push   %esi
46b340:	33 c9                	xor    %ecx,%ecx
46b342:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46b345:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46b348:	8b f2                	mov    %edx,%esi
46b34a:	8b d8                	mov    %eax,%ebx
46b34c:	33 c0                	xor    %eax,%eax
46b34e:	55                   	push   %ebp
46b34f:	68 a4 b3 46 00       	push   $0x46b3a4
46b354:	64 ff 30             	push   %fs:(%eax)
46b357:	64 89 20             	mov    %esp,%fs:(%eax)
46b35a:	8d 45 fc             	lea    -0x4(%ebp),%eax
46b35d:	50                   	push   %eax
46b35e:	8d 55 f8             	lea    -0x8(%ebp),%edx
46b361:	a1 c0 b3 49 00       	mov    0x49b3c0,%eax
46b366:	e8 cd ae f9 ff       	call   0x406238
46b36b:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b36e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46b371:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
46b375:	8d 55 f0             	lea    -0x10(%ebp),%edx
46b378:	33 c9                	xor    %ecx,%ecx
46b37a:	e8 95 e1 f9 ff       	call   0x409514
46b37f:	8b 45 fc             	mov    -0x4(%ebp),%eax
46b382:	8b d6                	mov    %esi,%edx
46b384:	e8 f7 e6 ff ff       	call   0x469a80
46b389:	33 c0                	xor    %eax,%eax
46b38b:	5a                   	pop    %edx
46b38c:	59                   	pop    %ecx
46b38d:	59                   	pop    %ecx
46b38e:	64 89 10             	mov    %edx,%fs:(%eax)
46b391:	68 ab b3 46 00       	push   $0x46b3ab
46b396:	8d 45 f8             	lea    -0x8(%ebp),%eax
46b399:	ba 02 00 00 00       	mov    $0x2,%edx
46b39e:	e8 e5 8d f9 ff       	call   0x404188
46b3a3:	c3                   	ret
46b3a4:	e9 bf 87 f9 ff       	jmp    0x403b68
46b3a9:	eb eb                	jmp    0x46b396
46b3ab:	5e                   	pop    %esi
46b3ac:	5b                   	pop    %ebx
46b3ad:	8b e5                	mov    %ebp,%esp
46b3af:	5d                   	pop    %ebp
46b3b0:	c3                   	ret
46b3b1:	8d 40 00             	lea    0x0(%eax),%eax
46b3b4:	53                   	push   %ebx
46b3b5:	56                   	push   %esi
46b3b6:	8b f2                	mov    %edx,%esi
46b3b8:	8b d8                	mov    %eax,%ebx
46b3ba:	8b 43 0c             	mov    0xc(%ebx),%eax
46b3bd:	85 c0                	test   %eax,%eax
46b3bf:	7e 1e                	jle    0x46b3df
46b3c1:	3b c6                	cmp    %esi,%eax
46b3c3:	7f 0a                	jg     0x46b3cf
46b3c5:	8b 53 08             	mov    0x8(%ebx),%edx
46b3c8:	8b c6                	mov    %esi,%eax
46b3ca:	e8 69 ff ff ff       	call   0x46b338
46b3cf:	33 d2                	xor    %edx,%edx
46b3d1:	8b 43 04             	mov    0x4(%ebx),%eax
46b3d4:	e8 17 0a fb ff       	call   0x41bdf0
46b3d9:	89 70 4c             	mov    %esi,0x4c(%eax)
46b3dc:	5e                   	pop    %esi
46b3dd:	5b                   	pop    %ebx
46b3de:	c3                   	ret
46b3df:	8b d6                	mov    %esi,%edx
46b3e1:	8b 43 04             	mov    0x4(%ebx),%eax
46b3e4:	e8 07 0a fb ff       	call   0x41bdf0
46b3e9:	5e                   	pop    %esi
46b3ea:	5b                   	pop    %ebx
46b3eb:	c3                   	ret
46b3ec:	8b 50 0c             	mov    0xc(%eax),%edx
46b3ef:	85 d2                	test   %edx,%edx
46b3f1:	7e 0c                	jle    0x46b3ff
46b3f3:	8b 48 04             	mov    0x4(%eax),%ecx
46b3f6:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
46b3fa:	7e 03                	jle    0x46b3ff
46b3fc:	8b c2                	mov    %edx,%eax
46b3fe:	c3                   	ret
46b3ff:	8b 40 04             	mov    0x4(%eax),%eax
46b402:	8b 40 08             	mov    0x8(%eax),%eax
46b405:	c3                   	ret
46b406:	8b c0                	mov    %eax,%eax
46b408:	8b 40 04             	mov    0x4(%eax),%eax
46b40b:	e8 3c 0a fb ff       	call   0x41be4c
46b410:	c3                   	ret
46b411:	8d 40 00             	lea    0x0(%eax),%eax
46b414:	55                   	push   %ebp
46b415:	8b ec                	mov    %esp,%ebp
46b417:	83 c4 f0             	add    $0xfffffff0,%esp
46b41a:	53                   	push   %ebx
46b41b:	56                   	push   %esi
46b41c:	33 c9                	xor    %ecx,%ecx
46b41e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46b421:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46b424:	8b f2                	mov    %edx,%esi
46b426:	8b d8                	mov    %eax,%ebx
46b428:	33 c0                	xor    %eax,%eax
46b42a:	55                   	push   %ebp
46b42b:	68 a1 b4 46 00       	push   $0x46b4a1
46b430:	64 ff 30             	push   %fs:(%eax)
46b433:	64 89 20             	mov    %esp,%fs:(%eax)
46b436:	85 f6                	test   %esi,%esi
46b438:	75 18                	jne    0x46b452
46b43a:	8d 55 fc             	lea    -0x4(%ebp),%edx
46b43d:	a1 fc b2 49 00       	mov    0x49b2fc,%eax
46b442:	e8 f1 ad f9 ff       	call   0x406238
46b447:	8b 45 fc             	mov    -0x4(%ebp),%eax
46b44a:	8b 53 08             	mov    0x8(%ebx),%edx
46b44d:	e8 2e e6 ff ff       	call   0x469a80
46b452:	8b d6                	mov    %esi,%edx
46b454:	8b c3                	mov    %ebx,%eax
46b456:	e8 c5 00 00 00       	call   0x46b520
46b45b:	85 c0                	test   %eax,%eax
46b45d:	74 27                	je     0x46b486
46b45f:	8b 43 08             	mov    0x8(%ebx),%eax
46b462:	50                   	push   %eax
46b463:	8d 55 f8             	lea    -0x8(%ebp),%edx
46b466:	a1 9c b1 49 00       	mov    0x49b19c,%eax
46b46b:	e8 c8 ad f9 ff       	call   0x406238
46b470:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b473:	50                   	push   %eax
46b474:	89 75 f0             	mov    %esi,-0x10(%ebp)
46b477:	c6 45 f4 0b          	movb   $0xb,-0xc(%ebp)
46b47b:	8d 55 f0             	lea    -0x10(%ebp),%edx
46b47e:	33 c9                	xor    %ecx,%ecx
46b480:	58                   	pop    %eax
46b481:	e8 a6 e6 ff ff       	call   0x469b2c
46b486:	33 c0                	xor    %eax,%eax
46b488:	5a                   	pop    %edx
46b489:	59                   	pop    %ecx
46b48a:	59                   	pop    %ecx
46b48b:	64 89 10             	mov    %edx,%fs:(%eax)
46b48e:	68 a8 b4 46 00       	push   $0x46b4a8
46b493:	8d 45 f8             	lea    -0x8(%ebp),%eax
46b496:	ba 02 00 00 00       	mov    $0x2,%edx
46b49b:	e8 e8 8c f9 ff       	call   0x404188
46b4a0:	c3                   	ret
46b4a1:	e9 c2 86 f9 ff       	jmp    0x403b68
46b4a6:	eb eb                	jmp    0x46b493
46b4a8:	5e                   	pop    %esi
46b4a9:	5b                   	pop    %ebx
46b4aa:	8b e5                	mov    %ebp,%esp
46b4ac:	5d                   	pop    %ebp
46b4ad:	c3                   	ret
46b4ae:	8b c0                	mov    %eax,%eax
46b4b0:	55                   	push   %ebp
46b4b1:	8b ec                	mov    %esp,%ebp
46b4b3:	83 c4 f8             	add    $0xfffffff8,%esp
46b4b6:	53                   	push   %ebx
46b4b7:	56                   	push   %esi
46b4b8:	33 c9                	xor    %ecx,%ecx
46b4ba:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46b4bd:	8b da                	mov    %edx,%ebx
46b4bf:	8b f0                	mov    %eax,%esi
46b4c1:	33 c0                	xor    %eax,%eax
46b4c3:	55                   	push   %ebp
46b4c4:	68 11 b5 46 00       	push   $0x46b511
46b4c9:	64 ff 30             	push   %fs:(%eax)
46b4cc:	64 89 20             	mov    %esp,%fs:(%eax)
46b4cf:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46b4d6:	eb 17                	jmp    0x46b4ef
46b4d8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46b4db:	8d 55 fc             	lea    -0x4(%ebp),%edx
46b4de:	8b c3                	mov    %ebx,%eax
46b4e0:	e8 b7 e6 ff ff       	call   0x469b9c
46b4e5:	8b 55 f8             	mov    -0x8(%ebp),%edx
46b4e8:	8b c6                	mov    %esi,%eax
46b4ea:	e8 75 00 00 00       	call   0x46b564
46b4ef:	8b c3                	mov    %ebx,%eax
46b4f1:	e8 2e 8f f9 ff       	call   0x404424
46b4f6:	3b 45 fc             	cmp    -0x4(%ebp),%eax
46b4f9:	7d dd                	jge    0x46b4d8
46b4fb:	33 c0                	xor    %eax,%eax
46b4fd:	5a                   	pop    %edx
46b4fe:	59                   	pop    %ecx
46b4ff:	59                   	pop    %ecx
46b500:	64 89 10             	mov    %edx,%fs:(%eax)
46b503:	68 18 b5 46 00       	push   $0x46b518
46b508:	8d 45 f8             	lea    -0x8(%ebp),%eax
46b50b:	e8 54 8c f9 ff       	call   0x404164
46b510:	c3                   	ret
46b511:	e9 52 86 f9 ff       	jmp    0x403b68
46b516:	eb f0                	jmp    0x46b508
46b518:	5e                   	pop    %esi
46b519:	5b                   	pop    %ebx
46b51a:	59                   	pop    %ecx
46b51b:	59                   	pop    %ecx
46b51c:	5d                   	pop    %ebp
46b51d:	c3                   	ret
46b51e:	8b c0                	mov    %eax,%eax
46b520:	53                   	push   %ebx
46b521:	56                   	push   %esi
46b522:	57                   	push   %edi
46b523:	55                   	push   %ebp
46b524:	51                   	push   %ecx
46b525:	89 14 24             	mov    %edx,(%esp)
46b528:	8b e8                	mov    %eax,%ebp
46b52a:	8b 45 04             	mov    0x4(%ebp),%eax
46b52d:	8b 58 08             	mov    0x8(%eax),%ebx
46b530:	4b                   	dec    %ebx
46b531:	85 db                	test   %ebx,%ebx
46b533:	7c 22                	jl     0x46b557
46b535:	43                   	inc    %ebx
46b536:	33 ff                	xor    %edi,%edi
46b538:	8b 45 04             	mov    0x4(%ebp),%eax
46b53b:	8b d7                	mov    %edi,%edx
46b53d:	e8 ae 08 fb ff       	call   0x41bdf0
46b542:	8b f0                	mov    %eax,%esi
46b544:	8b 46 38             	mov    0x38(%esi),%eax
46b547:	8b 14 24             	mov    (%esp),%edx
46b54a:	e8 ed cf f9 ff       	call   0x40853c
46b54f:	85 c0                	test   %eax,%eax
46b551:	74 06                	je     0x46b559
46b553:	47                   	inc    %edi
46b554:	4b                   	dec    %ebx
46b555:	75 e1                	jne    0x46b538
46b557:	33 f6                	xor    %esi,%esi
46b559:	8b c6                	mov    %esi,%eax
46b55b:	5a                   	pop    %edx
46b55c:	5d                   	pop    %ebp
46b55d:	5f                   	pop    %edi
46b55e:	5e                   	pop    %esi
46b55f:	5b                   	pop    %ebx
46b560:	c3                   	ret
46b561:	8d 40 00             	lea    0x0(%eax),%eax