50d5ca:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50d5cd:	eb 05                	jmp    0x50d5d4
50d5cf:	8b ca                	mov    %edx,%ecx
50d5d1:	89 55 f4             	mov    %edx,-0xc(%ebp)
50d5d4:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
50d5db:	85 c9                	test   %ecx,%ecx
50d5dd:	0f 8e c2 01 00 00    	jle    0x50d7a5
50d5e3:	8b f7                	mov    %edi,%esi
50d5e5:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
50d5e9:	0f 85 b6 01 00 00    	jne    0x50d7a5
50d5ef:	8b 45 e0             	mov    -0x20(%ebp),%eax
50d5f2:	3b 70 18             	cmp    0x18(%eax),%esi
50d5f5:	0f 84 81 00 00 00    	je     0x50d67c
50d5fb:	8b 43 38             	mov    0x38(%ebx),%eax
50d5fe:	85 c0                	test   %eax,%eax
50d600:	74 7a                	je     0x50d67c
50d602:	56                   	push   %esi
50d603:	50                   	push   %eax
50d604:	e8 37 d3 00 00       	call   0x51a940
50d609:	83 c4 08             	add    $0x8,%esp
50d60c:	85 c0                	test   %eax,%eax
50d60e:	74 69                	je     0x50d679
50d610:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
50d616:	6a 00                	push   $0x0
50d618:	56                   	push   %esi
50d619:	ff 70 2c             	push   0x2c(%eax)
50d61c:	ff 15 90 18 72 00    	call   *0x721890
50d622:	8b c8                	mov    %eax,%ecx
50d624:	83 c4 0c             	add    $0xc,%esp
50d627:	85 c9                	test   %ecx,%ecx
50d629:	75 08                	jne    0x50d633
50d62b:	89 45 f8             	mov    %eax,-0x8(%ebp)
50d62e:	e9 9f 00 00 00       	jmp    0x50d6d2
50d633:	8b 41 04             	mov    0x4(%ecx),%eax
50d636:	8b 93 d4 00 00 00    	mov    0xd4(%ebx),%edx
50d63c:	83 38 00             	cmpl   $0x0,(%eax)
50d63f:	75 0d                	jne    0x50d64e
50d641:	51                   	push   %ecx
50d642:	56                   	push   %esi
50d643:	52                   	push   %edx
50d644:	e8 77 2c 00 00       	call   0x5102c0
50d649:	83 c4 0c             	add    $0xc,%esp
50d64c:	eb 07                	jmp    0x50d655
50d64e:	ff 42 0c             	incl   0xc(%edx)
50d651:	66 ff 40 1e          	incw   0x1e(%eax)
50d655:	89 45 f8             	mov    %eax,-0x8(%ebp)
50d658:	85 c0                	test   %eax,%eax
50d65a:	74 76                	je     0x50d6d2
50d65c:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
50d660:	ba 01 00 00 00       	mov    $0x1,%edx
50d665:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50d668:	0f 45 ca             	cmovne %edx,%ecx
50d66b:	50                   	push   %eax
50d66c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50d66f:	e8 3c 62 02 00       	call   0x5338b0
50d674:	83 c4 04             	add    $0x4,%esp
50d677:	eb 59                	jmp    0x50d6d2
50d679:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50d67c:	a1 18 19 72 00       	mov    0x721918,%eax
50d681:	99                   	cltd
50d682:	f7 bb 98 00 00 00    	idivl  0x98(%ebx)
50d688:	40                   	inc    %eax
50d689:	3b f0                	cmp    %eax,%esi
50d68b:	74 48                	je     0x50d6d5
50d68d:	6a 00                	push   $0x0
50d68f:	8d 45 f8             	lea    -0x8(%ebp),%eax
50d692:	50                   	push   %eax
50d693:	8b 83 cc 00 00 00    	mov    0xcc(%ebx),%eax
50d699:	56                   	push   %esi
50d69a:	53                   	push   %ebx
50d69b:	ff d0                	call   *%eax
50d69d:	8b c8                	mov    %eax,%ecx
50d69f:	83 c4 10             	add    $0x10,%esp
50d6a2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
50d6a5:	85 c9                	test   %ecx,%ecx
50d6a7:	75 29                	jne    0x50d6d2
50d6a9:	ff 75 f8             	push   -0x8(%ebp)
50d6ac:	e8 ef 11 00 00       	call   0x50e8a0
50d6b1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
50d6b4:	ba 01 00 00 00       	mov    $0x1,%edx
50d6b9:	89 45 ec             	mov    %eax,-0x14(%ebp)
50d6bc:	8b 45 f8             	mov    -0x8(%ebp),%eax
50d6bf:	50                   	push   %eax
50d6c0:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
50d6c4:	0f 45 ca             	cmovne %edx,%ecx
50d6c7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
50d6ca:	e8 e1 61 02 00       	call   0x5338b0
50d6cf:	83 c4 08             	add    $0x8,%esp
50d6d2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
50d6d5:	8b 45 e8             	mov    -0x18(%ebp),%eax
50d6d8:	46                   	inc    %esi
50d6d9:	40                   	inc    %eax
50d6da:	89 45 e8             	mov    %eax,-0x18(%ebp)
50d6dd:	3b c1                	cmp    %ecx,%eax
50d6df:	0f 8c 00 ff ff ff    	jl     0x50d5e5
50d6e5:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
50d6e9:	0f 85 b6 00 00 00    	jne    0x50d7a5
50d6ef:	8b 45 f0             	mov    -0x10(%ebp),%eax
50d6f2:	85 c0                	test   %eax,%eax
50d6f4:	0f 84 ab 00 00 00    	je     0x50d7a5
50d6fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
50d700:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
50d706:	6a 00                	push   $0x0
50d708:	57                   	push   %edi
50d709:	ff 70 2c             	push   0x2c(%eax)
50d70c:	ff 15 90 18 72 00    	call   *0x721890
50d712:	8b c8                	mov    %eax,%ecx
50d714:	83 c4 0c             	add    $0xc,%esp
50d717:	85 c9                	test   %ecx,%ecx
50d719:	74 7c                	je     0x50d797
50d71b:	8b 41 04             	mov    0x4(%ecx),%eax
50d71e:	8b 93 d4 00 00 00    	mov    0xd4(%ebx),%edx
50d724:	83 38 00             	cmpl   $0x0,(%eax)
50d727:	75 0d                	jne    0x50d736
50d729:	51                   	push   %ecx
50d72a:	57                   	push   %edi
50d72b:	52                   	push   %edx
50d72c:	e8 8f 2b 00 00       	call   0x5102c0
50d731:	83 c4 0c             	add    $0xc,%esp
50d734:	eb 07                	jmp    0x50d73d
50d736:	ff 42 0c             	incl   0xc(%edx)
50d739:	66 ff 40 1e          	incw   0x1e(%eax)
50d73d:	85 c0                	test   %eax,%eax
50d73f:	74 56                	je     0x50d797
50d741:	66 83 48 1c 08       	orw    $0x8,0x1c(%eax)
50d746:	f6 40 1c 20          	testb  $0x20,0x1c(%eax)
50d74a:	74 42                	je     0x50d78e
50d74c:	8b 50 14             	mov    0x14(%eax),%edx
50d74f:	ff 4a 78             	decl   0x78(%edx)
50d752:	8b 8a 88 00 00 00    	mov    0x88(%edx),%ecx
50d758:	89 48 10             	mov    %ecx,0x10(%eax)
50d75b:	8b 72 3c             	mov    0x3c(%edx),%esi
50d75e:	89 82 88 00 00 00    	mov    %eax,0x88(%edx)
50d764:	ff 70 04             	push   0x4(%eax)
50d767:	8b 48 18             	mov    0x18(%eax),%ecx
50d76a:	8b 82 98 00 00 00    	mov    0x98(%edx),%eax
50d770:	49                   	dec    %ecx
50d771:	8b 3e                	mov    (%esi),%edi
50d773:	99                   	cltd
50d774:	52                   	push   %edx
50d775:	50                   	push   %eax
50d776:	6a 00                	push   $0x0
50d778:	51                   	push   %ecx
50d779:	e8 82 43 0d 00       	call   0x5e1b00
50d77e:	52                   	push   %edx
50d77f:	50                   	push   %eax
50d780:	8b 47 48             	mov    0x48(%edi),%eax
50d783:	56                   	push   %esi
50d784:	ff d0                	call   *%eax
50d786:	8b 7d e4             	mov    -0x1c(%ebp),%edi
50d789:	83 c4 10             	add    $0x10,%esp
50d78c:	eb 09                	jmp    0x50d797
50d78e:	50                   	push   %eax
50d78f:	e8 5c 6e 02 00       	call   0x5345f0
50d794:	83 c4 04             	add    $0x4,%esp
50d797:	47                   	inc    %edi
50d798:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
50d79c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
50d79f:	0f 85 5b ff ff ff    	jne    0x50d700
50d7a5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50d7a8:	80 63 14 fb          	andb   $0xfb,0x14(%ebx)
50d7ac:	33 cd                	xor    %ebp,%ecx
50d7ae:	8b 45 ec             	mov    -0x14(%ebp),%eax
50d7b1:	5f                   	pop    %edi
50d7b2:	5e                   	pop    %esi
50d7b3:	5b                   	pop    %ebx
50d7b4:	e8 21 3d 0d 00       	call   0x5e14da
50d7b9:	8b e5                	mov    %ebp,%esp
50d7bb:	5d                   	pop    %ebp
50d7bc:	c3                   	ret
50d7bd:	cc                   	int3
50d7be:	cc                   	int3
50d7bf:	cc                   	int3
50d7c0:	55                   	push   %ebp
50d7c1:	8b ec                	mov    %esp,%ebp
50d7c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
50d7c6:	56                   	push   %esi
50d7c7:	57                   	push   %edi
50d7c8:	33 f6                	xor    %esi,%esi
50d7ca:	33 ff                	xor    %edi,%edi
50d7cc:	8b 51 30             	mov    0x30(%ecx),%edx
50d7cf:	8b 89 98 00 00 00    	mov    0x98(%ecx),%ecx
50d7d5:	81 e9 c8 00 00 00    	sub    $0xc8,%ecx
50d7db:	85 c9                	test   %ecx,%ecx
50d7dd:	7e 43                	jle    0x50d822
50d7df:	8d 81 c7 00 00 00    	lea    0xc7(%ecx),%eax
50d7e5:	53                   	push   %ebx
50d7e6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
50d7e9:	3d 90 01 00 00       	cmp    $0x190,%eax
50d7ee:	7c 1e                	jl     0x50d80e
50d7f0:	0f b6 04 0b          	movzbl (%ebx,%ecx,1),%eax
50d7f4:	03 f0                	add    %eax,%esi
50d7f6:	0f b6 84 0b 38 ff ff 	movzbl -0xc8(%ebx,%ecx,1),%eax
50d7fd:	ff
50d7fe:	81 e9 90 01 00 00    	sub    $0x190,%ecx
50d804:	03 f8                	add    %eax,%edi
50d806:	81 f9 c8 00 00 00    	cmp    $0xc8,%ecx
50d80c:	7f e2                	jg     0x50d7f0
50d80e:	85 c9                	test   %ecx,%ecx
50d810:	7e 06                	jle    0x50d818
50d812:	0f b6 0c 19          	movzbl (%ecx,%ebx,1),%ecx
50d816:	03 d1                	add    %ecx,%edx
50d818:	8d 04 37             	lea    (%edi,%esi,1),%eax
50d81b:	5b                   	pop    %ebx
50d81c:	5f                   	pop    %edi
50d81d:	03 c2                	add    %edx,%eax
50d81f:	5e                   	pop    %esi
50d820:	5d                   	pop    %ebp
50d821:	c3                   	ret
50d822:	5f                   	pop    %edi
50d823:	8b c2                	mov    %edx,%eax
50d825:	5e                   	pop    %esi
50d826:	5d                   	pop    %ebp
50d827:	c3                   	ret
50d828:	cc                   	int3
50d829:	cc                   	int3
50d82a:	cc                   	int3
50d82b:	cc                   	int3
50d82c:	cc                   	int3
50d82d:	cc                   	int3
50d82e:	cc                   	int3
50d82f:	cc                   	int3
50d830:	55                   	push   %ebp
50d831:	8b ec                	mov    %esp,%ebp
50d833:	83 ec 28             	sub    $0x28,%esp
50d836:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50d83b:	33 c5                	xor    %ebp,%eax
50d83d:	89 45 fc             	mov    %eax,-0x4(%ebp)
50d840:	8b 45 08             	mov    0x8(%ebp),%eax
50d843:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50d846:	53                   	push   %ebx
50d847:	56                   	push   %esi
50d848:	8b 18                	mov    (%eax),%ebx
50d84a:	57                   	push   %edi
50d84b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
50d84e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
50d855:	8b 43 04             	mov    0x4(%ebx),%eax
50d858:	03 c0                	add    %eax,%eax
50d85a:	99                   	cltd
50d85b:	8b f0                	mov    %eax,%esi
50d85d:	52                   	push   %edx
50d85e:	56                   	push   %esi
50d85f:	e8 fc 36 02 00       	call   0x530f60
50d864:	8b f8                	mov    %eax,%edi
50d866:	83 c4 08             	add    $0x8,%esp
50d869:	89 7d ec             	mov    %edi,-0x14(%ebp)
50d86c:	85 ff                	test   %edi,%edi
50d86e:	74 0c                	je     0x50d87c
50d870:	56                   	push   %esi
50d871:	6a 00                	push   $0x0
50d873:	57                   	push   %edi
50d874:	e8 87 61 0d 00       	call   0x5e3a00
50d879:	83 c4 0c             	add    $0xc,%esp
50d87c:	8b 43 04             	mov    0x4(%ebx),%eax
50d87f:	03 c7                	add    %edi,%eax
50d881:	89 45 e8             	mov    %eax,-0x18(%ebp)
50d884:	85 ff                	test   %edi,%edi
50d886:	75 08                	jne    0x50d890
50d888:	8d 77 07             	lea    0x7(%edi),%esi
50d88b:	e9 ba 01 00 00       	jmp    0x50da4a
50d890:	8b 43 18             	mov    0x18(%ebx),%eax
50d893:	6a 00                	push   $0x0
50d895:	68 01 40 00 00       	push   $0x4001
50d89a:	57                   	push   %edi
50d89b:	ff 75 e0             	push   -0x20(%ebp)
50d89e:	53                   	push   %ebx
50d89f:	ff d0                	call   *%eax
50d8a1:	8b f0                	mov    %eax,%esi
50d8a3:	83 c4 14             	add    $0x14,%esp
50d8a6:	85 f6                	test   %esi,%esi
50d8a8:	0f 85 9c 01 00 00    	jne    0x50da4a
50d8ae:	8b 07                	mov    (%edi),%eax
50d8b0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
50d8b3:	51                   	push   %ecx
50d8b4:	57                   	push   %edi
50d8b5:	8b 40 18             	mov    0x18(%eax),%eax
50d8b8:	ff d0                	call   *%eax
50d8ba:	8b f0                	mov    %eax,%esi
50d8bc:	83 c4 08             	add    $0x8,%esp
50d8bf:	85 f6                	test   %esi,%esi
50d8c1:	0f 85 83 01 00 00    	jne    0x50da4a
50d8c7:	8b 43 08             	mov    0x8(%ebx),%eax
50d8ca:	40                   	inc    %eax
50d8cb:	89 45 d8             	mov    %eax,-0x28(%ebp)
50d8ce:	99                   	cltd
50d8cf:	03 45 f0             	add    -0x10(%ebp),%eax
50d8d2:	13 55 f4             	adc    -0xc(%ebp),%edx
50d8d5:	83 c0 02             	add    $0x2,%eax
50d8d8:	13 d6                	adc    %esi,%edx
50d8da:	52                   	push   %edx
50d8db:	50                   	push   %eax
50d8dc:	e8 7f 36 02 00       	call   0x530f60
50d8e1:	8b f0                	mov    %eax,%esi
50d8e3:	83 c4 08             	add    $0x8,%esp
50d8e6:	89 75 e4             	mov    %esi,-0x1c(%ebp)
50d8e9:	85 f6                	test   %esi,%esi
50d8eb:	75 08                	jne    0x50d8f5
50d8ed:	8d 70 07             	lea    0x7(%eax),%esi
50d8f0:	e9 55 01 00 00       	jmp    0x50da4a
50d8f5:	8b 45 f0             	mov    -0x10(%ebp),%eax
50d8f8:	6a 00                	push   $0x0
50d8fa:	6a 00                	push   $0x0
50d8fc:	50                   	push   %eax
50d8fd:	8d 48 02             	lea    0x2(%eax),%ecx
50d900:	03 ce                	add    %esi,%ecx
50d902:	89 4d dc             	mov    %ecx,-0x24(%ebp)
50d905:	8b 0f                	mov    (%edi),%ecx
50d907:	56                   	push   %esi
50d908:	57                   	push   %edi
50d909:	8b 41 08             	mov    0x8(%ecx),%eax
50d90c:	ff d0                	call   *%eax
50d90e:	8b f0                	mov    %eax,%esi
50d910:	83 c4 14             	add    $0x14,%esp
50d913:	85 f6                	test   %esi,%esi
50d915:	0f 85 2f 01 00 00    	jne    0x50da4a
50d91b:	8b 45 f0             	mov    -0x10(%ebp),%eax
50d91e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
50d921:	8b f9                	mov    %ecx,%edi
50d923:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
50d927:	8b 45 f0             	mov    -0x10(%ebp),%eax
50d92a:	c6 44 08 01 00       	movb   $0x0,0x1(%eax,%ecx,1)
50d92f:	39 75 f4             	cmp    %esi,-0xc(%ebp)
50d932:	0f 8c f4 00 00 00    	jl     0x50da2c
50d938:	7f 09                	jg     0x50d943
50d93a:	39 75 f0             	cmp    %esi,-0x10(%ebp)
50d93d:	0f 86 e9 00 00 00    	jbe    0x50da2c
50d943:	8d 45 f8             	lea    -0x8(%ebp),%eax
50d946:	50                   	push   %eax
50d947:	8b 43 20             	mov    0x20(%ebx),%eax
50d94a:	6a 00                	push   $0x0
50d94c:	57                   	push   %edi
50d94d:	53                   	push   %ebx
50d94e:	ff d0                	call   *%eax
50d950:	8b f0                	mov    %eax,%esi
50d952:	83 c4 10             	add    $0x10,%esp
50d955:	85 f6                	test   %esi,%esi
50d957:	0f 85 ea 00 00 00    	jne    0x50da47
50d95d:	39 45 f8             	cmp    %eax,-0x8(%ebp)
50d960:	0f 84 87 00 00 00    	je     0x50d9ed
50d966:	50                   	push   %eax
50d967:	8b 43 18             	mov    0x18(%ebx),%eax
50d96a:	68 01 08 00 00       	push   $0x801
50d96f:	ff 75 e8             	push   -0x18(%ebp)
50d972:	57                   	push   %edi
50d973:	53                   	push   %ebx
50d974:	ff d0                	call   *%eax
50d976:	8b f0                	mov    %eax,%esi
50d978:	83 c4 14             	add    $0x14,%esp
50d97b:	85 f6                	test   %esi,%esi
50d97d:	0f 85 c4 00 00 00    	jne    0x50da47