46e539:	f7 d8                	neg    %eax
46e53b:	1a c0                	sbb    %al,%al
46e53d:	59                   	pop    %ecx
46e53e:	fe c0                	inc    %al
46e540:	59                   	pop    %ecx
46e541:	68 54 4b 4b 00       	push   $0x4b4b54
46e546:	53                   	push   %ebx
46e547:	89 45 f8             	mov    %eax,-0x8(%ebp)
46e54a:	e8 8c 27 fb ff       	call   0x420cdb
46e54f:	83 c0 fc             	add    $0xfffffffc,%eax
46e552:	59                   	pop    %ecx
46e553:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
46e556:	51                   	push   %ecx
46e557:	e8 4b 2a fb ff       	call   0x420fa7
46e55c:	f7 d8                	neg    %eax
46e55e:	1a c0                	sbb    %al,%al
46e560:	59                   	pop    %ecx
46e561:	fe c0                	inc    %al
46e563:	59                   	pop    %ecx
46e564:	68 60 4b 4b 00       	push   $0x4b4b60
46e569:	53                   	push   %ebx
46e56a:	89 45 0c             	mov    %eax,0xc(%ebp)
46e56d:	e8 69 27 fb ff       	call   0x420cdb
46e572:	83 c0 fc             	add    $0xfffffffc,%eax
46e575:	59                   	pop    %ecx
46e576:	8d 0c 43             	lea    (%ebx,%eax,2),%ecx
46e579:	51                   	push   %ecx
46e57a:	e8 28 2a fb ff       	call   0x420fa7
46e57f:	59                   	pop    %ecx
46e580:	59                   	pop    %ecx
46e581:	85 c0                	test   %eax,%eax
46e583:	74 7d                	je     0x46e602
46e585:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
46e589:	75 77                	jne    0x46e602
46e58b:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
46e58f:	75 23                	jne    0x46e5b4
46e591:	0f bf 87 8e 00 00 00 	movswl 0x8e(%edi),%eax
46e598:	68 10 20 00 00       	push   $0x2010
46e59d:	50                   	push   %eax
46e59e:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
46e5a5:	50                   	push   %eax
46e5a6:	6a 01                	push   $0x1
46e5a8:	53                   	push   %ebx
46e5a9:	6a 00                	push   $0x0
46e5ab:	ff 15 78 d5 48 00    	call   *0x48d578
46e5b1:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e5b4:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
46e5b8:	0f 85 27 01 00 00    	jne    0x46e6e5
46e5be:	8d 4d 10             	lea    0x10(%ebp),%ecx
46e5c1:	e8 c8 ee f9 ff       	call   0x40d48e
46e5c6:	84 c0                	test   %al,%al
46e5c8:	0f 84 17 01 00 00    	je     0x46e6e5
46e5ce:	85 f6                	test   %esi,%esi
46e5d0:	7e 0c                	jle    0x46e5de
46e5d2:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
46e5d6:	0f 84 09 01 00 00    	je     0x46e6e5
46e5dc:	85 f6                	test   %esi,%esi
46e5de:	79 07                	jns    0x46e5e7
46e5e0:	83 c8 ff             	or     $0xffffffff,%eax
46e5e3:	2b c6                	sub    %esi,%eax
46e5e5:	8b f0                	mov    %eax,%esi
46e5e7:	66 83 bf 8c 00 00 00 	cmpw   $0x10,0x8c(%edi)
46e5ee:	10
46e5ef:	6a 01                	push   $0x1
46e5f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
46e5f4:	0f 8e e0 00 00 00    	jle    0x46e6da
46e5fa:	6a 00                	push   $0x0
46e5fc:	50                   	push   %eax
46e5fd:	e9 db 00 00 00       	jmp    0x46e6dd
46e602:	6a 32                	push   $0x32
46e604:	6a 00                	push   $0x0
46e606:	53                   	push   %ebx
46e607:	ff 15 64 d2 48 00    	call   *0x48d264
46e60d:	89 45 0c             	mov    %eax,0xc(%ebp)
46e610:	85 c0                	test   %eax,%eax
46e612:	74 a0                	je     0x46e5b4
46e614:	6a 04                	push   $0x4
46e616:	8d 4d 10             	lea    0x10(%ebp),%ecx
46e619:	e8 c6 ef f9 ff       	call   0x40d5e4
46e61e:	84 c0                	test   %al,%al
46e620:	74 4b                	je     0x46e66d
46e622:	8d 4d 10             	lea    0x10(%ebp),%ecx
46e625:	e8 42 ad f9 ff       	call   0x40936c
46e62a:	8b 45 18             	mov    0x18(%ebp),%eax
46e62d:	6a 00                	push   $0x0
46e62f:	8b 08                	mov    (%eax),%ecx
46e631:	0f bf 87 8e 00 00 00 	movswl 0x8e(%edi),%eax
46e638:	50                   	push   %eax
46e639:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
46e640:	50                   	push   %eax
46e641:	6a 01                	push   $0x1
46e643:	51                   	push   %ecx
46e644:	ff 75 0c             	push   0xc(%ebp)
46e647:	ff 15 78 d5 48 00    	call   *0x48d578
46e64d:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e650:	85 c0                	test   %eax,%eax
46e652:	75 78                	jne    0x46e6cc
46e654:	50                   	push   %eax
46e655:	0f bf 87 8e 00 00 00 	movswl 0x8e(%edi),%eax
46e65c:	50                   	push   %eax
46e65d:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
46e664:	50                   	push   %eax
46e665:	0f b7 c6             	movzwl %si,%eax
46e668:	6a 01                	push   $0x1
46e66a:	50                   	push   %eax
46e66b:	eb 53                	jmp    0x46e6c0
46e66d:	85 f6                	test   %esi,%esi
46e66f:	7e 26                	jle    0x46e697
46e671:	0f bf 87 8e 00 00 00 	movswl 0x8e(%edi),%eax
46e678:	6a 00                	push   $0x0
46e67a:	50                   	push   %eax
46e67b:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
46e682:	50                   	push   %eax
46e683:	0f b7 c6             	movzwl %si,%eax
46e686:	6a 01                	push   $0x1
46e688:	50                   	push   %eax
46e689:	ff 75 0c             	push   0xc(%ebp)
46e68c:	ff 15 78 d5 48 00    	call   *0x48d578
46e692:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e695:	eb 03                	jmp    0x46e69a
46e697:	8b 45 fc             	mov    -0x4(%ebp),%eax
46e69a:	85 c0                	test   %eax,%eax
46e69c:	75 2e                	jne    0x46e6cc
46e69e:	8d 4d 10             	lea    0x10(%ebp),%ecx
46e6a1:	e8 c6 ac f9 ff       	call   0x40936c
46e6a6:	8b 45 18             	mov    0x18(%ebp),%eax
46e6a9:	6a 00                	push   $0x0
46e6ab:	8b 08                	mov    (%eax),%ecx
46e6ad:	0f bf 87 8e 00 00 00 	movswl 0x8e(%edi),%eax
46e6b4:	50                   	push   %eax
46e6b5:	0f bf 87 8c 00 00 00 	movswl 0x8c(%edi),%eax
46e6bc:	50                   	push   %eax
46e6bd:	6a 01                	push   $0x1
46e6bf:	51                   	push   %ecx
46e6c0:	ff 75 0c             	push   0xc(%ebp)
46e6c3:	ff 15 78 d5 48 00    	call   *0x48d578
46e6c9:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e6cc:	ff 75 0c             	push   0xc(%ebp)
46e6cf:	ff 15 88 d1 48 00    	call   *0x48d188
46e6d5:	e9 da fe ff ff       	jmp    0x46e5b4
46e6da:	50                   	push   %eax
46e6db:	6a 00                	push   $0x0
46e6dd:	56                   	push   %esi
46e6de:	53                   	push   %ebx
46e6df:	ff 15 a0 d4 48 00    	call   *0x48d4a0
46e6e5:	83 7f 68 00          	cmpl   $0x0,0x68(%edi)
46e6e9:	74 09                	je     0x46e6f4
46e6eb:	ff 77 68             	push   0x68(%edi)
46e6ee:	ff 15 24 d7 48 00    	call   *0x48d724
46e6f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
46e6f7:	8b 35 70 d6 48 00    	mov    0x48d670,%esi
46e6fd:	6a 00                	push   $0x0
46e6ff:	50                   	push   %eax
46e700:	89 47 68             	mov    %eax,0x68(%edi)
46e703:	8b 3f                	mov    (%edi),%edi
46e705:	68 70 01 00 00       	push   $0x170
46e70a:	57                   	push   %edi
46e70b:	ff d6                	call   *%esi
46e70d:	6a 01                	push   $0x1
46e70f:	68 72 01 00 00       	push   $0x172
46e714:	6a 64                	push   $0x64
46e716:	57                   	push   %edi
46e717:	ff d6                	call   *%esi
46e719:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
46e71d:	8d 4d 10             	lea    0x10(%ebp),%ecx
46e720:	0f 95 c3             	setne  %bl
46e723:	e8 f8 44 fa ff       	call   0x412c20
46e728:	5f                   	pop    %edi
46e729:	5e                   	pop    %esi
46e72a:	8a c3                	mov    %bl,%al
46e72c:	5b                   	pop    %ebx
46e72d:	c9                   	leave
46e72e:	c2 18 00             	ret    $0x18
46e731:	55                   	push   %ebp
46e732:	8b ec                	mov    %esp,%ebp
46e734:	8b 45 0c             	mov    0xc(%ebp),%eax
46e737:	83 ec 24             	sub    $0x24,%esp
46e73a:	53                   	push   %ebx
46e73b:	56                   	push   %esi
46e73c:	57                   	push   %edi
46e73d:	33 ff                	xor    %edi,%edi
46e73f:	66 39 38             	cmp    %di,(%eax)
46e742:	0f 84 03 01 00 00    	je     0x46e84b
46e748:	57                   	push   %edi
46e749:	57                   	push   %edi
46e74a:	6a 03                	push   $0x3
46e74c:	57                   	push   %edi
46e74d:	57                   	push   %edi
46e74e:	68 00 00 00 80       	push   $0x80000000
46e753:	50                   	push   %eax
46e754:	ff 15 c4 d1 48 00    	call   *0x48d1c4
46e75a:	8b f8                	mov    %eax,%edi
46e75c:	83 ff ff             	cmp    $0xffffffff,%edi
46e75f:	75 07                	jne    0x46e768
46e761:	33 c0                	xor    %eax,%eax
46e763:	e9 12 01 00 00       	jmp    0x46e87a
46e768:	6a 00                	push   $0x0
46e76a:	57                   	push   %edi
46e76b:	ff 15 d8 d2 48 00    	call   *0x48d2d8
46e771:	8b f0                	mov    %eax,%esi
46e773:	56                   	push   %esi
46e774:	6a 02                	push   $0x2
46e776:	ff 15 d4 d2 48 00    	call   *0x48d2d4
46e77c:	8b d8                	mov    %eax,%ebx
46e77e:	85 db                	test   %ebx,%ebx
46e780:	75 09                	jne    0x46e78b
46e782:	57                   	push   %edi
46e783:	ff 15 0c d3 48 00    	call   *0x48d30c
46e789:	eb d6                	jmp    0x46e761
46e78b:	53                   	push   %ebx
46e78c:	ff 15 cc d2 48 00    	call   *0x48d2cc
46e792:	6a 00                	push   $0x0
46e794:	8d 4d f4             	lea    -0xc(%ebp),%ecx
46e797:	51                   	push   %ecx
46e798:	56                   	push   %esi
46e799:	50                   	push   %eax
46e79a:	57                   	push   %edi
46e79b:	ff 15 cc d1 48 00    	call   *0x48d1cc
46e7a1:	53                   	push   %ebx
46e7a2:	8b f0                	mov    %eax,%esi
46e7a4:	ff 15 d0 d2 48 00    	call   *0x48d2d0
46e7aa:	57                   	push   %edi
46e7ab:	ff 15 0c d3 48 00    	call   *0x48d30c
46e7b1:	85 f6                	test   %esi,%esi
46e7b3:	74 ac                	je     0x46e761
46e7b5:	8d 45 f8             	lea    -0x8(%ebp),%eax
46e7b8:	50                   	push   %eax
46e7b9:	6a 01                	push   $0x1
46e7bb:	53                   	push   %ebx
46e7bc:	ff 15 38 d8 48 00    	call   *0x48d838
46e7c2:	8d 45 fc             	lea    -0x4(%ebp),%eax
46e7c5:	50                   	push   %eax
46e7c6:	68 bc d9 48 00       	push   $0x48d9bc
46e7cb:	33 ff                	xor    %edi,%edi
46e7cd:	57                   	push   %edi
46e7ce:	57                   	push   %edi
46e7cf:	ff 75 f8             	push   -0x8(%ebp)
46e7d2:	89 7d fc             	mov    %edi,-0x4(%ebp)
46e7d5:	ff 15 40 d4 48 00    	call   *0x48d440
46e7db:	8b 45 f8             	mov    -0x8(%ebp),%eax
46e7de:	50                   	push   %eax
46e7df:	8b 08                	mov    (%eax),%ecx
46e7e1:	ff 51 08             	call   *0x8(%ecx)
46e7e4:	53                   	push   %ebx
46e7e5:	ff 15 dc d2 48 00    	call   *0x48d2dc
46e7eb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46e7ee:	85 c9                	test   %ecx,%ecx
46e7f0:	0f 84 6b ff ff ff    	je     0x46e761
46e7f6:	8b 01                	mov    (%ecx),%eax
46e7f8:	8d 55 0c             	lea    0xc(%ebp),%edx
46e7fb:	52                   	push   %edx
46e7fc:	51                   	push   %ecx
46e7fd:	ff 50 0c             	call   *0xc(%eax)
46e800:	8d 45 dc             	lea    -0x24(%ebp),%eax
46e803:	50                   	push   %eax
46e804:	6a 18                	push   $0x18
46e806:	ff 75 0c             	push   0xc(%ebp)
46e809:	ff 15 28 d1 48 00    	call   *0x48d128
46e80f:	8b 55 10             	mov    0x10(%ebp),%edx
46e812:	8b 4d 14             	mov    0x14(%ebp),%ecx
46e815:	39 3a                	cmp    %edi,(%edx)
46e817:	75 0e                	jne    0x46e827
46e819:	39 39                	cmp    %edi,(%ecx)
46e81b:	75 0a                	jne    0x46e827
46e81d:	8b 45 e0             	mov    -0x20(%ebp),%eax
46e820:	89 02                	mov    %eax,(%edx)
46e822:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46e825:	89 01                	mov    %eax,(%ecx)
46e827:	68 00 20 00 00       	push   $0x2000
46e82c:	ff 31                	push   (%ecx)
46e82e:	ff 32                	push   (%edx)
46e830:	57                   	push   %edi
46e831:	ff 75 0c             	push   0xc(%ebp)
46e834:	ff 15 a8 d5 48 00    	call   *0x48d5a8
46e83a:	89 45 0c             	mov    %eax,0xc(%ebp)
46e83d:	8b 45 fc             	mov    -0x4(%ebp),%eax
46e840:	50                   	push   %eax
46e841:	8b 08                	mov    (%eax),%ecx
46e843:	ff 51 08             	call   *0x8(%ecx)
46e846:	8b 45 0c             	mov    0xc(%ebp),%eax
46e849:	eb 05                	jmp    0x46e850
46e84b:	8b c7                	mov    %edi,%eax
46e84d:	89 45 0c             	mov    %eax,0xc(%ebp)
46e850:	8b 75 08             	mov    0x8(%ebp),%esi
46e853:	83 7e 64 00          	cmpl   $0x0,0x64(%esi)
46e857:	74 0c                	je     0x46e865
46e859:	ff 76 64             	push   0x64(%esi)
46e85c:	ff 15 c8 d0 48 00    	call   *0x48d0c8
46e862:	8b 45 0c             	mov    0xc(%ebp),%eax
46e865:	50                   	push   %eax
46e866:	57                   	push   %edi
46e867:	89 46 64             	mov    %eax,0x64(%esi)
46e86a:	8b 36                	mov    (%esi),%esi
46e86c:	68 72 01 00 00       	push   $0x172
46e871:	56                   	push   %esi
46e872:	ff 15 70 d6 48 00    	call   *0x48d670
46e878:	8b c6                	mov    %esi,%eax
46e87a:	5f                   	pop    %edi
46e87b:	5e                   	pop    %esi
46e87c:	5b                   	pop    %ebx
46e87d:	c9                   	leave
46e87e:	c2 10 00             	ret    $0x10
46e881:	56                   	push   %esi
46e882:	57                   	push   %edi
46e883:	8b f9                	mov    %ecx,%edi
46e885:	8b 47 04             	mov    0x4(%edi),%eax
46e888:	50                   	push   %eax
46e889:	8b 70 04             	mov    0x4(%eax),%esi
46e88c:	e8 cd 0c fb ff       	call   0x41f55e
46e891:	ff 0f                	decl   (%edi)
46e893:	59                   	pop    %ecx
46e894:	89 77 04             	mov    %esi,0x4(%edi)
46e897:	85 f6                	test   %esi,%esi
46e899:	75 03                	jne    0x46e89e
46e89b:	21 77 08             	and    %esi,0x8(%edi)
46e89e:	5f                   	pop    %edi
46e89f:	5e                   	pop    %esi
46e8a0:	c3                   	ret
46e8a1:	55                   	push   %ebp
46e8a2:	8b ec                	mov    %esp,%ebp
46e8a4:	56                   	push   %esi
46e8a5:	6a 08                	push   $0x8
46e8a7:	8b f1                	mov    %ecx,%esi
46e8a9:	e8 3c 0c fb ff       	call   0x41f4ea
46e8ae:	8b 55 08             	mov    0x8(%ebp),%edx
46e8b1:	59                   	pop    %ecx
46e8b2:	8b 12                	mov    (%edx),%edx
46e8b4:	8b c8                	mov    %eax,%ecx
46e8b6:	83 61 04 00          	andl   $0x0,0x4(%ecx)
46e8ba:	89 11                	mov    %edx,(%ecx)
46e8bc:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
46e8c0:	74 08                	je     0x46e8ca
46e8c2:	8b 46 08             	mov    0x8(%esi),%eax
46e8c5:	89 48 04             	mov    %ecx,0x4(%eax)
46e8c8:	eb 03                	jmp    0x46e8cd
46e8ca:	89 4e 04             	mov    %ecx,0x4(%esi)
46e8cd:	ff 06                	incl   (%esi)
46e8cf:	89 4e 08             	mov    %ecx,0x8(%esi)
46e8d2:	5e                   	pop    %esi
46e8d3:	5d                   	pop    %ebp
46e8d4:	c2 04 00             	ret    $0x4
46e8d7:	55                   	push   %ebp
46e8d8:	8b ec                	mov    %esp,%ebp
46e8da:	56                   	push   %esi
46e8db:	57                   	push   %edi
46e8dc:	8b f1                	mov    %ecx,%esi
46e8de:	33 ff                	xor    %edi,%edi
46e8e0:	6a 0c                	push   $0xc
46e8e2:	39 7e 04             	cmp    %edi,0x4(%esi)
46e8e5:	75 1a                	jne    0x46e901