4e3788:	3b f0                	cmp    %eax,%esi
4e378a:	7c 12                	jl     0x4e379e
4e378c:	66 83 39 00          	cmpw   $0x0,(%ecx)
4e3790:	74 04                	je     0x4e3796
4e3792:	ff 44 24 1c          	incl   0x1c(%esp)
4e3796:	40                   	inc    %eax
4e3797:	83 c1 02             	add    $0x2,%ecx
4e379a:	3b f0                	cmp    %eax,%esi
4e379c:	7d ee                	jge    0x4e378c
4e379e:	43                   	inc    %ebx
4e379f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4e37a3:	3b d9                	cmp    %ecx,%ebx
4e37a5:	7e c8                	jle    0x4e376f
4e37a7:	83 44 24 44 04       	addl   $0x4,0x44(%esp)
4e37ac:	8b 44 24 0c          	mov    0xc(%esp),%eax
4e37b0:	42                   	inc    %edx
4e37b1:	3b d0                	cmp    %eax,%edx
4e37b3:	7e a4                	jle    0x4e3759
4e37b5:	8b 14 24             	mov    (%esp),%edx
4e37b8:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4e37bc:	89 4a 1c             	mov    %ecx,0x1c(%edx)
4e37bf:	83 c4 48             	add    $0x48,%esp
4e37c2:	5f                   	pop    %edi
4e37c3:	5e                   	pop    %esi
4e37c4:	5b                   	pop    %ebx
4e37c5:	c3                   	ret
4e37c6:	90                   	nop
4e37c7:	90                   	nop
4e37c8:	55                   	push   %ebp
4e37c9:	8b ec                	mov    %esp,%ebp
4e37cb:	83 c4 f0             	add    $0xfffffff0,%esp
4e37ce:	53                   	push   %ebx
4e37cf:	56                   	push   %esi
4e37d0:	89 55 f8             	mov    %edx,-0x8(%ebp)
4e37d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4e37d6:	8b 45 08             	mov    0x8(%ebp),%eax
4e37d9:	8b f1                	mov    %ecx,%esi
4e37db:	3b f0                	cmp    %eax,%esi
4e37dd:	0f 8d 07 01 00 00    	jge    0x4e38ea
4e37e3:	8b d6                	mov    %esi,%edx
4e37e5:	03 d2                	add    %edx,%edx
4e37e7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4e37ea:	3b d1                	cmp    %ecx,%edx
4e37ec:	7f 0c                	jg     0x4e37fa
4e37ee:	8b d6                	mov    %esi,%edx
4e37f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4e37f3:	e8 5c fb ff ff       	call   0x4e3354
4e37f8:	eb 0a                	jmp    0x4e3804
4e37fa:	8b d6                	mov    %esi,%edx
4e37fc:	8b 45 f8             	mov    -0x8(%ebp),%eax
4e37ff:	e8 7c fb ff ff       	call   0x4e3380
4e3804:	85 c0                	test   %eax,%eax
4e3806:	0f 84 de 00 00 00    	je     0x4e38ea
4e380c:	8b de                	mov    %esi,%ebx
4e380e:	c1 e3 05             	shl    $0x5,%ebx
4e3811:	8b 55 f8             	mov    -0x8(%ebp),%edx
4e3814:	03 da                	add    %edx,%ebx
4e3816:	8b 48 04             	mov    0x4(%eax),%ecx
4e3819:	89 4b 04             	mov    %ecx,0x4(%ebx)
4e381c:	8b 50 0c             	mov    0xc(%eax),%edx
4e381f:	89 53 0c             	mov    %edx,0xc(%ebx)
4e3822:	8b 48 14             	mov    0x14(%eax),%ecx
4e3825:	89 4b 14             	mov    %ecx,0x14(%ebx)
4e3828:	8b 10                	mov    (%eax),%edx
4e382a:	89 13                	mov    %edx,(%ebx)
4e382c:	8b 48 08             	mov    0x8(%eax),%ecx
4e382f:	89 4b 08             	mov    %ecx,0x8(%ebx)
4e3832:	8b 50 10             	mov    0x10(%eax),%edx
4e3835:	89 53 10             	mov    %edx,0x10(%ebx)
4e3838:	8b 48 04             	mov    0x4(%eax),%ecx
4e383b:	8b 10                	mov    (%eax),%edx
4e383d:	2b ca                	sub    %edx,%ecx
4e383f:	c1 e1 03             	shl    $0x3,%ecx
4e3842:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4e3845:	8b 48 0c             	mov    0xc(%eax),%ecx
4e3848:	8b 50 08             	mov    0x8(%eax),%edx
4e384b:	2b ca                	sub    %edx,%ecx
4e384d:	c1 e1 02             	shl    $0x2,%ecx
4e3850:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
4e3853:	8b 48 14             	mov    0x14(%eax),%ecx
4e3856:	2b 48 10             	sub    0x10(%eax),%ecx
4e3859:	c1 e1 03             	shl    $0x3,%ecx
4e385c:	03 c9                	add    %ecx,%ecx
4e385e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4e3861:	b9 01 00 00 00       	mov    $0x1,%ecx
4e3866:	3b 55 f0             	cmp    -0x10(%ebp),%edx
4e3869:	7d 08                	jge    0x4e3873
4e386b:	8b 55 f0             	mov    -0x10(%ebp),%edx
4e386e:	b9 02 00 00 00       	mov    $0x2,%ecx
4e3873:	3b 55 f4             	cmp    -0xc(%ebp),%edx
4e3876:	7d 02                	jge    0x4e387a
4e3878:	33 c9                	xor    %ecx,%ecx
4e387a:	83 e9 01             	sub    $0x1,%ecx
4e387d:	72 07                	jb     0x4e3886
4e387f:	74 1b                	je     0x4e389c
4e3881:	49                   	dec    %ecx
4e3882:	74 30                	je     0x4e38b4
4e3884:	eb 44                	jmp    0x4e38ca
4e3886:	8b 50 04             	mov    0x4(%eax),%edx
4e3889:	8b 08                	mov    (%eax),%ecx
4e388b:	03 d1                	add    %ecx,%edx
4e388d:	d1 fa                	sar    $1,%edx
4e388f:	79 03                	jns    0x4e3894
4e3891:	83 d2 00             	adc    $0x0,%edx
4e3894:	89 50 04             	mov    %edx,0x4(%eax)
4e3897:	42                   	inc    %edx
4e3898:	89 13                	mov    %edx,(%ebx)
4e389a:	eb 2e                	jmp    0x4e38ca
4e389c:	8b 50 0c             	mov    0xc(%eax),%edx
4e389f:	8b 48 08             	mov    0x8(%eax),%ecx
4e38a2:	03 d1                	add    %ecx,%edx
4e38a4:	d1 fa                	sar    $1,%edx
4e38a6:	79 03                	jns    0x4e38ab
4e38a8:	83 d2 00             	adc    $0x0,%edx
4e38ab:	89 50 0c             	mov    %edx,0xc(%eax)
4e38ae:	42                   	inc    %edx
4e38af:	89 53 08             	mov    %edx,0x8(%ebx)
4e38b2:	eb 16                	jmp    0x4e38ca
4e38b4:	8b 50 14             	mov    0x14(%eax),%edx
4e38b7:	8b 48 10             	mov    0x10(%eax),%ecx
4e38ba:	03 d1                	add    %ecx,%edx
4e38bc:	d1 fa                	sar    $1,%edx
4e38be:	79 03                	jns    0x4e38c3
4e38c0:	83 d2 00             	adc    $0x0,%edx
4e38c3:	89 50 14             	mov    %edx,0x14(%eax)
4e38c6:	42                   	inc    %edx
4e38c7:	89 53 10             	mov    %edx,0x10(%ebx)
4e38ca:	8b d0                	mov    %eax,%edx
4e38cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4e38cf:	e8 d4 fa ff ff       	call   0x4e33a8
4e38d4:	8b d3                	mov    %ebx,%edx
4e38d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4e38d9:	e8 ca fa ff ff       	call   0x4e33a8
4e38de:	46                   	inc    %esi
4e38df:	8b 4d 08             	mov    0x8(%ebp),%ecx
4e38e2:	3b f1                	cmp    %ecx,%esi
4e38e4:	0f 8c f9 fe ff ff    	jl     0x4e37e3
4e38ea:	8b c6                	mov    %esi,%eax
4e38ec:	5e                   	pop    %esi
4e38ed:	5b                   	pop    %ebx
4e38ee:	8b e5                	mov    %ebp,%esp
4e38f0:	5d                   	pop    %ebp
4e38f1:	c2 04 00             	ret    $0x4
4e38f4:	53                   	push   %ebx
4e38f5:	56                   	push   %esi
4e38f6:	57                   	push   %edi
4e38f7:	55                   	push   %ebp
4e38f8:	83 c4 d0             	add    $0xffffffd0,%esp
4e38fb:	89 4c 24 04          	mov    %ecx,0x4(%esp)
4e38ff:	89 04 24             	mov    %eax,(%esp)
4e3902:	8b 04 24             	mov    (%esp),%eax
4e3905:	33 c9                	xor    %ecx,%ecx
4e3907:	8b 80 cc 01 00 00    	mov    0x1cc(%eax),%eax
4e390d:	8b 40 18             	mov    0x18(%eax),%eax
4e3910:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4e3914:	33 c9                	xor    %ecx,%ecx
4e3916:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4e391a:	33 c9                	xor    %ecx,%ecx
4e391c:	89 4c 24 20          	mov    %ecx,0x20(%esp)
4e3920:	33 c9                	xor    %ecx,%ecx
4e3922:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4e3926:	8b 0a                	mov    (%edx),%ecx
4e3928:	8b 5a 04             	mov    0x4(%edx),%ebx
4e392b:	89 5c 24 08          	mov    %ebx,0x8(%esp)
4e392f:	8b 5a 08             	mov    0x8(%edx),%ebx
4e3932:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4e3935:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
4e3939:	8b 5a 0c             	mov    0xc(%edx),%ebx
4e393c:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4e3940:	8b 5a 10             	mov    0x10(%edx),%ebx
4e3943:	89 5c 24 14          	mov    %ebx,0x14(%esp)
4e3947:	8b 72 14             	mov    0x14(%edx),%esi
4e394a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4e394e:	8b 54 24 08          	mov    0x8(%esp),%edx
4e3952:	3b ca                	cmp    %edx,%ecx
4e3954:	0f 8f 91 00 00 00    	jg     0x4e39eb
4e395a:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
4e395e:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4e3962:	8b d0                	mov    %eax,%edx
4e3964:	89 54 24 28          	mov    %edx,0x28(%esp)
4e3968:	8b 44 24 10          	mov    0x10(%esp),%eax
4e396c:	3b d8                	cmp    %eax,%ebx
4e396e:	7f 69                	jg     0x4e39d9
4e3970:	8b 54 24 28          	mov    0x28(%esp),%edx
4e3974:	8b c3                	mov    %ebx,%eax
4e3976:	c1 e0 06             	shl    $0x6,%eax
4e3979:	8b 3a                	mov    (%edx),%edi
4e397b:	8b 54 24 14          	mov    0x14(%esp),%edx
4e397f:	03 f8                	add    %eax,%edi
4e3981:	03 d2                	add    %edx,%edx
4e3983:	03 fa                	add    %edx,%edi
4e3985:	8b 54 24 14          	mov    0x14(%esp),%edx
4e3989:	3b f2                	cmp    %edx,%esi
4e398b:	7c 43                	jl     0x4e39d0
4e398d:	66 8b 07             	mov    (%edi),%ax
4e3990:	83 c7 02             	add    $0x2,%edi
4e3993:	0f b7 c0             	movzwl %ax,%eax
4e3996:	85 c0                	test   %eax,%eax
4e3998:	74 31                	je     0x4e39cb
4e399a:	01 44 24 18          	add    %eax,0x18(%esp)
4e399e:	8b e9                	mov    %ecx,%ebp
4e39a0:	c1 e5 03             	shl    $0x3,%ebp
4e39a3:	83 c5 04             	add    $0x4,%ebp
4e39a6:	0f af e8             	imul   %eax,%ebp
4e39a9:	01 6c 24 1c          	add    %ebp,0x1c(%esp)
4e39ad:	8b eb                	mov    %ebx,%ebp
4e39af:	c1 e5 02             	shl    $0x2,%ebp
4e39b2:	83 c5 02             	add    $0x2,%ebp
4e39b5:	0f af e8             	imul   %eax,%ebp
4e39b8:	01 6c 24 20          	add    %ebp,0x20(%esp)
4e39bc:	8b ea                	mov    %edx,%ebp
4e39be:	c1 e5 03             	shl    $0x3,%ebp
4e39c1:	83 c5 04             	add    $0x4,%ebp
4e39c4:	0f af e8             	imul   %eax,%ebp
4e39c7:	01 6c 24 24          	add    %ebp,0x24(%esp)
4e39cb:	42                   	inc    %edx
4e39cc:	3b f2                	cmp    %edx,%esi
4e39ce:	7d bd                	jge    0x4e398d
4e39d0:	43                   	inc    %ebx
4e39d1:	8b 44 24 10          	mov    0x10(%esp),%eax
4e39d5:	3b d8                	cmp    %eax,%ebx
4e39d7:	7e 97                	jle    0x4e3970
4e39d9:	83 44 24 2c 04       	addl   $0x4,0x2c(%esp)
4e39de:	8b 54 24 08          	mov    0x8(%esp),%edx
4e39e2:	41                   	inc    %ecx
4e39e3:	3b ca                	cmp    %edx,%ecx
4e39e5:	0f 8e 6f ff ff ff    	jle    0x4e395a
4e39eb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4e39ef:	d1 f9                	sar    $1,%ecx
4e39f1:	8b c1                	mov    %ecx,%eax
4e39f3:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4e39f7:	03 c2                	add    %edx,%eax
4e39f9:	99                   	cltd
4e39fa:	f7 7c 24 18          	idivl  0x18(%esp)
4e39fe:	8b 14 24             	mov    (%esp),%edx
4e3a01:	8b 9a 88 00 00 00    	mov    0x88(%edx),%ebx
4e3a07:	8b 13                	mov    (%ebx),%edx
4e3a09:	8b 74 24 04          	mov    0x4(%esp),%esi
4e3a0d:	88 04 32             	mov    %al,(%edx,%esi,1)
4e3a10:	8b c1                	mov    %ecx,%eax
4e3a12:	8b 54 24 20          	mov    0x20(%esp),%edx
4e3a16:	03 c2                	add    %edx,%eax
4e3a18:	99                   	cltd
4e3a19:	f7 7c 24 18          	idivl  0x18(%esp)
4e3a1d:	8b 53 04             	mov    0x4(%ebx),%edx
4e3a20:	8b 74 24 04          	mov    0x4(%esp),%esi
4e3a24:	88 04 32             	mov    %al,(%edx,%esi,1)
4e3a27:	8b c1                	mov    %ecx,%eax
4e3a29:	8b 54 24 24          	mov    0x24(%esp),%edx
4e3a2d:	03 c2                	add    %edx,%eax
4e3a2f:	99                   	cltd
4e3a30:	f7 7c 24 18          	idivl  0x18(%esp)
4e3a34:	8b 4b 08             	mov    0x8(%ebx),%ecx
4e3a37:	8b 54 24 04          	mov    0x4(%esp),%edx
4e3a3b:	88 04 11             	mov    %al,(%ecx,%edx,1)
4e3a3e:	83 c4 30             	add    $0x30,%esp
4e3a41:	5d                   	pop    %ebp
4e3a42:	5f                   	pop    %edi
4e3a43:	5e                   	pop    %esi
4e3a44:	5b                   	pop    %ebx
4e3a45:	c3                   	ret
4e3a46:	90                   	nop
4e3a47:	90                   	nop
4e3a48:	53                   	push   %ebx
4e3a49:	56                   	push   %esi
4e3a4a:	57                   	push   %edi
4e3a4b:	8b f8                	mov    %eax,%edi
4e3a4d:	8b c7                	mov    %edi,%eax
4e3a4f:	8b da                	mov    %edx,%ebx
4e3a51:	55                   	push   %ebp
4e3a52:	8b cb                	mov    %ebx,%ecx
4e3a54:	8b 70 04             	mov    0x4(%eax),%esi
4e3a57:	ba 01 00 00 00       	mov    $0x1,%edx
4e3a5c:	c1 e1 05             	shl    $0x5,%ecx
4e3a5f:	ff 16                	call   *(%esi)
4e3a61:	8b f0                	mov    %eax,%esi
4e3a63:	33 c0                	xor    %eax,%eax
4e3a65:	33 d2                	xor    %edx,%edx
4e3a67:	33 c9                	xor    %ecx,%ecx
4e3a69:	89 06                	mov    %eax,(%esi)
4e3a6b:	8b c7                	mov    %edi,%eax
4e3a6d:	c7 46 04 1f 00 00 00 	movl   $0x1f,0x4(%esi)
4e3a74:	89 56 08             	mov    %edx,0x8(%esi)
4e3a77:	8b d6                	mov    %esi,%edx
4e3a79:	c7 46 0c 3f 00 00 00 	movl   $0x3f,0xc(%esi)
4e3a80:	89 4e 10             	mov    %ecx,0x10(%esi)
4e3a83:	bd 01 00 00 00       	mov    $0x1,%ebp
4e3a88:	c7 46 14 1f 00 00 00 	movl   $0x1f,0x14(%esi)
4e3a8f:	e8 14 f9 ff ff       	call   0x4e33a8
4e3a94:	53                   	push   %ebx
4e3a95:	8b cd                	mov    %ebp,%ecx
4e3a97:	8b d6                	mov    %esi,%edx
4e3a99:	8b c7                	mov    %edi,%eax
4e3a9b:	e8 28 fd ff ff       	call   0x4e37c8
4e3aa0:	8b e8                	mov    %eax,%ebp
4e3aa2:	33 db                	xor    %ebx,%ebx
4e3aa4:	3b eb                	cmp    %ebx,%ebp
4e3aa6:	7e 15                	jle    0x4e3abd
4e3aa8:	8b d3                	mov    %ebx,%edx
4e3aaa:	8b cb                	mov    %ebx,%ecx
4e3aac:	c1 e2 05             	shl    $0x5,%edx
4e3aaf:	8b c7                	mov    %edi,%eax
4e3ab1:	03 d6                	add    %esi,%edx
4e3ab3:	e8 3c fe ff ff       	call   0x4e38f4
4e3ab8:	43                   	inc    %ebx
4e3ab9:	3b eb                	cmp    %ebx,%ebp
4e3abb:	7f eb                	jg     0x4e3aa8
4e3abd:	89 af 84 00 00 00    	mov    %ebp,0x84(%edi)
4e3ac3:	ba 01 00 00 00       	mov    $0x1,%edx
4e3ac8:	8b 07                	mov    (%edi),%eax
4e3aca:	c7 40 14 60 00 00 00 	movl   $0x60,0x14(%eax)
4e3ad1:	89 68 18             	mov    %ebp,0x18(%eax)
4e3ad4:	8b c7                	mov    %edi,%eax
4e3ad6:	8b 08                	mov    (%eax),%ecx
4e3ad8:	ff 51 04             	call   *0x4(%ecx)
4e3adb:	5d                   	pop    %ebp
4e3adc:	5f                   	pop    %edi
4e3add:	5e                   	pop    %esi
4e3ade:	5b                   	pop    %ebx
4e3adf:	c3                   	ret
4e3ae0:	55                   	push   %ebp
4e3ae1:	8b ec                	mov    %esp,%ebp
4e3ae3:	81 c4 c4 fb ff ff    	add    $0xfffffbc4,%esp
4e3ae9:	53                   	push   %ebx
4e3aea:	56                   	push   %esi
4e3aeb:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4e3aee:	89 55 fc             	mov    %edx,-0x4(%ebp)
4e3af1:	8b 90 84 00 00 00    	mov    0x84(%eax),%edx
4e3af7:	89 55 f4             	mov    %edx,-0xc(%ebp)
4e3afa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4e3afd:	83 c1 18             	add    $0x18,%ecx
4e3b00:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4e3b03:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4e3b06:	8b 55 fc             	mov    -0x4(%ebp),%edx
4e3b09:	03 d1                	add    %ecx,%edx
4e3b0b:	d1 fa                	sar    $1,%edx
4e3b0d:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4e3b10:	8b 55 f8             	mov    -0x8(%ebp),%edx
4e3b13:	83 c2 1c             	add    $0x1c,%edx
4e3b16:	89 55 ec             	mov    %edx,-0x14(%ebp)
4e3b19:	8b 55 ec             	mov    -0x14(%ebp),%edx
4e3b1c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4e3b1f:	03 ca                	add    %edx,%ecx
4e3b21:	d1 f9                	sar    $1,%ecx
4e3b23:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4e3b26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4e3b29:	83 c1 18             	add    $0x18,%ecx
4e3b2c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4e3b2f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4e3b32:	8b 55 0c             	mov    0xc(%ebp),%edx