47649e:	8b 08                	mov    (%eax),%ecx
4764a0:	ff 51 08             	call   *0x8(%ecx)
4764a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4764a6:	6b 80 c0 00 00 00 15 	imul   $0x15,0xc0(%eax),%eax
4764ad:	e8 02 2c f9 ff       	call   0x4090b4
4764b2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4764b5:	c6 45 b7 01          	movb   $0x1,-0x49(%ebp)
4764b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4764bc:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
4764c2:	48                   	dec    %eax
4764c3:	85 c0                	test   %eax,%eax
4764c5:	0f 8c 29 01 00 00    	jl     0x4765f4
4764cb:	40                   	inc    %eax
4764cc:	89 45 a0             	mov    %eax,-0x60(%ebp)
4764cf:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4764d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4764d9:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
4764df:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4764e2:	8b 04 90             	mov    (%eax,%edx,4),%eax
4764e5:	8b 78 1c             	mov    0x1c(%eax),%edi
4764e8:	8b c7                	mov    %edi,%eax
4764ea:	8b 15 9c 03 47 00    	mov    0x47039c,%edx
4764f0:	e8 0f d7 f8 ff       	call   0x403c04
4764f5:	8b d8                	mov    %eax,%ebx
4764f7:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
4764fb:	8b 55 f8             	mov    -0x8(%ebp),%edx
4764fe:	8d 34 02             	lea    (%edx,%eax,1),%esi
476501:	3b 7d bc             	cmp    -0x44(%ebp),%edi
476504:	0f 84 de 00 00 00    	je     0x4765e8
47650a:	8b 45 fc             	mov    -0x4(%ebp),%eax
47650d:	83 78 4c 00          	cmpl   $0x0,0x4c(%eax)
476511:	74 5f                	je     0x476572
476513:	84 db                	test   %bl,%bl
476515:	0f 85 cd 00 00 00    	jne    0x4765e8
47651b:	8b 45 fc             	mov    -0x4(%ebp),%eax
47651e:	8b 40 4c             	mov    0x4c(%eax),%eax
476521:	e8 5e e7 ff ff       	call   0x474c84
476526:	8b 45 fc             	mov    -0x4(%ebp),%eax
476529:	8b 40 4c             	mov    0x4c(%eax),%eax
47652c:	8b 40 6c             	mov    0x6c(%eax),%eax
47652f:	03 45 c4             	add    -0x3c(%ebp),%eax
476532:	8b 55 fc             	mov    -0x4(%ebp),%edx
476535:	8b 52 4c             	mov    0x4c(%edx),%edx
476538:	3b 82 c0 00 00 00    	cmp    0xc0(%edx),%eax
47653e:	7d 14                	jge    0x476554
476540:	8b 55 fc             	mov    -0x4(%ebp),%edx
476543:	8b 52 4c             	mov    0x4c(%edx),%edx
476546:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
47654c:	8b 04 82             	mov    (%edx,%eax,4),%eax
47654f:	89 45 a8             	mov    %eax,-0x58(%ebp)
476552:	eb 05                	jmp    0x476559
476554:	33 c0                	xor    %eax,%eax
476556:	89 45 a8             	mov    %eax,-0x58(%ebp)
476559:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
47655d:	0f 84 85 00 00 00    	je     0x4765e8
476563:	8b 45 a8             	mov    -0x58(%ebp),%eax
476566:	80 78 20 00          	cmpb   $0x0,0x20(%eax)
47656a:	75 06                	jne    0x476572
47656c:	f6 47 64 04          	testb  $0x4,0x64(%edi)
476570:	74 76                	je     0x4765e8
476572:	84 db                	test   %bl,%bl
476574:	75 3a                	jne    0x4765b0
476576:	f6 47 64 08          	testb  $0x8,0x64(%edi)
47657a:	74 09                	je     0x476585
47657c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47657f:	80 78 58 00          	cmpb   $0x0,0x58(%eax)
476583:	74 63                	je     0x4765e8
476585:	8a 87 a8 00 00 00    	mov    0xa8(%edi),%al
47658b:	88 46 10             	mov    %al,0x10(%esi)
47658e:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
476592:	74 54                	je     0x4765e8
476594:	f6 47 64 04          	testb  $0x4,0x64(%edi)
476598:	0f 95 c0             	setne  %al
47659b:	22 45 b7             	and    -0x49(%ebp),%al
47659e:	74 04                	je     0x4765a4
4765a0:	c6 46 10 00          	movb   $0x0,0x10(%esi)
4765a4:	f6 47 64 04          	testb  $0x4,0x64(%edi)
4765a8:	0f 95 c0             	setne  %al
4765ab:	88 45 b7             	mov    %al,-0x49(%ebp)
4765ae:	eb 38                	jmp    0x4765e8
4765b0:	8b bf b0 00 00 00    	mov    0xb0(%edi),%edi
4765b6:	85 ff                	test   %edi,%edi
4765b8:	74 2e                	je     0x4765e8
4765ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4765bd:	83 b8 c8 00 00 00 00 	cmpl   $0x0,0xc8(%eax)
4765c4:	74 22                	je     0x4765e8
4765c6:	8b 47 30             	mov    0x30(%edi),%eax
4765c9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4765cc:	3b 82 c8 00 00 00    	cmp    0xc8(%edx),%eax
4765d2:	75 14                	jne    0x4765e8
4765d4:	80 7f 57 00          	cmpb   $0x0,0x57(%edi)
4765d8:	75 06                	jne    0x4765e0
4765da:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
4765de:	74 08                	je     0x4765e8
4765e0:	c6 46 10 01          	movb   $0x1,0x10(%esi)
4765e4:	c6 45 b7 00          	movb   $0x0,-0x49(%ebp)
4765e8:	ff 45 c4             	incl   -0x3c(%ebp)
4765eb:	ff 4d a0             	decl   -0x60(%ebp)
4765ee:	0f 85 e2 fe ff ff    	jne    0x4764d6
4765f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4765f7:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
4765fd:	48                   	dec    %eax
4765fe:	83 f8 00             	cmp    $0x0,%eax
476601:	7c 38                	jl     0x47663b
476603:	89 45 c4             	mov    %eax,-0x3c(%ebp)
476606:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
47660a:	8b 55 f8             	mov    -0x8(%ebp),%edx
47660d:	8d 04 02             	lea    (%edx,%eax,1),%eax
476610:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
476614:	74 1c                	je     0x476632
476616:	8b 55 fc             	mov    -0x4(%ebp),%edx
476619:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
47661f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
476622:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
476625:	8b 52 1c             	mov    0x1c(%edx),%edx
476628:	f6 42 64 04          	testb  $0x4,0x64(%edx)
47662c:	74 0d                	je     0x47663b
47662e:	c6 40 10 00          	movb   $0x0,0x10(%eax)
476632:	ff 4d c4             	decl   -0x3c(%ebp)
476635:	83 7d c4 ff          	cmpl   $0xffffffff,-0x3c(%ebp)
476639:	75 cb                	jne    0x476606
47663b:	33 c0                	xor    %eax,%eax
47663d:	89 45 b0             	mov    %eax,-0x50(%ebp)
476640:	8b 45 fc             	mov    -0x4(%ebp),%eax
476643:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
476649:	48                   	dec    %eax
47664a:	85 c0                	test   %eax,%eax
47664c:	0f 8c 91 01 00 00    	jl     0x4767e3
476652:	40                   	inc    %eax
476653:	89 45 a0             	mov    %eax,-0x60(%ebp)
476656:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
47665d:	8b 45 fc             	mov    -0x4(%ebp),%eax
476660:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476666:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476669:	8b 04 90             	mov    (%eax,%edx,4),%eax
47666c:	8b 78 1c             	mov    0x1c(%eax),%edi
47666f:	8b c7                	mov    %edi,%eax
476671:	8b 15 9c 03 47 00    	mov    0x47039c,%edx
476677:	e8 88 d5 f8 ff       	call   0x403c04
47667c:	8b d8                	mov    %eax,%ebx
47667e:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
476682:	8b 55 f8             	mov    -0x8(%ebp),%edx
476685:	8d 34 02             	lea    (%edx,%eax,1),%esi
476688:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
47668c:	0f 84 45 01 00 00    	je     0x4767d7
476692:	84 db                	test   %bl,%bl
476694:	0f 85 2b 01 00 00    	jne    0x4767c5
47669a:	c6 45 b5 00          	movb   $0x0,-0x4b(%ebp)
47669e:	f6 47 3f 01          	testb  $0x1,0x3f(%edi)
4766a2:	74 31                	je     0x4766d5
4766a4:	8b 45 b8             	mov    -0x48(%ebp),%eax
4766a7:	8b 40 0c             	mov    0xc(%eax),%eax
4766aa:	89 45 9c             	mov    %eax,-0x64(%ebp)
4766ad:	8b 45 9c             	mov    -0x64(%ebp),%eax
4766b0:	e8 a3 16 fb ff       	call   0x427d58
4766b5:	a8 01                	test   $0x1,%al
4766b7:	75 1c                	jne    0x4766d5
4766b9:	c6 45 b5 01          	movb   $0x1,-0x4b(%ebp)
4766bd:	8b 45 9c             	mov    -0x64(%ebp),%eax
4766c0:	e8 93 16 fb ff       	call   0x427d58
4766c5:	8b d0                	mov    %eax,%edx
4766c7:	0a 15 c4 70 47 00    	or     0x4770c4,%dl
4766cd:	8b 45 9c             	mov    -0x64(%ebp),%eax
4766d0:	e8 8f 16 fb ff       	call   0x427d64
4766d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4766d8:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
4766de:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4766e1:	8b 04 90             	mov    (%eax,%edx,4),%eax
4766e4:	89 45 a8             	mov    %eax,-0x58(%ebp)
4766e7:	c6 45 a5 00          	movb   $0x0,-0x5b(%ebp)
4766eb:	8b 55 a8             	mov    -0x58(%ebp),%edx
4766ee:	8b c7                	mov    %edi,%eax
4766f0:	8b 08                	mov    (%eax),%ecx
4766f2:	ff 51 50             	call   *0x50(%ecx)
4766f5:	84 c0                	test   %al,%al
4766f7:	74 41                	je     0x47673a
4766f9:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
4766fd:	74 1f                	je     0x47671e
4766ff:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476702:	8b 45 fc             	mov    -0x4(%ebp),%eax
476705:	e8 9e e6 ff ff       	call   0x474da8
47670a:	8b 45 fc             	mov    -0x4(%ebp),%eax
47670d:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476713:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476716:	8b 04 90             	mov    (%eax,%edx,4),%eax
476719:	89 45 a8             	mov    %eax,-0x58(%ebp)
47671c:	eb 1c                	jmp    0x47673a
47671e:	57                   	push   %edi
47671f:	6a 00                	push   $0x0
476721:	8b 55 fc             	mov    -0x4(%ebp),%edx
476724:	8b c7                	mov    %edi,%eax
476726:	8b 08                	mov    (%eax),%ecx
476728:	ff 51 44             	call   *0x44(%ecx)
47672b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47672e:	b2 01                	mov    $0x1,%dl
476730:	ff 50 4c             	call   *0x4c(%eax)
476733:	89 45 a8             	mov    %eax,-0x58(%ebp)
476736:	c6 45 a5 01          	movb   $0x1,-0x5b(%ebp)
47673a:	33 c0                	xor    %eax,%eax
47673c:	55                   	push   %ebp
47673d:	68 93 67 47 00       	push   $0x476793
476742:	64 ff 30             	push   %fs:(%eax)
476745:	64 89 20             	mov    %esp,%fs:(%eax)
476748:	8d 46 0c             	lea    0xc(%esi),%eax
47674b:	50                   	push   %eax
47674c:	8d 4e 08             	lea    0x8(%esi),%ecx
47674f:	8b 55 b8             	mov    -0x48(%ebp),%edx
476752:	8b 45 a8             	mov    -0x58(%ebp),%eax
476755:	8b 18                	mov    (%eax),%ebx
476757:	ff 13                	call   *(%ebx)
476759:	8b 45 a8             	mov    -0x58(%ebp),%eax
47675c:	8b 10                	mov    (%eax),%edx
47675e:	ff 52 48             	call   *0x48(%edx)
476761:	84 c0                	test   %al,%al
476763:	74 12                	je     0x476777
476765:	c6 46 14 01          	movb   $0x1,0x14(%esi)
476769:	8b 46 08             	mov    0x8(%esi),%eax
47676c:	3b 45 b0             	cmp    -0x50(%ebp),%eax
47676f:	7e 06                	jle    0x476777
476771:	8b 46 08             	mov    0x8(%esi),%eax
476774:	89 45 b0             	mov    %eax,-0x50(%ebp)
476777:	33 c0                	xor    %eax,%eax
476779:	5a                   	pop    %edx
47677a:	59                   	pop    %ecx
47677b:	59                   	pop    %ecx
47677c:	64 89 10             	mov    %edx,%fs:(%eax)
47677f:	68 9a 67 47 00       	push   $0x47679a
476784:	80 7d a5 00          	cmpb   $0x0,-0x5b(%ebp)
476788:	74 08                	je     0x476792
47678a:	8b 45 a8             	mov    -0x58(%ebp),%eax
47678d:	e8 e6 d2 f8 ff       	call   0x403a78
476792:	c3                   	ret
476793:	e9 74 da f8 ff       	jmp    0x40420c
476798:	eb ea                	jmp    0x476784
47679a:	80 7d b5 00          	cmpb   $0x0,-0x4b(%ebp)
47679e:	74 37                	je     0x4767d7
4767a0:	8b 45 b8             	mov    -0x48(%ebp),%eax
4767a3:	8b 40 0c             	mov    0xc(%eax),%eax
4767a6:	89 45 98             	mov    %eax,-0x68(%ebp)
4767a9:	8b 45 98             	mov    -0x68(%ebp),%eax
4767ac:	e8 a7 15 fb ff       	call   0x427d58
4767b1:	8a 15 c4 70 47 00    	mov    0x4770c4,%dl
4767b7:	f7 d2                	not    %edx
4767b9:	22 d0                	and    %al,%dl
4767bb:	8b 45 98             	mov    -0x68(%ebp),%eax
4767be:	e8 a1 15 fb ff       	call   0x427d64
4767c3:	eb 12                	jmp    0x4767d7
4767c5:	8b bf b0 00 00 00    	mov    0xb0(%edi),%edi
4767cb:	8b 47 48             	mov    0x48(%edi),%eax
4767ce:	89 46 08             	mov    %eax,0x8(%esi)
4767d1:	8b 47 4c             	mov    0x4c(%edi),%eax
4767d4:	89 46 0c             	mov    %eax,0xc(%esi)
4767d7:	ff 45 c4             	incl   -0x3c(%ebp)
4767da:	ff 4d a0             	decl   -0x60(%ebp)
4767dd:	0f 85 7a fe ff ff    	jne    0x47665d
4767e3:	8b 45 10             	mov    0x10(%ebp),%eax
4767e6:	33 d2                	xor    %edx,%edx
4767e8:	89 10                	mov    %edx,(%eax)
4767ea:	8b 45 10             	mov    0x10(%ebp),%eax
4767ed:	33 d2                	xor    %edx,%edx
4767ef:	89 50 04             	mov    %edx,0x4(%eax)
4767f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767f5:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
4767fb:	48                   	dec    %eax
4767fc:	85 c0                	test   %eax,%eax
4767fe:	7c 4a                	jl     0x47684a
476800:	40                   	inc    %eax
476801:	89 45 a0             	mov    %eax,-0x60(%ebp)
476804:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
47680b:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
47680f:	8b 55 f8             	mov    -0x8(%ebp),%edx
476812:	8d 04 02             	lea    (%edx,%eax,1),%eax
476815:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
476819:	74 0e                	je     0x476829
47681b:	8b 50 08             	mov    0x8(%eax),%edx
47681e:	3b 55 b0             	cmp    -0x50(%ebp),%edx
476821:	7d 06                	jge    0x476829
476823:	8b 55 b0             	mov    -0x50(%ebp),%edx
476826:	89 50 08             	mov    %edx,0x8(%eax)
476829:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
47682d:	74 0a                	je     0x476839
47682f:	8b 40 08             	mov    0x8(%eax),%eax
476832:	8b 55 10             	mov    0x10(%ebp),%edx
476835:	01 02                	add    %eax,(%edx)
476837:	eb 09                	jmp    0x476842
476839:	8b 40 0c             	mov    0xc(%eax),%eax
47683c:	8b 55 10             	mov    0x10(%ebp),%edx
47683f:	01 42 04             	add    %eax,0x4(%edx)
476842:	ff 45 c4             	incl   -0x3c(%ebp)
476845:	ff 4d a0             	decl   -0x60(%ebp)
476848:	75 c1                	jne    0x47680b
47684a:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
47684e:	74 07                	je     0x476857
476850:	8b 5d 10             	mov    0x10(%ebp),%ebx
476853:	8b 1b                	mov    (%ebx),%ebx
476855:	eb 06                	jmp    0x47685d
476857:	8b 5d 10             	mov    0x10(%ebp),%ebx
47685a:	8b 5b 04             	mov    0x4(%ebx),%ebx
47685d:	c6 45 a6 00          	movb   $0x0,-0x5a(%ebp)
476861:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
476865:	74 0b                	je     0x476872
476867:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
47686b:	7e 05                	jle    0x476872
47686d:	3b 5d 18             	cmp    0x18(%ebp),%ebx
476870:	7f 04                	jg     0x476876
476872:	33 c0                	xor    %eax,%eax
476874:	eb 02                	jmp    0x476878
476876:	b0 01                	mov    $0x1,%al
476878:	88 45 a7             	mov    %al,-0x59(%ebp)
47687b:	80 7d a7 00          	cmpb   $0x0,-0x59(%ebp)
47687f:	0f 84 01 02 00 00    	je     0x476a86
476885:	8b 45 14             	mov    0x14(%ebp),%eax
476888:	29 45 18             	sub    %eax,0x18(%ebp)
47688b:	3b 5d 18             	cmp    0x18(%ebp),%ebx
47688e:	0f 8e f2 01 00 00    	jle    0x476a86
476894:	33 c0                	xor    %eax,%eax
476896:	8b 55 fc             	mov    -0x4(%ebp),%edx
476899:	8b 92 c0 00 00 00    	mov    0xc0(%edx),%edx
47689f:	4a                   	dec    %edx
4768a0:	83 fa 00             	cmp    $0x0,%edx
4768a3:	7c 33                	jl     0x4768d8
4768a5:	89 55 c4             	mov    %edx,-0x3c(%ebp)
4768a8:	6b 55 c4 15          	imul   $0x15,-0x3c(%ebp),%edx
4768ac:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4768af:	80 7c 11 10 00       	cmpb   $0x0,0x10(%ecx,%edx,1)
4768b4:	74 19                	je     0x4768cf
4768b6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4768b9:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
4768bf:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4768c2:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
4768c5:	8b 52 1c             	mov    0x1c(%edx),%edx
4768c8:	f6 42 64 04          	testb  $0x4,0x64(%edx)
4768cc:	75 01                	jne    0x4768cf
4768ce:	40                   	inc    %eax
4768cf:	ff 4d c4             	decl   -0x3c(%ebp)
4768d2:	83 7d c4 ff          	cmpl   $0xffffffff,-0x3c(%ebp)
4768d6:	75 d0                	jne    0x4768a8
4768d8:	48                   	dec    %eax
4768d9:	0f 8e a7 01 00 00    	jle    0x476a86
4768df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4768e2:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
4768e8:	48                   	dec    %eax
4768e9:	83 f8 00             	cmp    $0x0,%eax
4768ec:	7c 4e                	jl     0x47693c
4768ee:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4768f1:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
4768f5:	8b 55 f8             	mov    -0x8(%ebp),%edx
4768f8:	8d 04 02             	lea    (%edx,%eax,1),%eax
4768fb:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
4768ff:	74 32                	je     0x476933