46f357:	eb ec                	jmp    0x46f345
46f359:	33 db                	xor    %ebx,%ebx
46f35b:	eb df                	jmp    0x46f33c
46f35d:	55                   	push   %ebp
46f35e:	8b ec                	mov    %esp,%ebp
46f360:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
46f366:	53                   	push   %ebx
46f367:	56                   	push   %esi
46f368:	57                   	push   %edi
46f369:	8b 3d 04 f2 48 00    	mov    0x48f204,%edi
46f36f:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f375:	50                   	push   %eax
46f376:	ff 75 08             	push   0x8(%ebp)
46f379:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46f37c:	32 db                	xor    %bl,%bl
46f37e:	ff d7                	call   *%edi
46f380:	8b f0                	mov    %eax,%esi
46f382:	83 fe ff             	cmp    $0xffffffff,%esi
46f385:	74 5c                	je     0x46f3e3
46f387:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f38d:	68 80 fb 48 00       	push   $0x48fb80
46f392:	50                   	push   %eax
46f393:	e8 f4 43 fb ff       	call   0x42378c
46f398:	59                   	pop    %ecx
46f399:	59                   	pop    %ecx
46f39a:	85 c0                	test   %eax,%eax
46f39c:	74 33                	je     0x46f3d1
46f39e:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f3a4:	68 a0 a5 4b 00       	push   $0x4ba5a0
46f3a9:	50                   	push   %eax
46f3aa:	e8 dd 43 fb ff       	call   0x42378c
46f3af:	59                   	pop    %ecx
46f3b0:	59                   	pop    %ecx
46f3b1:	85 c0                	test   %eax,%eax
46f3b3:	74 1c                	je     0x46f3d1
46f3b5:	ff 75 10             	push   0x10(%ebp)
46f3b8:	8b 55 0c             	mov    0xc(%ebp),%edx
46f3bb:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
46f3c1:	e8 fb 51 ff ff       	call   0x4645c1
46f3c6:	59                   	pop    %ecx
46f3c7:	84 c0                	test   %al,%al
46f3c9:	0f 84 c7 00 00 00    	je     0x46f496
46f3cf:	b3 01                	mov    $0x1,%bl
46f3d1:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f3d7:	50                   	push   %eax
46f3d8:	56                   	push   %esi
46f3d9:	ff 15 18 f2 48 00    	call   *0x48f218
46f3df:	85 c0                	test   %eax,%eax
46f3e1:	75 a4                	jne    0x46f387
46f3e3:	56                   	push   %esi
46f3e4:	ff 15 ec f3 48 00    	call   *0x48f3ec
46f3ea:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
46f3ee:	0f 84 97 00 00 00    	je     0x46f48b
46f3f4:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f3fa:	50                   	push   %eax
46f3fb:	68 98 a5 4b 00       	push   $0x4ba598
46f400:	ff d7                	call   *%edi
46f402:	8b f0                	mov    %eax,%esi
46f404:	83 fe ff             	cmp    $0xffffffff,%esi
46f407:	74 79                	je     0x46f482
46f409:	8b 3d 08 f2 48 00    	mov    0x48f208,%edi
46f40f:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46f412:	f6 85 a8 fd ff ff 10 	testb  $0x10,-0x258(%ebp)
46f419:	74 55                	je     0x46f470
46f41b:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f421:	68 80 fb 48 00       	push   $0x48fb80
46f426:	50                   	push   %eax
46f427:	e8 60 43 fb ff       	call   0x42378c
46f42c:	59                   	pop    %ecx
46f42d:	59                   	pop    %ecx
46f42e:	85 c0                	test   %eax,%eax
46f430:	74 3e                	je     0x46f470
46f432:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f438:	68 a0 a5 4b 00       	push   $0x4ba5a0
46f43d:	50                   	push   %eax
46f43e:	e8 49 43 fb ff       	call   0x42378c
46f443:	59                   	pop    %ecx
46f444:	59                   	pop    %ecx
46f445:	85 c0                	test   %eax,%eax
46f447:	74 27                	je     0x46f470
46f449:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46f44f:	50                   	push   %eax
46f450:	ff d7                	call   *%edi
46f452:	ff 75 14             	push   0x14(%ebp)
46f455:	8b cb                	mov    %ebx,%ecx
46f457:	ff 75 10             	push   0x10(%ebp)
46f45a:	ff 75 0c             	push   0xc(%ebp)
46f45d:	ff 75 08             	push   0x8(%ebp)
46f460:	e8 f8 fe ff ff       	call   0x46f35d
46f465:	84 c0                	test   %al,%al
46f467:	74 38                	je     0x46f4a1
46f469:	68 a0 a5 4b 00       	push   $0x4ba5a0
46f46e:	ff d7                	call   *%edi
46f470:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
46f476:	50                   	push   %eax
46f477:	56                   	push   %esi
46f478:	ff 15 18 f2 48 00    	call   *0x48f218
46f47e:	85 c0                	test   %eax,%eax
46f480:	75 90                	jne    0x46f412
46f482:	b3 01                	mov    $0x1,%bl
46f484:	56                   	push   %esi
46f485:	ff 15 ec f3 48 00    	call   *0x48f3ec
46f48b:	8a c3                	mov    %bl,%al
46f48d:	5f                   	pop    %edi
46f48e:	5e                   	pop    %esi
46f48f:	5b                   	pop    %ebx
46f490:	8b e5                	mov    %ebp,%esp
46f492:	5d                   	pop    %ebp
46f493:	c2 10 00             	ret    $0x10
46f496:	56                   	push   %esi
46f497:	ff 15 ec f3 48 00    	call   *0x48f3ec
46f49d:	32 c0                	xor    %al,%al
46f49f:	eb ec                	jmp    0x46f48d
46f4a1:	33 db                	xor    %ebx,%ebx
46f4a3:	eb df                	jmp    0x46f484
46f4a5:	55                   	push   %ebp
46f4a6:	8b ec                	mov    %esp,%ebp
46f4a8:	83 e4 f8             	and    $0xfffffff8,%esp
46f4ab:	83 ec 18             	sub    $0x18,%esp
46f4ae:	56                   	push   %esi
46f4af:	8b 75 08             	mov    0x8(%ebp),%esi
46f4b2:	57                   	push   %edi
46f4b3:	8b f9                	mov    %ecx,%edi
46f4b5:	8b 46 04             	mov    0x4(%esi),%eax
46f4b8:	8b 00                	mov    (%eax),%eax
46f4ba:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
46f4be:	75 5a                	jne    0x46f51a
46f4c0:	6a 38                	push   $0x38
46f4c2:	e8 2f 1b fb ff       	call   0x420ff6
46f4c7:	59                   	pop    %ecx
46f4c8:	85 c0                	test   %eax,%eax
46f4ca:	74 0b                	je     0x46f4d7
46f4cc:	8b c8                	mov    %eax,%ecx
46f4ce:	e8 33 64 f9 ff       	call   0x405906
46f4d3:	8b f8                	mov    %eax,%edi
46f4d5:	eb 02                	jmp    0x46f4d9
46f4d7:	33 ff                	xor    %edi,%edi
46f4d9:	8b 46 04             	mov    0x4(%esi),%eax
46f4dc:	8b 30                	mov    (%eax),%esi
46f4de:	8b ce                	mov    %esi,%ecx
46f4e0:	e8 b2 a4 f9 ff       	call   0x409997
46f4e5:	6a 01                	push   $0x1
46f4e7:	ff 76 08             	push   0x8(%esi)
46f4ea:	8b cf                	mov    %edi,%ecx
46f4ec:	e8 65 64 f9 ff       	call   0x405956
46f4f1:	84 c0                	test   %al,%al
46f4f3:	75 50                	jne    0x46f545
46f4f5:	85 ff                	test   %edi,%edi
46f4f7:	74 08                	je     0x46f501
46f4f9:	51                   	push   %ecx
46f4fa:	8b cf                	mov    %edi,%ecx
46f4fc:	e8 19 65 f9 ff       	call   0x405a1a
46f501:	8b 75 0c             	mov    0xc(%ebp),%esi
46f504:	8b ce                	mov    %esi,%ecx
46f506:	e8 15 a5 f9 ff       	call   0x409a20
46f50b:	83 26 00             	andl   $0x0,(%esi)
46f50e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46f515:	e9 3a 01 00 00       	jmp    0x46f654
46f51a:	6a 00                	push   $0x0
46f51c:	50                   	push   %eax
46f51d:	8d 44 24 14          	lea    0x14(%esp),%eax
46f521:	50                   	push   %eax
46f522:	e8 b8 02 00 00       	call   0x46f7df
46f527:	84 c0                	test   %al,%al
46f529:	74 d6                	je     0x46f501
46f52b:	8b 8f 94 01 00 00    	mov    0x194(%edi),%ecx
46f531:	8b 44 24 0c          	mov    0xc(%esp),%eax
46f535:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46f538:	8b 00                	mov    (%eax),%eax
46f53a:	8b 78 04             	mov    0x4(%eax),%edi
46f53d:	f6 47 28 03          	testb  $0x3,0x28(%edi)
46f541:	75 05                	jne    0x46f548
46f543:	eb bc                	jmp    0x46f501
46f545:	8b 75 08             	mov    0x8(%ebp),%esi
46f548:	8b 46 04             	mov    0x4(%esi),%eax
46f54b:	8b 70 04             	mov    0x4(%eax),%esi
46f54e:	83 7e 0c 0b          	cmpl   $0xb,0xc(%esi)
46f552:	0f 84 9b 00 00 00    	je     0x46f5f3
46f558:	8b cf                	mov    %edi,%ecx
46f55a:	e8 a9 61 f9 ff       	call   0x405708
46f55f:	a8 10                	test   $0x10,%al
46f561:	0f 85 8c 00 00 00    	jne    0x46f5f3
46f567:	8b ce                	mov    %esi,%ecx
46f569:	e8 29 a4 f9 ff       	call   0x409997
46f56e:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
46f572:	8b 76 08             	mov    0x8(%esi),%esi
46f575:	74 72                	je     0x46f5e9
46f577:	8b 46 04             	mov    0x4(%esi),%eax
46f57a:	85 c0                	test   %eax,%eax
46f57c:	74 27                	je     0x46f5a5
46f57e:	48                   	dec    %eax
46f57f:	8b ce                	mov    %esi,%ecx
46f581:	50                   	push   %eax
46f582:	89 44 24 10          	mov    %eax,0x10(%esp)
46f586:	e8 95 85 f9 ff       	call   0x407b20
46f58b:	66 83 38 0d          	cmpw   $0xd,(%eax)
46f58f:	74 58                	je     0x46f5e9
46f591:	ff 74 24 0c          	push   0xc(%esp)
46f595:	8b ce                	mov    %esi,%ecx
46f597:	e8 84 85 f9 ff       	call   0x407b20
46f59c:	66 83 38 0a          	cmpw   $0xa,(%eax)
46f5a0:	74 47                	je     0x46f5e9
46f5a2:	8b 46 04             	mov    0x4(%esi),%eax
46f5a5:	83 c0 02             	add    $0x2,%eax
46f5a8:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46f5ac:	50                   	push   %eax
46f5ad:	e8 c4 85 f9 ff       	call   0x407b76
46f5b2:	56                   	push   %esi
46f5b3:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46f5b7:	e8 eb 8b f9 ff       	call   0x4081a7
46f5bc:	68 70 a4 4b 00       	push   $0x4ba470
46f5c1:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46f5c5:	e8 41 88 f9 ff       	call   0x407e0b
46f5ca:	8d 44 24 10          	lea    0x10(%esp),%eax
46f5ce:	8b cf                	mov    %edi,%ecx
46f5d0:	50                   	push   %eax
46f5d1:	e8 0f 41 ff ff       	call   0x4636e5
46f5d6:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46f5da:	88 44 24 0b          	mov    %al,0xb(%esp)
46f5de:	e8 81 64 f9 ff       	call   0x405a64
46f5e3:	8a 44 24 0b          	mov    0xb(%esp),%al
46f5e7:	eb 32                	jmp    0x46f61b
46f5e9:	56                   	push   %esi
46f5ea:	8b cf                	mov    %edi,%ecx
46f5ec:	e8 f4 40 ff ff       	call   0x4636e5
46f5f1:	eb 28                	jmp    0x46f61b
46f5f3:	8b ce                	mov    %esi,%ecx
46f5f5:	e8 a5 93 ff ff       	call   0x46899f
46f5fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
46f5fd:	8b d0                	mov    %eax,%edx
46f5ff:	8b 49 04             	mov    0x4(%ecx),%ecx
46f602:	8b 49 04             	mov    0x4(%ecx),%ecx
46f605:	e8 d8 93 ff ff       	call   0x4689e2
46f60a:	8b f0                	mov    %eax,%esi
46f60c:	8b cf                	mov    %edi,%ecx
46f60e:	56                   	push   %esi
46f60f:	52                   	push   %edx
46f610:	e8 81 40 ff ff       	call   0x463696
46f615:	3b c6                	cmp    %esi,%eax
46f617:	74 1a                	je     0x46f633
46f619:	32 c0                	xor    %al,%al
46f61b:	84 c0                	test   %al,%al
46f61d:	75 14                	jne    0x46f633
46f61f:	8b 75 0c             	mov    0xc(%ebp),%esi
46f622:	8b ce                	mov    %esi,%ecx
46f624:	e8 f7 a3 f9 ff       	call   0x409a20
46f629:	83 26 00             	andl   $0x0,(%esi)
46f62c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46f633:	8b 45 08             	mov    0x8(%ebp),%eax
46f636:	8b 40 04             	mov    0x4(%eax),%eax
46f639:	8b 00                	mov    (%eax),%eax
46f63b:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
46f63f:	75 13                	jne    0x46f654
46f641:	8b cf                	mov    %edi,%ecx
46f643:	e8 87 67 f9 ff       	call   0x405dcf
46f648:	85 ff                	test   %edi,%edi
46f64a:	74 08                	je     0x46f654
46f64c:	51                   	push   %ecx
46f64d:	8b cf                	mov    %edi,%ecx
46f64f:	e8 c6 63 f9 ff       	call   0x405a1a
46f654:	5f                   	pop    %edi
46f655:	33 c0                	xor    %eax,%eax
46f657:	5e                   	pop    %esi
46f658:	8b e5                	mov    %ebp,%esp
46f65a:	5d                   	pop    %ebp
46f65b:	c2 0c 00             	ret    $0xc
46f65e:	55                   	push   %ebp
46f65f:	8b ec                	mov    %esp,%ebp
46f661:	81 ec 7c 02 00 00    	sub    $0x27c,%esp
46f667:	53                   	push   %ebx
46f668:	56                   	push   %esi
46f669:	57                   	push   %edi
46f66a:	ff 75 08             	push   0x8(%ebp)
46f66d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
46f670:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f673:	e8 c9 88 f9 ff       	call   0x407f41
46f678:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f67b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f67e:	89 45 dc             	mov    %eax,-0x24(%ebp)
46f681:	8b 45 f4             	mov    -0xc(%ebp),%eax
46f684:	89 45 e0             	mov    %eax,-0x20(%ebp)
46f687:	8b 45 f8             	mov    -0x8(%ebp),%eax
46f68a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46f68d:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f690:	68 98 a5 4b 00       	push   $0x4ba598
46f695:	89 45 e8             	mov    %eax,-0x18(%ebp)
46f698:	ff 00                	incl   (%eax)
46f69a:	e8 6c 87 f9 ff       	call   0x407e0b
46f69f:	8d 85 88 fd ff ff    	lea    -0x278(%ebp),%eax
46f6a5:	b3 01                	mov    $0x1,%bl
46f6a7:	50                   	push   %eax
46f6a8:	ff 75 f0             	push   -0x10(%ebp)
46f6ab:	ff 15 04 f2 48 00    	call   *0x48f204
46f6b1:	89 45 08             	mov    %eax,0x8(%ebp)
46f6b4:	83 f8 ff             	cmp    $0xffffffff,%eax
46f6b7:	0f 84 00 01 00 00    	je     0x46f7bd
46f6bd:	8b 75 14             	mov    0x14(%ebp),%esi
46f6c0:	8b 7d 10             	mov    0x10(%ebp),%edi
46f6c3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f6c6:	e8 55 72 fe ff       	call   0x456920
46f6cb:	83 f8 01             	cmp    $0x1,%eax
46f6ce:	0f 84 e4 00 00 00    	je     0x46f7b8
46f6d4:	83 f8 0b             	cmp    $0xb,%eax
46f6d7:	75 0a                	jne    0x46f6e3
46f6d9:	6a 0a                	push   $0xa
46f6db:	ff 15 7c f1 48 00    	call   *0x48f17c
46f6e1:	eb e0                	jmp    0x46f6c3
46f6e3:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
46f6e9:	68 80 fb 48 00       	push   $0x48fb80
46f6ee:	50                   	push   %eax
46f6ef:	e8 98 40 fb ff       	call   0x42378c
46f6f4:	59                   	pop    %ecx
46f6f5:	59                   	pop    %ecx
46f6f6:	85 c0                	test   %eax,%eax
46f6f8:	0f 84 a0 00 00 00    	je     0x46f79e
46f6fe:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
46f704:	68 a0 a5 4b 00       	push   $0x4ba5a0
46f709:	50                   	push   %eax
46f70a:	e8 7d 40 fb ff       	call   0x42378c
46f70f:	59                   	pop    %ecx
46f710:	59                   	pop    %ecx
46f711:	85 c0                	test   %eax,%eax
46f713:	0f 84 85 00 00 00    	je     0x46f79e
46f719:	8d 45 dc             	lea    -0x24(%ebp),%eax
46f71c:	50                   	push   %eax
46f71d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f720:	e8 82 8a f9 ff       	call   0x4081a7
46f725:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
46f72b:	50                   	push   %eax
46f72c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f72f:	e8 d7 86 f9 ff       	call   0x407e0b
46f734:	f6 85 88 fd ff ff 10 	testb  $0x10,-0x278(%ebp)
46f73b:	74 3e                	je     0x46f77b
46f73d:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
46f741:	74 07                	je     0x46f74a
46f743:	83 06 01             	addl   $0x1,(%esi)
46f746:	83 56 04 00          	adcl   $0x0,0x4(%esi)
46f74a:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
46f74e:	74 4e                	je     0x46f79e
46f750:	68 c0 fa 48 00       	push   $0x48fac0
46f755:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f758:	e8 ae 86 f9 ff       	call   0x407e0b
46f75d:	ff 75 1c             	push   0x1c(%ebp)
46f760:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f763:	ff 75 18             	push   0x18(%ebp)
46f766:	56                   	push   %esi
46f767:	57                   	push   %edi
46f768:	ff 75 0c             	push   0xc(%ebp)
46f76b:	ff 75 f0             	push   -0x10(%ebp)
46f76e:	e8 eb fe ff ff       	call   0x46f65e