50d4fe:	56                   	push   %esi
50d4ff:	89 44 24 34          	mov    %eax,0x34(%esp)
50d503:	e8 c8 a6 fd ff       	call   0x4e7bd0
50d508:	8b e8                	mov    %eax,%ebp
50d50a:	83 c4 1c             	add    $0x1c,%esp
50d50d:	85 ed                	test   %ebp,%ebp
50d50f:	0f 84 4c 01 00 00    	je     0x50d661
50d515:	8b 07                	mov    (%edi),%eax
50d517:	56                   	push   %esi
50d518:	ff 74 24 24          	push   0x24(%esp)
50d51c:	ff 74 24 24          	push   0x24(%esp)
50d520:	8b 40 1c             	mov    0x1c(%eax),%eax
50d523:	ff 74 24 38          	push   0x38(%esp)
50d527:	57                   	push   %edi
50d528:	ff d0                	call   *%eax
50d52a:	83 c4 14             	add    $0x14,%esp
50d52d:	85 c0                	test   %eax,%eax
50d52f:	0f 84 06 01 00 00    	je     0x50d63b
50d535:	8b 03                	mov    (%ebx),%eax
50d537:	56                   	push   %esi
50d538:	55                   	push   %ebp
50d539:	ff 74 24 20          	push   0x20(%esp)
50d53d:	8b 40 1c             	mov    0x1c(%eax),%eax
50d540:	ff 74 24 34          	push   0x34(%esp)
50d544:	53                   	push   %ebx
50d545:	ff d0                	call   *%eax
50d547:	83 c4 14             	add    $0x14,%esp
50d54a:	85 c0                	test   %eax,%eax
50d54c:	0f 84 e9 00 00 00    	je     0x50d63b
50d552:	ff 74 24 28          	push   0x28(%esp)
50d556:	ff 74 24 30          	push   0x30(%esp)
50d55a:	e8 b1 c3 fc ff       	call   0x4d9910
50d55f:	83 c4 08             	add    $0x8,%esp
50d562:	85 c0                	test   %eax,%eax
50d564:	0f 85 d1 00 00 00    	jne    0x50d63b
50d56a:	ff 74 24 18          	push   0x18(%esp)
50d56e:	ff 74 24 20          	push   0x20(%esp)
50d572:	e8 99 c3 fc ff       	call   0x4d9910
50d577:	83 c4 08             	add    $0x8,%esp
50d57a:	85 c0                	test   %eax,%eax
50d57c:	0f 85 b9 00 00 00    	jne    0x50d63b
50d582:	55                   	push   %ebp
50d583:	ff 74 24 24          	push   0x24(%esp)
50d587:	e8 84 c3 fc ff       	call   0x4d9910
50d58c:	83 c4 08             	add    $0x8,%esp
50d58f:	85 c0                	test   %eax,%eax
50d591:	0f 85 a4 00 00 00    	jne    0x50d63b
50d597:	8b 0f                	mov    (%edi),%ecx
50d599:	8b 53 04             	mov    0x4(%ebx),%edx
50d59c:	8b 6f 04             	mov    0x4(%edi),%ebp
50d59f:	8b 41 70             	mov    0x70(%ecx),%eax
50d5a2:	89 44 24 28          	mov    %eax,0x28(%esp)
50d5a6:	85 c0                	test   %eax,%eax
50d5a8:	75 0e                	jne    0x50d5b8
50d5aa:	68 bc 03 00 00       	push   $0x3bc
50d5af:	68 84 b5 62 00       	push   $0x62b584
50d5b4:	6a 42                	push   $0x42
50d5b6:	eb 77                	jmp    0x50d62f
50d5b8:	3b 4d 00             	cmp    0x0(%ebp),%ecx
50d5bb:	75 66                	jne    0x50d623
50d5bd:	8b 47 10             	mov    0x10(%edi),%eax
50d5c0:	85 c0                	test   %eax,%eax
50d5c2:	74 0b                	je     0x50d5cf
50d5c4:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)
50d5c8:	74 05                	je     0x50d5cf
50d5ca:	3b 45 04             	cmp    0x4(%ebp),%eax
50d5cd:	75 54                	jne    0x50d623
50d5cf:	3b 0a                	cmp    (%edx),%ecx
50d5d1:	75 50                	jne    0x50d623
50d5d3:	85 c0                	test   %eax,%eax
50d5d5:	74 0b                	je     0x50d5e2
50d5d7:	8b 4a 04             	mov    0x4(%edx),%ecx
50d5da:	85 c9                	test   %ecx,%ecx
50d5dc:	74 04                	je     0x50d5e2
50d5de:	3b c1                	cmp    %ecx,%eax
50d5e0:	75 41                	jne    0x50d623
50d5e2:	56                   	push   %esi
50d5e3:	52                   	push   %edx
50d5e4:	55                   	push   %ebp
50d5e5:	57                   	push   %edi
50d5e6:	ff 54 24 38          	call   *0x38(%esp)
50d5ea:	83 c4 10             	add    $0x10,%esp
50d5ed:	85 c0                	test   %eax,%eax
50d5ef:	75 4a                	jne    0x50d63b
50d5f1:	8b 4f 08             	mov    0x8(%edi),%ecx
50d5f4:	8b 7f 0c             	mov    0xc(%edi),%edi
50d5f7:	8b 6b 0c             	mov    0xc(%ebx),%ebp
50d5fa:	85 c9                	test   %ecx,%ecx
50d5fc:	74 63                	je     0x50d661
50d5fe:	8b 43 08             	mov    0x8(%ebx),%eax
50d601:	85 c0                	test   %eax,%eax
50d603:	74 5c                	je     0x50d661
50d605:	50                   	push   %eax
50d606:	51                   	push   %ecx
50d607:	e8 04 c3 fc ff       	call   0x4d9910
50d60c:	83 c4 08             	add    $0x8,%esp
50d60f:	85 c0                	test   %eax,%eax
50d611:	75 28                	jne    0x50d63b
50d613:	55                   	push   %ebp
50d614:	57                   	push   %edi
50d615:	e8 f6 c2 fc ff       	call   0x4d9910
50d61a:	83 c4 08             	add    $0x8,%esp
50d61d:	85 c0                	test   %eax,%eax
50d61f:	74 22                	je     0x50d643
50d621:	eb 18                	jmp    0x50d63b
50d623:	68 c0 03 00 00       	push   $0x3c0
50d628:	68 84 b5 62 00       	push   $0x62b584
50d62d:	6a 65                	push   $0x65
50d62f:	6a 71                	push   $0x71
50d631:	6a 10                	push   $0x10
50d633:	e8 48 b9 fc ff       	call   0x4d8f80
50d638:	83 c4 14             	add    $0x14,%esp
50d63b:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
50d642:	00
50d643:	56                   	push   %esi
50d644:	e8 87 a4 fd ff       	call   0x4e7ad0
50d649:	ff 74 24 18          	push   0x18(%esp)
50d64d:	e8 ee a4 fd ff       	call   0x4e7b40
50d652:	8b 44 24 18          	mov    0x18(%esp),%eax
50d656:	83 c4 08             	add    $0x8,%esp
50d659:	5d                   	pop    %ebp
50d65a:	5e                   	pop    %esi
50d65b:	5f                   	pop    %edi
50d65c:	5b                   	pop    %ebx
50d65d:	83 c4 14             	add    $0x14,%esp
50d660:	c3                   	ret
50d661:	56                   	push   %esi
50d662:	e8 69 a4 fd ff       	call   0x4e7ad0
50d667:	ff 74 24 18          	push   0x18(%esp)
50d66b:	e8 d0 a4 fd ff       	call   0x4e7b40
50d670:	83 c4 08             	add    $0x8,%esp
50d673:	83 c8 ff             	or     $0xffffffff,%eax
50d676:	5d                   	pop    %ebp
50d677:	5e                   	pop    %esi
50d678:	5f                   	pop    %edi
50d679:	5b                   	pop    %ebx
50d67a:	83 c4 14             	add    $0x14,%esp
50d67d:	c3                   	ret
50d67e:	5f                   	pop    %edi
50d67f:	b8 01 00 00 00       	mov    $0x1,%eax
50d684:	5b                   	pop    %ebx
50d685:	83 c4 14             	add    $0x14,%esp
50d688:	c3                   	ret
50d689:	cc                   	int3
50d68a:	cc                   	int3
50d68b:	cc                   	int3
50d68c:	cc                   	int3
50d68d:	cc                   	int3
50d68e:	cc                   	int3
50d68f:	cc                   	int3
50d690:	56                   	push   %esi
50d691:	8b 74 24 08          	mov    0x8(%esp),%esi
50d695:	8b 06                	mov    (%esi),%eax
50d697:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
50d69b:	75 1c                	jne    0x50d6b9
50d69d:	68 85 00 00 00       	push   $0x85
50d6a2:	68 84 b5 62 00       	push   $0x62b584
50d6a7:	6a 42                	push   $0x42
50d6a9:	6a 6a                	push   $0x6a
50d6ab:	6a 10                	push   $0x10
50d6ad:	e8 ce b8 fc ff       	call   0x4d8f80
50d6b2:	83 c4 14             	add    $0x14,%esp
50d6b5:	33 c0                	xor    %eax,%eax
50d6b7:	5e                   	pop    %esi
50d6b8:	c3                   	ret
50d6b9:	57                   	push   %edi
50d6ba:	8b 7c 24 10          	mov    0x10(%esp),%edi
50d6be:	3b 07                	cmp    (%edi),%eax
50d6c0:	74 1d                	je     0x50d6df
50d6c2:	68 89 00 00 00       	push   $0x89
50d6c7:	68 84 b5 62 00       	push   $0x62b584
50d6cc:	6a 65                	push   $0x65
50d6ce:	6a 6a                	push   $0x6a
50d6d0:	6a 10                	push   $0x10
50d6d2:	e8 a9 b8 fc ff       	call   0x4d8f80
50d6d7:	83 c4 14             	add    $0x14,%esp
50d6da:	33 c0                	xor    %eax,%eax
50d6dc:	5f                   	pop    %edi
50d6dd:	5e                   	pop    %esi
50d6de:	c3                   	ret
50d6df:	3b f7                	cmp    %edi,%esi
50d6e1:	75 08                	jne    0x50d6eb
50d6e3:	5f                   	pop    %edi
50d6e4:	b8 01 00 00 00       	mov    $0x1,%eax
50d6e9:	5e                   	pop    %esi
50d6ea:	c3                   	ret
50d6eb:	8b 47 10             	mov    0x10(%edi),%eax
50d6ee:	89 46 10             	mov    %eax,0x10(%esi)
50d6f1:	8b 47 60             	mov    0x60(%edi),%eax
50d6f4:	89 46 60             	mov    %eax,0x60(%esi)
50d6f7:	8b 47 60             	mov    0x60(%edi),%eax
50d6fa:	83 e8 00             	sub    $0x0,%eax
50d6fd:	74 2a                	je     0x50d729
50d6ff:	83 e8 04             	sub    $0x4,%eax
50d702:	74 15                	je     0x50d719
50d704:	83 e8 01             	sub    $0x1,%eax
50d707:	75 27                	jne    0x50d730
50d709:	ff 77 64             	push   0x64(%edi)
50d70c:	e8 df d4 02 00       	call   0x53abf0
50d711:	83 c4 04             	add    $0x4,%esp
50d714:	89 46 64             	mov    %eax,0x64(%esi)
50d717:	eb 17                	jmp    0x50d730
50d719:	ff 77 64             	push   0x64(%edi)
50d71c:	e8 6f c7 02 00       	call   0x539e90
50d721:	83 c4 04             	add    $0x4,%esp
50d724:	89 46 64             	mov    %eax,0x64(%esi)
50d727:	eb 07                	jmp    0x50d730
50d729:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
50d730:	8b 4f 5c             	mov    0x5c(%edi),%ecx
50d733:	85 c9                	test   %ecx,%ecx
50d735:	74 2b                	je     0x50d762
50d737:	8b 46 5c             	mov    0x5c(%esi),%eax
50d73a:	85 c0                	test   %eax,%eax
50d73c:	75 13                	jne    0x50d751
50d73e:	e8 cd 6a fd ff       	call   0x4e4210
50d743:	89 46 5c             	mov    %eax,0x5c(%esi)
50d746:	85 c0                	test   %eax,%eax
50d748:	0f 84 21 01 00 00    	je     0x50d86f
50d74e:	8b 4f 5c             	mov    0x5c(%edi),%ecx
50d751:	51                   	push   %ecx
50d752:	50                   	push   %eax
50d753:	e8 f8 69 fd ff       	call   0x4e4150
50d758:	83 c4 08             	add    $0x8,%esp
50d75b:	85 c0                	test   %eax,%eax
50d75d:	75 15                	jne    0x50d774
50d75f:	5f                   	pop    %edi
50d760:	5e                   	pop    %esi
50d761:	c3                   	ret
50d762:	ff 76 5c             	push   0x5c(%esi)
50d765:	e8 56 6a fd ff       	call   0x4e41c0
50d76a:	83 c4 04             	add    $0x4,%esp
50d76d:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
50d774:	8b 4f 04             	mov    0x4(%edi),%ecx
50d777:	85 c9                	test   %ecx,%ecx
50d779:	74 2f                	je     0x50d7aa
50d77b:	8b 46 04             	mov    0x4(%esi),%eax
50d77e:	85 c0                	test   %eax,%eax
50d780:	75 17                	jne    0x50d799
50d782:	56                   	push   %esi
50d783:	e8 78 0f 00 00       	call   0x50e700
50d788:	83 c4 04             	add    $0x4,%esp
50d78b:	89 46 04             	mov    %eax,0x4(%esi)
50d78e:	85 c0                	test   %eax,%eax
50d790:	0f 84 d9 00 00 00    	je     0x50d86f
50d796:	8b 4f 04             	mov    0x4(%edi),%ecx
50d799:	51                   	push   %ecx
50d79a:	50                   	push   %eax
50d79b:	e8 00 0b 00 00       	call   0x50e2a0
50d7a0:	83 c4 08             	add    $0x8,%esp
50d7a3:	85 c0                	test   %eax,%eax
50d7a5:	75 3e                	jne    0x50d7e5
50d7a7:	5f                   	pop    %edi
50d7a8:	5e                   	pop    %esi
50d7a9:	c3                   	ret
50d7aa:	53                   	push   %ebx
50d7ab:	8b 5e 04             	mov    0x4(%esi),%ebx
50d7ae:	85 db                	test   %ebx,%ebx
50d7b0:	74 2b                	je     0x50d7dd
50d7b2:	8b 0b                	mov    (%ebx),%ecx
50d7b4:	8b 41 34             	mov    0x34(%ecx),%eax
50d7b7:	85 c0                	test   %eax,%eax
50d7b9:	75 07                	jne    0x50d7c2
50d7bb:	8b 41 30             	mov    0x30(%ecx),%eax
50d7be:	85 c0                	test   %eax,%eax
50d7c0:	74 06                	je     0x50d7c8
50d7c2:	53                   	push   %ebx
50d7c3:	ff d0                	call   *%eax
50d7c5:	83 c4 04             	add    $0x4,%esp
50d7c8:	68 bb 02 00 00       	push   $0x2bb
50d7cd:	68 84 b5 62 00       	push   $0x62b584
50d7d2:	6a 18                	push   $0x18
50d7d4:	53                   	push   %ebx
50d7d5:	e8 66 30 fd ff       	call   0x4e0840
50d7da:	83 c4 10             	add    $0x10,%esp
50d7dd:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
50d7e4:	5b                   	pop    %ebx
50d7e5:	8b 07                	mov    (%edi),%eax
50d7e7:	f6 00 02             	testb  $0x2,(%eax)
50d7ea:	75 24                	jne    0x50d810
50d7ec:	ff 77 08             	push   0x8(%edi)
50d7ef:	ff 76 08             	push   0x8(%esi)
50d7f2:	e8 e9 c2 fc ff       	call   0x4d9ae0
50d7f7:	83 c4 08             	add    $0x8,%esp
50d7fa:	85 c0                	test   %eax,%eax
50d7fc:	74 71                	je     0x50d86f
50d7fe:	ff 77 0c             	push   0xc(%edi)
50d801:	ff 76 0c             	push   0xc(%esi)
50d804:	e8 d7 c2 fc ff       	call   0x4d9ae0
50d809:	83 c4 08             	add    $0x8,%esp
50d80c:	85 c0                	test   %eax,%eax
50d80e:	74 5f                	je     0x50d86f
50d810:	8b 47 14             	mov    0x14(%edi),%eax
50d813:	89 46 14             	mov    %eax,0x14(%esi)
50d816:	8b 47 1c             	mov    0x1c(%edi),%eax
50d819:	89 46 1c             	mov    %eax,0x1c(%esi)
50d81c:	8b 47 18             	mov    0x18(%edi),%eax
50d81f:	89 46 18             	mov    %eax,0x18(%esi)
50d822:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
50d826:	8b 46 20             	mov    0x20(%esi),%eax
50d829:	74 71                	je     0x50d89c
50d82b:	68 d9 00 00 00       	push   $0xd9
50d830:	68 84 b5 62 00       	push   $0x62b584
50d835:	50                   	push   %eax
50d836:	e8 45 2f fd ff       	call   0x4e0780
50d83b:	68 da 00 00 00       	push   $0xda
50d840:	68 84 b5 62 00       	push   $0x62b584
50d845:	ff 77 24             	push   0x24(%edi)
50d848:	e8 03 2f fd ff       	call   0x4e0750
50d84d:	83 c4 18             	add    $0x18,%esp
50d850:	89 46 20             	mov    %eax,0x20(%esi)
50d853:	85 c0                	test   %eax,%eax
50d855:	75 1d                	jne    0x50d874
50d857:	68 db 00 00 00       	push   $0xdb
50d85c:	68 84 b5 62 00       	push   $0x62b584
50d861:	6a 41                	push   $0x41
50d863:	6a 6a                	push   $0x6a
50d865:	6a 10                	push   $0x10
50d867:	e8 14 b7 fc ff       	call   0x4d8f80
50d86c:	83 c4 14             	add    $0x14,%esp
50d86f:	5f                   	pop    %edi
50d870:	33 c0                	xor    %eax,%eax
50d872:	5e                   	pop    %esi
50d873:	c3                   	ret
50d874:	ff 77 24             	push   0x24(%edi)
50d877:	ff 77 20             	push   0x20(%edi)
50d87a:	50                   	push   %eax
50d87b:	e8 50 55 0c 00       	call   0x5d2dd0
50d880:	83 c4 0c             	add    $0xc,%esp
50d883:	85 c0                	test   %eax,%eax
50d885:	74 e8                	je     0x50d86f
50d887:	8b 47 24             	mov    0x24(%edi),%eax
50d88a:	89 46 24             	mov    %eax,0x24(%esi)
50d88d:	8b 06                	mov    (%esi),%eax
50d88f:	57                   	push   %edi
50d890:	56                   	push   %esi
50d891:	8b 40 14             	mov    0x14(%eax),%eax
50d894:	ff d0                	call   *%eax
50d896:	83 c4 08             	add    $0x8,%esp
50d899:	5f                   	pop    %edi
50d89a:	5e                   	pop    %esi
50d89b:	c3                   	ret
50d89c:	68 e2 00 00 00       	push   $0xe2
50d8a1:	68 84 b5 62 00       	push   $0x62b584
50d8a6:	50                   	push   %eax
50d8a7:	e8 d4 2e fd ff       	call   0x4e0780
50d8ac:	33 c0                	xor    %eax,%eax
50d8ae:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
50d8b5:	83 c4 0c             	add    $0xc,%esp
50d8b8:	89 46 24             	mov    %eax,0x24(%esi)
50d8bb:	8b 06                	mov    (%esi),%eax