47a57f:	ff 34 b9             	push   (%ecx,%edi,4)
47a582:	8b c8                	mov    %eax,%ecx
47a584:	e8 40 c5 fd ff       	call   0x456ac9
47a589:	8b c8                	mov    %eax,%ecx
47a58b:	eb 02                	jmp    0x47a58f
47a58d:	33 c9                	xor    %ecx,%ecx
47a58f:	8b 46 04             	mov    0x4(%esi),%eax
47a592:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
47a595:	47                   	inc    %edi
47a596:	3b 7e 08             	cmp    0x8(%esi),%edi
47a599:	72 d5                	jb     0x47a570
47a59b:	eb 08                	jmp    0x47a5a5
47a59d:	83 66 0c 00          	andl   $0x0,0xc(%esi)
47a5a1:	83 66 04 00          	andl   $0x0,0x4(%esi)
47a5a5:	5f                   	pop    %edi
47a5a6:	8b c6                	mov    %esi,%eax
47a5a8:	5e                   	pop    %esi
47a5a9:	5b                   	pop    %ebx
47a5aa:	5d                   	pop    %ebp
47a5ab:	c2 04 00             	ret    $0x4
47a5ae:	55                   	push   %ebp
47a5af:	8b ec                	mov    %esp,%ebp
47a5b1:	56                   	push   %esi
47a5b2:	8b 75 08             	mov    0x8(%ebp),%esi
47a5b5:	57                   	push   %edi
47a5b6:	8b f9                	mov    %ecx,%edi
47a5b8:	8b 06                	mov    (%esi),%eax
47a5ba:	89 07                	mov    %eax,(%edi)
47a5bc:	8d 4f 10             	lea    0x10(%edi),%ecx
47a5bf:	8b 46 04             	mov    0x4(%esi),%eax
47a5c2:	89 47 04             	mov    %eax,0x4(%edi)
47a5c5:	8b 46 08             	mov    0x8(%esi),%eax
47a5c8:	89 47 08             	mov    %eax,0x8(%edi)
47a5cb:	8b 46 0c             	mov    0xc(%esi),%eax
47a5ce:	89 47 0c             	mov    %eax,0xc(%edi)
47a5d1:	8d 46 10             	lea    0x10(%esi),%eax
47a5d4:	50                   	push   %eax
47a5d5:	e8 c2 f8 f8 ff       	call   0x409e9c
47a5da:	8d 46 20             	lea    0x20(%esi),%eax
47a5dd:	50                   	push   %eax
47a5de:	8d 4f 20             	lea    0x20(%edi),%ecx
47a5e1:	e8 b6 f8 f8 ff       	call   0x409e9c
47a5e6:	8b c7                	mov    %edi,%eax
47a5e8:	5f                   	pop    %edi
47a5e9:	5e                   	pop    %esi
47a5ea:	5d                   	pop    %ebp
47a5eb:	c2 04 00             	ret    $0x4
47a5ee:	55                   	push   %ebp
47a5ef:	8b ec                	mov    %esp,%ebp
47a5f1:	83 ec 24             	sub    $0x24,%esp
47a5f4:	8b 45 08             	mov    0x8(%ebp),%eax
47a5f7:	33 c9                	xor    %ecx,%ecx
47a5f9:	53                   	push   %ebx
47a5fa:	56                   	push   %esi
47a5fb:	57                   	push   %edi
47a5fc:	33 ff                	xor    %edi,%edi
47a5fe:	c7 45 e0 84 fb 48 00 	movl   $0x48fb84,-0x20(%ebp)
47a605:	41                   	inc    %ecx
47a606:	89 7d e4             	mov    %edi,-0x1c(%ebp)
47a609:	89 7d e8             	mov    %edi,-0x18(%ebp)
47a60c:	89 7d ec             	mov    %edi,-0x14(%ebp)
47a60f:	39 48 08             	cmp    %ecx,0x8(%eax)
47a612:	0f 85 cd 00 00 00    	jne    0x47a6e5
47a618:	8b 40 04             	mov    0x4(%eax),%eax
47a61b:	8b 00                	mov    (%eax),%eax
47a61d:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
47a621:	75 02                	jne    0x47a625
47a623:	8b 00                	mov    (%eax),%eax
47a625:	83 78 0c 05          	cmpl   $0x5,0xc(%eax)
47a629:	0f 85 b6 00 00 00    	jne    0x47a6e5
47a62f:	8b 18                	mov    (%eax),%ebx
47a631:	8b 03                	mov    (%ebx),%eax
47a633:	39 88 0c 01 00 00    	cmp    %ecx,0x10c(%eax)
47a639:	0f 85 a6 00 00 00    	jne    0x47a6e5
47a63f:	57                   	push   %edi
47a640:	51                   	push   %ecx
47a641:	51                   	push   %ecx
47a642:	53                   	push   %ebx
47a643:	e8 58 e8 f8 ff       	call   0x408ea0
47a648:	83 c4 10             	add    $0x10,%esp
47a64b:	8b f0                	mov    %eax,%esi
47a64d:	8b ce                	mov    %esi,%ecx
47a64f:	e8 43 f3 f8 ff       	call   0x409997
47a654:	8b 4e 08             	mov    0x8(%esi),%ecx
47a657:	8b 01                	mov    (%ecx),%eax
47a659:	89 45 f0             	mov    %eax,-0x10(%ebp)
47a65c:	8b 41 04             	mov    0x4(%ecx),%eax
47a65f:	89 45 f4             	mov    %eax,-0xc(%ebp)
47a662:	8b 41 08             	mov    0x8(%ecx),%eax
47a665:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a668:	8b 41 0c             	mov    0xc(%ecx),%eax
47a66b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a66e:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a671:	ff 00                	incl   (%eax)
47a673:	e8 37 d9 f8 ff       	call   0x407faf
47a678:	ff 75 f4             	push   -0xc(%ebp)
47a67b:	ff 75 f0             	push   -0x10(%ebp)
47a67e:	ff 15 7c f6 48 00    	call   *0x48f67c
47a684:	ba 70 ac 4b 00       	mov    $0x4bac70,%edx
47a689:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a68c:	e8 96 66 fa ff       	call   0x420d27
47a691:	84 c0                	test   %al,%al
47a693:	74 48                	je     0x47a6dd
47a695:	33 f6                	xor    %esi,%esi
47a697:	46                   	inc    %esi
47a698:	6a 01                	push   $0x1
47a69a:	8b cb                	mov    %ebx,%ecx
47a69c:	e8 ca e7 f8 ff       	call   0x408e6b
47a6a1:	3b f0                	cmp    %eax,%esi
47a6a3:	7d 1a                	jge    0x47a6bf
47a6a5:	56                   	push   %esi
47a6a6:	6a 01                	push   $0x1
47a6a8:	6a 02                	push   $0x2
47a6aa:	53                   	push   %ebx
47a6ab:	e8 f0 e7 f8 ff       	call   0x408ea0
47a6b0:	83 c4 10             	add    $0x10,%esp
47a6b3:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47a6b6:	50                   	push   %eax
47a6b7:	e8 a9 bf fd ff       	call   0x456665
47a6bc:	46                   	inc    %esi
47a6bd:	eb d9                	jmp    0x47a698
47a6bf:	8b 55 0c             	mov    0xc(%ebp),%edx
47a6c2:	8b 45 e8             	mov    -0x18(%ebp),%eax
47a6c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
47a6c8:	89 02                	mov    %eax,(%edx)
47a6ca:	8d 45 e0             	lea    -0x20(%ebp),%eax
47a6cd:	50                   	push   %eax
47a6ce:	e8 b1 27 fe ff       	call   0x45ce84
47a6d3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a6d6:	e8 89 b3 f8 ff       	call   0x405a64
47a6db:	eb 0b                	jmp    0x47a6e8
47a6dd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a6e0:	e8 7f b3 f8 ff       	call   0x405a64
47a6e5:	83 cf ff             	or     $0xffffffff,%edi
47a6e8:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47a6eb:	e8 04 c0 fd ff       	call   0x4566f4
47a6f0:	8b c7                	mov    %edi,%eax
47a6f2:	5f                   	pop    %edi
47a6f3:	5e                   	pop    %esi
47a6f4:	5b                   	pop    %ebx
47a6f5:	8b e5                	mov    %ebp,%esp
47a6f7:	5d                   	pop    %ebp
47a6f8:	c2 08 00             	ret    $0x8
47a6fb:	55                   	push   %ebp
47a6fc:	8b ec                	mov    %esp,%ebp
47a6fe:	81 ec 20 01 00 00    	sub    $0x120,%esp
47a704:	53                   	push   %ebx
47a705:	8b 5d 08             	mov    0x8(%ebp),%ebx
47a708:	56                   	push   %esi
47a709:	8b 75 0c             	mov    0xc(%ebp),%esi
47a70c:	57                   	push   %edi
47a70d:	8b 43 04             	mov    0x4(%ebx),%eax
47a710:	8b f9                	mov    %ecx,%edi
47a712:	89 7d ec             	mov    %edi,-0x14(%ebp)
47a715:	ff 06                	incl   (%esi)
47a717:	8b 16                	mov    (%esi),%edx
47a719:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
47a71c:	33 c0                	xor    %eax,%eax
47a71e:	89 45 08             	mov    %eax,0x8(%ebp)
47a721:	66 39 41 08          	cmp    %ax,0x8(%ecx)
47a725:	75 16                	jne    0x47a73d
47a727:	83 39 2c             	cmpl   $0x2c,(%ecx)
47a72a:	75 11                	jne    0x47a73d
47a72c:	ff 75 10             	push   0x10(%ebp)
47a72f:	8b cf                	mov    %edi,%ecx
47a731:	56                   	push   %esi
47a732:	53                   	push   %ebx
47a733:	e8 d7 05 00 00       	call   0x47ad0f
47a738:	e9 c3 01 00 00       	jmp    0x47a900
47a73d:	89 45 0c             	mov    %eax,0xc(%ebp)
47a740:	89 45 f0             	mov    %eax,-0x10(%ebp)
47a743:	a1 10 7f 4c 00       	mov    0x4c7f10,%eax
47a748:	a8 01                	test   $0x1,%al
47a74a:	75 22                	jne    0x47a76e
47a74c:	83 c8 01             	or     $0x1,%eax
47a74f:	b9 c8 74 4c 00       	mov    $0x4c74c8,%ecx
47a754:	68 10 f9 48 00       	push   $0x48f910
47a759:	a3 10 7f 4c 00       	mov    %eax,0x4c7f10
47a75e:	e8 d7 f7 f8 ff       	call   0x409f3a
47a763:	68 1e b8 43 00       	push   $0x43b81e
47a768:	e8 13 88 fa ff       	call   0x422f80
47a76d:	59                   	pop    %ecx
47a76e:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a771:	8b 06                	mov    (%esi),%eax
47a773:	6a 7f                	push   $0x7f
47a775:	5a                   	pop    %edx
47a776:	6a 33                	push   $0x33
47a778:	8b 04 81             	mov    (%ecx,%eax,4),%eax
47a77b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
47a77e:	5a                   	pop    %edx
47a77f:	6a 7f                	push   $0x7f
47a781:	66 39 50 08          	cmp    %dx,0x8(%eax)
47a785:	5a                   	pop    %edx
47a786:	0f 85 5f 01 00 00    	jne    0x47a8eb
47a78c:	8b 06                	mov    (%esi),%eax
47a78e:	ff 75 10             	push   0x10(%ebp)
47a791:	8b 04 81             	mov    (%ecx,%eax,4),%eax
47a794:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a797:	51                   	push   %ecx
47a798:	8b 00                	mov    (%eax),%eax
47a79a:	50                   	push   %eax
47a79b:	89 45 f4             	mov    %eax,-0xc(%ebp)
47a79e:	e8 f7 dd f8 ff       	call   0x40859a
47a7a3:	85 c0                	test   %eax,%eax
47a7a5:	0f 85 8c 01 00 00    	jne    0x47a937
47a7ab:	ff 75 10             	push   0x10(%ebp)
47a7ae:	68 00 01 00 00       	push   $0x100
47a7b3:	68 c8 74 4c 00       	push   $0x4c74c8
47a7b8:	ff 75 f4             	push   -0xc(%ebp)
47a7bb:	e8 60 de f8 ff       	call   0x408620
47a7c0:	ff 06                	incl   (%esi)
47a7c2:	8b 16                	mov    (%esi),%edx
47a7c4:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a7c7:	6a 4e                	push   $0x4e
47a7c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a7cc:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
47a7cf:	5a                   	pop    %edx
47a7d0:	66 39 51 08          	cmp    %dx,0x8(%ecx)
47a7d4:	75 23                	jne    0x47a7f9
47a7d6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47a7d9:	51                   	push   %ecx
47a7da:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
47a7e0:	51                   	push   %ecx
47a7e1:	50                   	push   %eax
47a7e2:	56                   	push   %esi
47a7e3:	53                   	push   %ebx
47a7e4:	8b cf                	mov    %edi,%ecx
47a7e6:	e8 f1 28 f9 ff       	call   0x40d0dc
47a7eb:	85 c0                	test   %eax,%eax
47a7ed:	0f 88 0d 01 00 00    	js     0x47a900
47a7f3:	8b 45 0c             	mov    0xc(%ebp),%eax
47a7f6:	89 45 08             	mov    %eax,0x8(%ebp)
47a7f9:	8b 16                	mov    (%esi),%edx
47a7fb:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a7fe:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47a801:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
47a806:	0f 85 17 01 00 00    	jne    0x47a923
47a80c:	42                   	inc    %edx
47a80d:	6a 4e                	push   $0x4e
47a80f:	89 16                	mov    %edx,(%esi)
47a811:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47a814:	0f bf 48 0a          	movswl 0xa(%eax),%ecx
47a818:	89 4d e8             	mov    %ecx,-0x18(%ebp)
47a81b:	59                   	pop    %ecx
47a81c:	66 39 48 08          	cmp    %cx,0x8(%eax)
47a820:	75 77                	jne    0x47a899
47a822:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47a825:	83 79 0c 05          	cmpl   $0x5,0xc(%ecx)
47a829:	74 28                	je     0x47a853
47a82b:	8d 42 ff             	lea    -0x1(%edx),%eax
47a82e:	89 06                	mov    %eax,(%esi)
47a830:	8d 45 0c             	lea    0xc(%ebp),%eax
47a833:	50                   	push   %eax
47a834:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
47a83a:	50                   	push   %eax
47a83b:	51                   	push   %ecx
47a83c:	56                   	push   %esi
47a83d:	53                   	push   %ebx
47a83e:	8b cf                	mov    %edi,%ecx
47a840:	e8 21 02 00 00       	call   0x47aa66
47a845:	85 c0                	test   %eax,%eax
47a847:	0f 88 b3 00 00 00    	js     0x47a900
47a84d:	8b 45 0c             	mov    0xc(%ebp),%eax
47a850:	89 45 08             	mov    %eax,0x8(%ebp)
47a853:	ff 75 f4             	push   -0xc(%ebp)
47a856:	8b cf                	mov    %edi,%ecx
47a858:	ff 36                	push   (%esi)
47a85a:	53                   	push   %ebx
47a85b:	e8 00 28 f9 ff       	call   0x40d060
47a860:	85 c0                	test   %eax,%eax
47a862:	0f 88 98 00 00 00    	js     0x47a900
47a868:	8b 45 08             	mov    0x8(%ebp),%eax
47a86b:	85 c0                	test   %eax,%eax
47a86d:	7e 0f                	jle    0x47a87e
47a86f:	8b c8                	mov    %eax,%ecx
47a871:	8d bd e4 fe ff ff    	lea    -0x11c(%ebp),%edi
47a877:	33 c0                	xor    %eax,%eax
47a879:	f3 ab                	rep stos %eax,%es:(%edi)
47a87b:	8b 7d ec             	mov    -0x14(%ebp),%edi
47a87e:	6a 01                	push   $0x1
47a880:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
47a886:	8b cf                	mov    %edi,%ecx
47a888:	50                   	push   %eax
47a889:	ff 75 f8             	push   -0x8(%ebp)
47a88c:	56                   	push   %esi
47a88d:	53                   	push   %ebx
47a88e:	e8 4a 26 f9 ff       	call   0x40cedd
47a893:	84 c0                	test   %al,%al
47a895:	74 69                	je     0x47a900
47a897:	eb 22                	jmp    0x47a8bb
47a899:	ff 75 f4             	push   -0xc(%ebp)
47a89c:	8b cf                	mov    %edi,%ecx
47a89e:	52                   	push   %edx
47a89f:	53                   	push   %ebx
47a8a0:	e8 bb 27 f9 ff       	call   0x40d060
47a8a5:	85 c0                	test   %eax,%eax
47a8a7:	78 57                	js     0x47a900
47a8a9:	6a ff                	push   $0xffffffff
47a8ab:	ff 75 f8             	push   -0x8(%ebp)
47a8ae:	8b cf                	mov    %edi,%ecx
47a8b0:	56                   	push   %esi
47a8b1:	53                   	push   %ebx
47a8b2:	e8 49 f7 f8 ff       	call   0x40a000
47a8b7:	85 c0                	test   %eax,%eax
47a8b9:	78 61                	js     0x47a91c
47a8bb:	8b 16                	mov    (%esi),%edx
47a8bd:	8b 4b 04             	mov    0x4(%ebx),%ecx
47a8c0:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47a8c3:	0f b7 40 08          	movzwl 0x8(%eax),%eax
47a8c7:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
47a8cb:	74 33                	je     0x47a900
47a8cd:	66 83 f8 40          	cmp    $0x40,%ax
47a8d1:	75 36                	jne    0x47a909
47a8d3:	8d 42 01             	lea    0x1(%edx),%eax
47a8d6:	89 06                	mov    %eax,(%esi)
47a8d8:	8b 04 81             	mov    (%ecx,%eax,4),%eax
47a8db:	6a 33                	push   $0x33
47a8dd:	5a                   	pop    %edx
47a8de:	66 39 50 08          	cmp    %dx,0x8(%eax)
47a8e2:	0f 84 a4 fe ff ff    	je     0x47a78c
47a8e8:	6a 7f                	push   $0x7f
47a8ea:	5a                   	pop    %edx
47a8eb:	8b 0e                	mov    (%esi),%ecx
47a8ed:	8b 43 04             	mov    0x4(%ebx),%eax
47a8f0:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47a8f3:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47a8f7:	50                   	push   %eax
47a8f8:	52                   	push   %edx
47a8f9:	8b cf                	mov    %edi,%ecx
47a8fb:	e8 b5 f7 fe ff       	call   0x46a0b5
47a900:	5f                   	pop    %edi
47a901:	5e                   	pop    %esi
47a902:	5b                   	pop    %ebx
47a903:	8b e5                	mov    %ebp,%esp
47a905:	5d                   	pop    %ebp
47a906:	c2 0c 00             	ret    $0xc
47a909:	8b 43 04             	mov    0x4(%ebx),%eax
47a90c:	8b ca                	mov    %edx,%ecx
47a90e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47a911:	0f bf 40 0a          	movswl 0xa(%eax),%eax
47a915:	50                   	push   %eax
47a916:	6a 7f                	push   $0x7f
47a918:	58                   	pop    %eax
47a919:	50                   	push   %eax
47a91a:	eb dd                	jmp    0x47a8f9
47a91c:	ff 75 e8             	push   -0x18(%ebp)
47a91f:	6a 6e                	push   $0x6e
47a921:	eb d6                	jmp    0x47a8f9
47a923:	8b 43 04             	mov    0x4(%ebx),%eax
47a926:	8b ca                	mov    %edx,%ecx