4644e4:	5f                   	pop    %edi
4644e5:	5e                   	pop    %esi
4644e6:	5b                   	pop    %ebx
4644e7:	c9                   	leave
4644e8:	c2 10 00             	ret    $0x10
4644eb:	55                   	push   %ebp
4644ec:	8b ec                	mov    %esp,%ebp
4644ee:	53                   	push   %ebx
4644ef:	56                   	push   %esi
4644f0:	57                   	push   %edi
4644f1:	8b d9                	mov    %ecx,%ebx
4644f3:	68 61 08 47 00       	push   $0x470861
4644f8:	b9 e4 c6 4a 00       	mov    $0x4ac6e4,%ecx
4644fd:	e8 f8 9a 00 00       	call   0x46dffa
464502:	ff 75 08             	push   0x8(%ebp)
464505:	8b f0                	mov    %eax,%esi
464507:	8d 7e 0c             	lea    0xc(%esi),%edi
46450a:	8b cf                	mov    %edi,%ecx
46450c:	e8 70 cc f9 ff       	call   0x401181
464511:	ff 75 0c             	push   0xc(%ebp)
464514:	8d 4e 10             	lea    0x10(%esi),%ecx
464517:	89 4d 08             	mov    %ecx,0x8(%ebp)
46451a:	e8 62 cc f9 ff       	call   0x401181
46451f:	8b 45 10             	mov    0x10(%ebp),%eax
464522:	8b cb                	mov    %ebx,%ecx
464524:	89 46 14             	mov    %eax,0x14(%esi)
464527:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
46452e:	e8 61 fe ff ff       	call   0x464394
464533:	85 c0                	test   %eax,%eax
464535:	75 0f                	jne    0x464546
464537:	ff 76 14             	push   0x14(%esi)
46453a:	8b 07                	mov    (%edi),%eax
46453c:	50                   	push   %eax
46453d:	8b cb                	mov    %ebx,%ecx
46453f:	e8 7f f9 ff ff       	call   0x463ec3
464544:	eb 24                	jmp    0x46456a
464546:	8b 45 08             	mov    0x8(%ebp),%eax
464549:	ff 30                	push   (%eax)
46454b:	6a 00                	push   $0x0
46454d:	68 c2 00 00 00       	push   $0xc2
464552:	ff 73 1c             	push   0x1c(%ebx)
464555:	ff 15 98 08 4b 00    	call   *0x4b0898
46455b:	ff 75 10             	push   0x10(%ebp)
46455e:	8b 07                	mov    (%edi),%eax
464560:	6a 01                	push   $0x1
464562:	50                   	push   %eax
464563:	8b cb                	mov    %ebx,%ecx
464565:	e8 fc f9 ff ff       	call   0x463f66
46456a:	85 c0                	test   %eax,%eax
46456c:	75 d8                	jne    0x464546
46456e:	5f                   	pop    %edi
46456f:	5e                   	pop    %esi
464570:	5b                   	pop    %ebx
464571:	5d                   	pop    %ebp
464572:	c2 0c 00             	ret    $0xc
464575:	b8 1b 42 48 00       	mov    $0x48421b,%eax
46457a:	e8 fd 36 fb ff       	call   0x417c7c
46457f:	83 ec 10             	sub    $0x10,%esp
464582:	53                   	push   %ebx
464583:	56                   	push   %esi
464584:	57                   	push   %edi
464585:	8b f9                	mov    %ecx,%edi
464587:	68 61 08 47 00       	push   $0x470861
46458c:	b9 e4 c6 4a 00       	mov    $0x4ac6e4,%ecx
464591:	e8 64 9a 00 00       	call   0x46dffa
464596:	ff 75 0c             	push   0xc(%ebp)
464599:	8b d8                	mov    %eax,%ebx
46459b:	e8 db 1a fd ff       	call   0x43607b
4645a0:	8b f0                	mov    %eax,%esi
4645a2:	8b 46 7c             	mov    0x7c(%esi),%eax
4645a5:	a8 40                	test   $0x40,%al
4645a7:	74 09                	je     0x4645b2
4645a9:	83 63 04 00          	andl   $0x0,0x4(%ebx)
4645ad:	e9 e3 00 00 00       	jmp    0x464695
4645b2:	a8 08                	test   $0x8,%al
4645b4:	74 34                	je     0x4645ea
4645b6:	8d 45 0c             	lea    0xc(%ebp),%eax
4645b9:	50                   	push   %eax
4645ba:	8b ce                	mov    %esi,%ecx
4645bc:	e8 f2 1a fb ff       	call   0x4160b3
4645c1:	8b 76 7c             	mov    0x7c(%esi),%esi
4645c4:	8b 17                	mov    (%edi),%edx
4645c6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4645ca:	8b ce                	mov    %esi,%ecx
4645cc:	33 db                	xor    %ebx,%ebx
4645ce:	c1 e9 02             	shr    $0x2,%ecx
4645d1:	43                   	inc    %ebx
4645d2:	23 cb                	and    %ebx,%ecx
4645d4:	51                   	push   %ecx
4645d5:	23 f3                	and    %ebx,%esi
4645d7:	56                   	push   %esi
4645d8:	ff 30                	push   (%eax)
4645da:	8b cf                	mov    %edi,%ecx
4645dc:	ff 92 80 01 00 00    	call   *0x180(%edx)
4645e2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4645e5:	e9 a3 00 00 00       	jmp    0x46468d
4645ea:	a8 10                	test   $0x10,%al
4645ec:	74 52                	je     0x464640
4645ee:	8d 45 ec             	lea    -0x14(%ebp),%eax
4645f1:	50                   	push   %eax
4645f2:	8b ce                	mov    %esi,%ecx
4645f4:	e8 9d 1a fb ff       	call   0x416096
4645f9:	89 45 0c             	mov    %eax,0xc(%ebp)
4645fc:	33 db                	xor    %ebx,%ebx
4645fe:	8d 45 f0             	lea    -0x10(%ebp),%eax
464601:	43                   	inc    %ebx
464602:	50                   	push   %eax
464603:	8b ce                	mov    %esi,%ecx
464605:	89 5d fc             	mov    %ebx,-0x4(%ebp)
464608:	e8 a6 1a fb ff       	call   0x4160b3
46460d:	8b 76 7c             	mov    0x7c(%esi),%esi
464610:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464613:	ff 31                	push   (%ecx)
464615:	8b 17                	mov    (%edi),%edx
464617:	8b ce                	mov    %esi,%ecx
464619:	c1 e9 02             	shr    $0x2,%ecx
46461c:	23 cb                	and    %ebx,%ecx
46461e:	51                   	push   %ecx
46461f:	23 f3                	and    %ebx,%esi
464621:	56                   	push   %esi
464622:	ff 30                	push   (%eax)
464624:	8b cf                	mov    %edi,%ecx
464626:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46462a:	ff 92 84 01 00 00    	call   *0x184(%edx)
464630:	8b 4d f0             	mov    -0x10(%ebp),%ecx
464633:	83 c1 f0             	add    $0xfffffff0,%ecx
464636:	e8 17 cd f9 ff       	call   0x401352
46463b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46463e:	eb 4d                	jmp    0x46468d
464640:	a8 20                	test   $0x20,%al
464642:	74 51                	je     0x464695
464644:	8d 45 e4             	lea    -0x1c(%ebp),%eax
464647:	50                   	push   %eax
464648:	8b ce                	mov    %esi,%ecx
46464a:	e8 47 1a fb ff       	call   0x416096
46464f:	8b d8                	mov    %eax,%ebx
464651:	8d 45 e8             	lea    -0x18(%ebp),%eax
464654:	50                   	push   %eax
464655:	8b ce                	mov    %esi,%ecx
464657:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
46465e:	e8 50 1a fb ff       	call   0x4160b3
464663:	8b 4e 7c             	mov    0x7c(%esi),%ecx
464666:	8b 17                	mov    (%edi),%edx
464668:	c1 e9 02             	shr    $0x2,%ecx
46466b:	83 e1 01             	and    $0x1,%ecx
46466e:	51                   	push   %ecx
46466f:	ff 33                	push   (%ebx)
464671:	8b cf                	mov    %edi,%ecx
464673:	ff 30                	push   (%eax)
464675:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
464679:	ff 92 88 01 00 00    	call   *0x188(%edx)
46467f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
464682:	83 c1 f0             	add    $0xfffffff0,%ecx
464685:	e8 c8 cc f9 ff       	call   0x401352
46468a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46468d:	83 c1 f0             	add    $0xfffffff0,%ecx
464690:	e8 bd cc f9 ff       	call   0x401352
464695:	8b 4d f4             	mov    -0xc(%ebp),%ecx
464698:	5f                   	pop    %edi
464699:	5e                   	pop    %esi
46469a:	33 c0                	xor    %eax,%eax
46469c:	5b                   	pop    %ebx
46469d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4646a4:	c9                   	leave
4646a5:	c2 08 00             	ret    $0x8
4646a8:	68 24 09 49 00       	push   $0x490924
4646ad:	ff 15 8c 06 4b 00    	call   *0x4b068c
4646b3:	a3 e8 c6 4a 00       	mov    %eax,0x4ac6e8
4646b8:	c3                   	ret
4646b9:	56                   	push   %esi
4646ba:	57                   	push   %edi
4646bb:	8b f9                	mov    %ecx,%edi
4646bd:	8b 8f c8 00 00 00    	mov    0xc8(%edi),%ecx
4646c3:	e8 b6 c2 fd ff       	call   0x44097e
4646c8:	8b f0                	mov    %eax,%esi
4646ca:	85 f6                	test   %esi,%esi
4646cc:	75 05                	jne    0x4646d3
4646ce:	e8 44 0d fd ff       	call   0x435417
4646d3:	ff 74 24 0c          	push   0xc(%esp)
4646d7:	8b 06                	mov    (%esi),%eax
4646d9:	57                   	push   %edi
4646da:	8b ce                	mov    %esi,%ecx
4646dc:	ff 90 78 01 00 00    	call   *0x178(%eax)
4646e2:	85 c0                	test   %eax,%eax
4646e4:	75 05                	jne    0x4646eb
4646e6:	e8 6a a5 fe ff       	call   0x44ec55
4646eb:	5f                   	pop    %edi
4646ec:	8b c6                	mov    %esi,%eax
4646ee:	5e                   	pop    %esi
4646ef:	c2 04 00             	ret    $0x4
4646f2:	55                   	push   %ebp
4646f3:	8b ec                	mov    %esp,%ebp
4646f5:	51                   	push   %ecx
4646f6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4646f9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4646fc:	85 c9                	test   %ecx,%ecx
4646fe:	57                   	push   %edi
4646ff:	8b 7d 08             	mov    0x8(%ebp),%edi
464702:	75 36                	jne    0x46473a
464704:	56                   	push   %esi
464705:	8b 77 7c             	mov    0x7c(%edi),%esi
464708:	b8 00 f0 00 00       	mov    $0xf000,%eax
46470d:	33 d2                	xor    %edx,%edx
46470f:	23 f0                	and    %eax,%esi
464711:	53                   	push   %ebx
464712:	8b 1c d5 94 14 49 00 	mov    0x491494(,%edx,8),%ebx
464719:	23 d8                	and    %eax,%ebx
46471b:	3b de                	cmp    %esi,%ebx
46471d:	74 08                	je     0x464727
46471f:	42                   	inc    %edx
464720:	83 fa 04             	cmp    $0x4,%edx
464723:	7c ed                	jl     0x464712
464725:	eb 11                	jmp    0x464738
464727:	ff 34 d5 90 14 49 00 	push   0x491490(,%edx,8)
46472e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
464731:	e8 31 d1 ff ff       	call   0x461867
464736:	8b c8                	mov    %eax,%ecx
464738:	5b                   	pop    %ebx
464739:	5e                   	pop    %esi
46473a:	ff 75 10             	push   0x10(%ebp)
46473d:	57                   	push   %edi
46473e:	e8 82 80 ff ff       	call   0x45c7c5
464743:	5f                   	pop    %edi
464744:	c9                   	leave
464745:	c2 0c 00             	ret    $0xc
464748:	55                   	push   %ebp
464749:	8b ec                	mov    %esp,%ebp
46474b:	53                   	push   %ebx
46474c:	8b d9                	mov    %ecx,%ebx
46474e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464751:	85 c9                	test   %ecx,%ecx
464753:	75 60                	jne    0x4647b5
464755:	21 4d 0c             	and    %ecx,0xc(%ebp)
464758:	56                   	push   %esi
464759:	be 90 14 49 00       	mov    $0x491490,%esi
46475e:	57                   	push   %edi
46475f:	ff 36                	push   (%esi)
464761:	8b cb                	mov    %ebx,%ecx
464763:	e8 ff d0 ff ff       	call   0x461867
464768:	8b f8                	mov    %eax,%edi
46476a:	85 ff                	test   %edi,%edi
46476c:	74 1d                	je     0x46478b
46476e:	8b 45 08             	mov    0x8(%ebp),%eax
464771:	6a ff                	push   $0xffffffff
464773:	ff 70 1c             	push   0x1c(%eax)
464776:	ff 15 0c 08 4b 00    	call   *0x4b080c
46477c:	0f b7 c0             	movzwl %ax,%eax
46477f:	50                   	push   %eax
464780:	8b cf                	mov    %edi,%ecx
464782:	e8 eb 75 ff ff       	call   0x45bd72
464787:	85 c0                	test   %eax,%eax
464789:	7f 3a                	jg     0x4647c5
46478b:	8b 46 04             	mov    0x4(%esi),%eax
46478e:	8b 4d 08             	mov    0x8(%ebp),%ecx
464791:	33 41 7c             	xor    0x7c(%ecx),%eax
464794:	f6 c4 f0             	test   $0xf0,%ah
464797:	75 0c                	jne    0x4647a5
464799:	ff 36                	push   (%esi)
46479b:	8b cb                	mov    %ebx,%ecx
46479d:	e8 c5 d0 ff ff       	call   0x461867
4647a2:	89 45 0c             	mov    %eax,0xc(%ebp)
4647a5:	83 c6 08             	add    $0x8,%esi
4647a8:	81 fe b0 14 49 00    	cmp    $0x4914b0,%esi
4647ae:	7c af                	jl     0x46475f
4647b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4647b3:	5f                   	pop    %edi
4647b4:	5e                   	pop    %esi
4647b5:	ff 75 10             	push   0x10(%ebp)
4647b8:	ff 75 08             	push   0x8(%ebp)
4647bb:	e8 71 82 ff ff       	call   0x45ca31
4647c0:	5b                   	pop    %ebx
4647c1:	5d                   	pop    %ebp
4647c2:	c2 0c 00             	ret    $0xc
4647c5:	8b cf                	mov    %edi,%ecx
4647c7:	eb ea                	jmp    0x4647b3
4647c9:	b8 83 44 48 00       	mov    $0x484483,%eax
4647ce:	e8 a9 34 fb ff       	call   0x417c7c
4647d3:	51                   	push   %ecx
4647d4:	56                   	push   %esi
4647d5:	57                   	push   %edi
4647d6:	8b f9                	mov    %ecx,%edi
4647d8:	c7 87 c8 00 00 00 30 	movl   $0x491030,0xc8(%edi)
4647df:	10 49 00
4647e2:	be 94 14 49 00       	mov    $0x491494,%esi
4647e7:	8b 45 08             	mov    0x8(%ebp),%eax
4647ea:	23 06                	and    (%esi),%eax
4647ec:	f6 c4 f0             	test   $0xf0,%ah
4647ef:	74 55                	je     0x464846
4647f1:	ff 76 fc             	push   -0x4(%esi)
4647f4:	8b cf                	mov    %edi,%ecx
4647f6:	e8 6c d0 ff ff       	call   0x461867
4647fb:	85 c0                	test   %eax,%eax
4647fd:	75 47                	jne    0x464846
4647ff:	68 bc 00 00 00       	push   $0xbc
464804:	e8 4c b8 fd ff       	call   0x440055
464809:	59                   	pop    %ecx
46480a:	8b c8                	mov    %eax,%ecx
46480c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46480f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
464813:	85 c9                	test   %ecx,%ecx
464815:	74 09                	je     0x464820
464817:	6a 00                	push   $0x0
464819:	e8 dc 73 ff ff       	call   0x45bbfa
46481e:	eb 02                	jmp    0x464822
464820:	33 c0                	xor    %eax,%eax
464822:	ff 76 fc             	push   -0x4(%esi)
464825:	8b 0e                	mov    (%esi),%ecx
464827:	8b 10                	mov    (%eax),%edx
464829:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46482d:	81 c9 00 00 00 56    	or     $0x56000000,%ecx
464833:	51                   	push   %ecx
464834:	57                   	push   %edi
464835:	8b c8                	mov    %eax,%ecx
464837:	ff 92 64 01 00 00    	call   *0x164(%edx)
46483d:	85 c0                	test   %eax,%eax
46483f:	75 05                	jne    0x464846
464841:	e8 0f a4 fe ff       	call   0x44ec55
464846:	83 c6 08             	add    $0x8,%esi
464849:	81 fe b4 14 49 00    	cmp    $0x4914b4,%esi
46484f:	7c 96                	jl     0x4647e7
464851:	8b 4d f4             	mov    -0xc(%ebp),%ecx
464854:	5f                   	pop    %edi
464855:	5e                   	pop    %esi
464856:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46485d:	c9                   	leave
46485e:	c2 04 00             	ret    $0x4
464861:	33 c0                	xor    %eax,%eax
464863:	39 44 24 08          	cmp    %eax,0x8(%esp)
464867:	56                   	push   %esi
464868:	8b f1                	mov    %ecx,%esi
46486a:	74 09                	je     0x464875
46486c:	ff 74 24 0c          	push   0xc(%esp)
464870:	e8 f2 cf ff ff       	call   0x461867
464875:	ff 74 24 10          	push   0x10(%esp)
464879:	8b ce                	mov    %esi,%ecx
46487b:	50                   	push   %eax
46487c:	ff 74 24 10          	push   0x10(%esp)
464880:	e8 6d fe ff ff       	call   0x4646f2
464885:	5e                   	pop    %esi
464886:	c2 0c 00             	ret    $0xc
464889:	55                   	push   %ebp
46488a:	8b ec                	mov    %esp,%ebp
46488c:	51                   	push   %ecx
46488d:	53                   	push   %ebx
46488e:	56                   	push   %esi
46488f:	57                   	push   %edi
464890:	8b 7d 08             	mov    0x8(%ebp),%edi
464893:	33 db                	xor    %ebx,%ebx
464895:	39 9f 84 00 00 00    	cmp    %ebx,0x84(%edi)
46489b:	89 4d fc             	mov    %ecx,-0x4(%ebp)