46c315:	51                   	push   %ecx
46c316:	ff d6                	call   *%esi
46c318:	ff 75 e4             	push   -0x1c(%ebp)
46c31b:	89 45 0c             	mov    %eax,0xc(%ebp)
46c31e:	6a ff                	push   $0xffffffff
46c320:	ff 75 10             	push   0x10(%ebp)
46c323:	ff d6                	call   *%esi
46c325:	80 7d 0b 13          	cmpb   $0x13,0xb(%ebp)
46c329:	75 09                	jne    0x46c334
46c32b:	8b 45 0c             	mov    0xc(%ebp),%eax
46c32e:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
46c334:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c337:	8b 55 f0             	mov    -0x10(%ebp),%edx
46c33a:	8b 75 f4             	mov    -0xc(%ebp),%esi
46c33d:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
46c343:	8b c8                	mov    %eax,%ecx
46c345:	89 4d 10             	mov    %ecx,0x10(%ebp)
46c348:	3b c2                	cmp    %edx,%eax
46c34a:	7f 60                	jg     0x46c3ac
46c34c:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
46c352:	50                   	push   %eax
46c353:	57                   	push   %edi
46c354:	68 4b 10 00 00       	push   $0x104b
46c359:	56                   	push   %esi
46c35a:	c7 85 58 ff ff ff 02 	movl   $0x2,-0xa8(%ebp)
46c361:	00 00 00
46c364:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
46c36a:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
46c370:	ff d3                	call   *%ebx
46c372:	83 bd 74 ff ff ff fe 	cmpl   $0xfffffffe,-0x8c(%ebp)
46c379:	74 06                	je     0x46c381
46c37b:	80 7d 0b 14          	cmpb   $0x14,0xb(%ebp)
46c37f:	75 19                	jne    0x46c39a
46c381:	8b 45 0c             	mov    0xc(%ebp),%eax
46c384:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
46c38a:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
46c390:	50                   	push   %eax
46c391:	57                   	push   %edi
46c392:	68 4c 10 00 00       	push   $0x104c
46c397:	56                   	push   %esi
46c398:	ff d3                	call   *%ebx
46c39a:	8b 4d 10             	mov    0x10(%ebp),%ecx
46c39d:	41                   	inc    %ecx
46c39e:	89 4d 10             	mov    %ecx,0x10(%ebp)
46c3a1:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
46c3a4:	7e a6                	jle    0x46c34c
46c3a6:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c3a9:	8b 55 f0             	mov    -0x10(%ebp),%edx
46c3ac:	52                   	push   %edx
46c3ad:	50                   	push   %eax
46c3ae:	68 15 10 00 00       	push   $0x1015
46c3b3:	56                   	push   %esi
46c3b4:	ff d3                	call   *%ebx
46c3b6:	ff 75 f8             	push   -0x8(%ebp)
46c3b9:	8b 35 24 d7 48 00    	mov    0x48d724,%esi
46c3bf:	ff d6                	call   *%esi
46c3c1:	ff 75 e4             	push   -0x1c(%ebp)
46c3c4:	ff d6                	call   *%esi
46c3c6:	33 f6                	xor    %esi,%esi
46c3c8:	46                   	inc    %esi
46c3c9:	eb 02                	jmp    0x46c3cd
46c3cb:	8b f7                	mov    %edi,%esi
46c3cd:	8d 4d 14             	lea    0x14(%ebp),%ecx
46c3d0:	e8 4b 68 fa ff       	call   0x412c20
46c3d5:	5f                   	pop    %edi
46c3d6:	8b c6                	mov    %esi,%eax
46c3d8:	5e                   	pop    %esi
46c3d9:	5b                   	pop    %ebx
46c3da:	c9                   	leave
46c3db:	c2 1c 00             	ret    $0x1c
46c3de:	55                   	push   %ebp
46c3df:	8b ec                	mov    %esp,%ebp
46c3e1:	51                   	push   %ecx
46c3e2:	51                   	push   %ecx
46c3e3:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c3e6:	50                   	push   %eax
46c3e7:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c3ea:	50                   	push   %eax
46c3eb:	ff 75 08             	push   0x8(%ebp)
46c3ee:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c3f3:	e8 06 10 fa ff       	call   0x40d3fe
46c3f8:	84 c0                	test   %al,%al
46c3fa:	75 07                	jne    0x46c403
46c3fc:	33 c0                	xor    %eax,%eax
46c3fe:	e9 8f 00 00 00       	jmp    0x46c492
46c403:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c406:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c40b:	56                   	push   %esi
46c40c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c40f:	8b 00                	mov    (%eax),%eax
46c411:	8b 30                	mov    (%eax),%esi
46c413:	0f b6 80 90 00 00 00 	movzbl 0x90(%eax),%eax
46c41a:	48                   	dec    %eax
46c41b:	74 5a                	je     0x46c477
46c41d:	48                   	dec    %eax
46c41e:	74 45                	je     0x46c465
46c420:	48                   	dec    %eax
46c421:	74 32                	je     0x46c455
46c423:	83 e8 0f             	sub    $0xf,%eax
46c426:	74 16                	je     0x46c43e
46c428:	83 e8 04             	sub    $0x4,%eax
46c42b:	74 04                	je     0x46c431
46c42d:	33 c0                	xor    %eax,%eax
46c42f:	eb 60                	jmp    0x46c491
46c431:	ff 75 0c             	push   0xc(%ebp)
46c434:	ff 75 10             	push   0x10(%ebp)
46c437:	68 6f 04 00 00       	push   $0x46f
46c43c:	eb 49                	jmp    0x46c487
46c43e:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
46c442:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
46c446:	c1 e1 10             	shl    $0x10,%ecx
46c449:	0b c8                	or     %eax,%ecx
46c44b:	51                   	push   %ecx
46c44c:	6a 01                	push   $0x1
46c44e:	68 06 04 00 00       	push   $0x406
46c453:	eb 32                	jmp    0x46c487
46c455:	6a ff                	push   $0xffffffff
46c457:	6a 00                	push   $0x0
46c459:	68 b1 00 00 00       	push   $0xb1
46c45e:	56                   	push   %esi
46c45f:	ff 15 70 d6 48 00    	call   *0x48d670
46c465:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46c469:	7e 23                	jle    0x46c48e
46c46b:	6a 00                	push   $0x0
46c46d:	ff 75 0c             	push   0xc(%ebp)
46c470:	68 c5 00 00 00       	push   $0xc5
46c475:	eb 10                	jmp    0x46c487
46c477:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46c47b:	7e 11                	jle    0x46c48e
46c47d:	6a 00                	push   $0x0
46c47f:	ff 75 0c             	push   0xc(%ebp)
46c482:	68 94 01 00 00       	push   $0x194
46c487:	56                   	push   %esi
46c488:	ff 15 70 d6 48 00    	call   *0x48d670
46c48e:	33 c0                	xor    %eax,%eax
46c490:	40                   	inc    %eax
46c491:	5e                   	pop    %esi
46c492:	c9                   	leave
46c493:	c2 0c 00             	ret    $0xc
46c496:	55                   	push   %ebp
46c497:	8b ec                	mov    %esp,%ebp
46c499:	51                   	push   %ecx
46c49a:	51                   	push   %ecx
46c49b:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c49e:	50                   	push   %eax
46c49f:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c4a2:	50                   	push   %eax
46c4a3:	ff 75 08             	push   0x8(%ebp)
46c4a6:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c4ab:	e8 4e 0f fa ff       	call   0x40d3fe
46c4b0:	84 c0                	test   %al,%al
46c4b2:	75 04                	jne    0x46c4b8
46c4b4:	33 c0                	xor    %eax,%eax
46c4b6:	eb 1b                	jmp    0x46c4d3
46c4b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c4bb:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c4c0:	ff 75 0c             	push   0xc(%ebp)
46c4c3:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c4c6:	8b 08                	mov    (%eax),%ecx
46c4c8:	83 c1 14             	add    $0x14,%ecx
46c4cb:	e8 1d aa f9 ff       	call   0x406eed
46c4d0:	33 c0                	xor    %eax,%eax
46c4d2:	40                   	inc    %eax
46c4d3:	c9                   	leave
46c4d4:	c2 08 00             	ret    $0x8
46c4d7:	55                   	push   %ebp
46c4d8:	8b ec                	mov    %esp,%ebp
46c4da:	83 ec 1c             	sub    $0x1c,%esp
46c4dd:	8d 45 f4             	lea    -0xc(%ebp),%eax
46c4e0:	50                   	push   %eax
46c4e1:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c4e4:	50                   	push   %eax
46c4e5:	ff 75 08             	push   0x8(%ebp)
46c4e8:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c4ed:	e8 0c 0f fa ff       	call   0x40d3fe
46c4f2:	84 c0                	test   %al,%al
46c4f4:	75 07                	jne    0x46c4fd
46c4f6:	33 c0                	xor    %eax,%eax
46c4f8:	e9 56 01 00 00       	jmp    0x46c653
46c4fd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c500:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46c505:	53                   	push   %ebx
46c506:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c509:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46c50c:	8b 18                	mov    (%eax),%ebx
46c50e:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c513:	56                   	push   %esi
46c514:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c517:	57                   	push   %edi
46c518:	8b 30                	mov    (%eax),%esi
46c51a:	8b 7d 14             	mov    0x14(%ebp),%edi
46c51d:	83 c8 ff             	or     $0xffffffff,%eax
46c520:	89 75 f4             	mov    %esi,-0xc(%ebp)
46c523:	39 45 0c             	cmp    %eax,0xc(%ebp)
46c526:	75 12                	jne    0x46c53a
46c528:	39 45 10             	cmp    %eax,0x10(%ebp)
46c52b:	75 0d                	jne    0x46c53a
46c52d:	3b f8                	cmp    %eax,%edi
46c52f:	75 09                	jne    0x46c53a
46c531:	39 45 18             	cmp    %eax,0x18(%ebp)
46c534:	0f 84 13 01 00 00    	je     0x46c64d
46c53a:	8b 06                	mov    (%esi),%eax
46c53c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46c53f:	51                   	push   %ecx
46c540:	50                   	push   %eax
46c541:	89 45 08             	mov    %eax,0x8(%ebp)
46c544:	ff 15 7c d6 48 00    	call   *0x48d67c
46c54a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46c54d:	83 ff ff             	cmp    $0xffffffff,%edi
46c550:	75 05                	jne    0x46c557
46c552:	8b 7d ec             	mov    -0x14(%ebp),%edi
46c555:	2b fa                	sub    %edx,%edi
46c557:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
46c55b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46c55e:	75 08                	jne    0x46c568
46c560:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c563:	2b c1                	sub    %ecx,%eax
46c565:	89 45 18             	mov    %eax,0x18(%ebp)
46c568:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c56b:	50                   	push   %eax
46c56c:	ff 33                	push   (%ebx)
46c56e:	89 55 f8             	mov    %edx,-0x8(%ebp)
46c571:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46c574:	ff 15 54 d6 48 00    	call   *0x48d654
46c57a:	8b 45 0c             	mov    0xc(%ebp),%eax
46c57d:	83 f8 ff             	cmp    $0xffffffff,%eax
46c580:	75 06                	jne    0x46c588
46c582:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c585:	89 45 0c             	mov    %eax,0xc(%ebp)
46c588:	8b 55 10             	mov    0x10(%ebp),%edx
46c58b:	83 fa ff             	cmp    $0xffffffff,%edx
46c58e:	75 03                	jne    0x46c593
46c590:	8b 55 fc             	mov    -0x4(%ebp),%edx
46c593:	8b 4d 18             	mov    0x18(%ebp),%ecx
46c596:	89 43 58             	mov    %eax,0x58(%ebx)
46c599:	89 53 5c             	mov    %edx,0x5c(%ebx)
46c59c:	89 7b 60             	mov    %edi,0x60(%ebx)
46c59f:	89 4b 64             	mov    %ecx,0x64(%ebx)
46c5a2:	0f bf 86 88 00 00 00 	movswl 0x88(%esi),%eax
46c5a9:	3b 45 0c             	cmp    0xc(%ebp),%eax
46c5ac:	75 21                	jne    0x46c5cf
46c5ae:	0f bf 86 8a 00 00 00 	movswl 0x8a(%esi),%eax
46c5b5:	3b c2                	cmp    %edx,%eax
46c5b7:	75 16                	jne    0x46c5cf
46c5b9:	0f bf 86 8c 00 00 00 	movswl 0x8c(%esi),%eax
46c5c0:	3b c7                	cmp    %edi,%eax
46c5c2:	75 0b                	jne    0x46c5cf
46c5c4:	0f bf 86 8e 00 00 00 	movswl 0x8e(%esi),%eax
46c5cb:	3b c1                	cmp    %ecx,%eax
46c5cd:	74 7e                	je     0x46c64d
46c5cf:	6a 01                	push   $0x1
46c5d1:	51                   	push   %ecx
46c5d2:	57                   	push   %edi
46c5d3:	52                   	push   %edx
46c5d4:	ff 75 0c             	push   0xc(%ebp)
46c5d7:	ff 75 08             	push   0x8(%ebp)
46c5da:	ff 15 e8 d6 48 00    	call   *0x48d6e8
46c5e0:	6a 01                	push   $0x1
46c5e2:	56                   	push   %esi
46c5e3:	53                   	push   %ebx
46c5e4:	e8 e4 06 fb ff       	call   0x41cccd
46c5e9:	80 be 90 00 00 00 03 	cmpb   $0x3,0x90(%esi)
46c5f0:	75 52                	jne    0x46c644
46c5f2:	8b 15 ac 16 4c 00    	mov    0x4c16ac,%edx
46c5f8:	6a 03                	push   $0x3
46c5fa:	5f                   	pop    %edi
46c5fb:	3b d7                	cmp    %edi,%edx
46c5fd:	7c 45                	jl     0x46c644
46c5ff:	8b 75 08             	mov    0x8(%ebp),%esi
46c602:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46c607:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46c60a:	8b 08                	mov    (%eax),%ecx
46c60c:	85 c9                	test   %ecx,%ecx
46c60e:	74 2c                	je     0x46c63c
46c610:	8b 41 04             	mov    0x4(%ecx),%eax
46c613:	3b 43 04             	cmp    0x4(%ebx),%eax
46c616:	75 24                	jne    0x46c63c
46c618:	80 b9 90 00 00 00 16 	cmpb   $0x16,0x90(%ecx)
46c61f:	75 1b                	jne    0x46c63c
46c621:	39 71 34             	cmp    %esi,0x34(%ecx)
46c624:	75 16                	jne    0x46c63c
46c626:	6a 00                	push   $0x0
46c628:	56                   	push   %esi
46c629:	68 69 04 00 00       	push   $0x469
46c62e:	ff 31                	push   (%ecx)
46c630:	ff 15 70 d6 48 00    	call   *0x48d670
46c636:	8b 15 ac 16 4c 00    	mov    0x4c16ac,%edx
46c63c:	47                   	inc    %edi
46c63d:	3b fa                	cmp    %edx,%edi
46c63f:	7e c1                	jle    0x46c602
46c641:	8b 75 f4             	mov    -0xc(%ebp),%esi
46c644:	6a 01                	push   $0x1
46c646:	56                   	push   %esi
46c647:	53                   	push   %ebx
46c648:	e8 91 19 00 00       	call   0x46dfde
46c64d:	5f                   	pop    %edi
46c64e:	33 c0                	xor    %eax,%eax
46c650:	5e                   	pop    %esi
46c651:	40                   	inc    %eax
46c652:	5b                   	pop    %ebx
46c653:	c9                   	leave
46c654:	c2 14 00             	ret    $0x14
46c657:	55                   	push   %ebp
46c658:	8b ec                	mov    %esp,%ebp
46c65a:	51                   	push   %ecx
46c65b:	51                   	push   %ecx
46c65c:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c65f:	50                   	push   %eax
46c660:	8d 45 f8             	lea    -0x8(%ebp),%eax
46c663:	50                   	push   %eax
46c664:	ff 75 08             	push   0x8(%ebp)
46c667:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46c66c:	e8 8d 0d fa ff       	call   0x40d3fe
46c671:	84 c0                	test   %al,%al
46c673:	75 04                	jne    0x46c679
46c675:	33 c0                	xor    %eax,%eax
46c677:	eb 6c                	jmp    0x46c6e5
46c679:	8b 15 9c 16 4c 00    	mov    0x4c169c,%edx
46c67f:	53                   	push   %ebx
46c680:	56                   	push   %esi
46c681:	57                   	push   %edi
46c682:	8b 7d fc             	mov    -0x4(%ebp),%edi
46c685:	33 db                	xor    %ebx,%ebx
46c687:	8b 04 ba             	mov    (%edx,%edi,4),%eax
46c68a:	8b 30                	mov    (%eax),%esi
46c68c:	66 39 9e 86 00 00 00 	cmp    %bx,0x86(%esi)
46c693:	74 0b                	je     0x46c6a0
46c695:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46c698:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
46c69e:	7c 04                	jl     0x46c6a4
46c6a0:	33 c0                	xor    %eax,%eax
46c6a2:	eb 3e                	jmp    0x46c6e2
46c6a4:	85 c9                	test   %ecx,%ecx
46c6a6:	79 02                	jns    0x46c6aa
46c6a8:	8b cb                	mov    %ebx,%ecx
46c6aa:	8d 41 ff             	lea    -0x1(%ecx),%eax
46c6ad:	3d fe 03 00 00       	cmp    $0x3fe,%eax
46c6b2:	77 0d                	ja     0x46c6c1
46c6b4:	66 89 8e 86 00 00 00 	mov    %cx,0x86(%esi)
46c6bb:	8b 15 9c 16 4c 00    	mov    0x4c169c,%edx
46c6c1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46c6c4:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46c6c9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46c6cc:	8b 08                	mov    (%eax),%ecx
46c6ce:	38 59 3a             	cmp    %bl,0x3a(%ecx)
46c6d1:	75 0c                	jne    0x46c6df
46c6d3:	8b 04 ba             	mov    (%edx,%edi,4),%eax
46c6d6:	53                   	push   %ebx
46c6d7:	ff 30                	push   (%eax)
46c6d9:	51                   	push   %ecx