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
4e3b35:	03 d1                	add    %ecx,%edx
4e3b37:	8d 8d c4 fb ff ff    	lea    -0x43c(%ebp),%ecx
4e3b3d:	d1 fa                	sar    $1,%edx
4e3b3f:	89 55 dc             	mov    %edx,-0x24(%ebp)
4e3b42:	33 d2                	xor    %edx,%edx
4e3b44:	c7 45 d4 ff ff ff 7f 	movl   $0x7fffffff,-0x2c(%ebp)
4e3b4b:	89 55 d8             	mov    %edx,-0x28(%ebp)
4e3b4e:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
4e3b51:	8b 90 88 00 00 00    	mov    0x88(%eax),%edx
4e3b57:	8b 4a 08             	mov    0x8(%edx),%ecx
4e3b5a:	8b d1                	mov    %ecx,%edx
4e3b5c:	89 55 c8             	mov    %edx,-0x38(%ebp)
4e3b5f:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
4e3b65:	8b 51 04             	mov    0x4(%ecx),%edx
4e3b68:	8b ca                	mov    %edx,%ecx
4e3b6a:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4e3b6d:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
4e3b73:	8b 00                	mov    (%eax),%eax
4e3b75:	8b d0                	mov    %eax,%edx
4e3b77:	89 55 d0             	mov    %edx,-0x30(%ebp)
4e3b7a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4e3b7d:	8b 45 f4             	mov    -0xc(%ebp),%eax
4e3b80:	3b c8                	cmp    %eax,%ecx
4e3b82:	0f 8d 99 01 00 00    	jge    0x4e3d21
4e3b88:	8b 55 d0             	mov    -0x30(%ebp),%edx
4e3b8b:	33 db                	xor    %ebx,%ebx
4e3b8d:	8a 1a                	mov    (%edx),%bl
4e3b8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4e3b92:	3b d8                	cmp    %eax,%ebx
4e3b94:	7d 1a                	jge    0x4e3bb0
4e3b96:	8b c3                	mov    %ebx,%eax
4e3b98:	8b 55 fc             	mov    -0x4(%ebp),%edx
4e3b9b:	2b c2                	sub    %edx,%eax
4e3b9d:	8b d0                	mov    %eax,%edx
4e3b9f:	0f af d0             	imul   %eax,%edx
4e3ba2:	8b c3                	mov    %ebx,%eax
4e3ba4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4e3ba7:	2b c1                	sub    %ecx,%eax
4e3ba9:	8b c8                	mov    %eax,%ecx
4e3bab:	0f af c8             	imul   %eax,%ecx
4e3bae:	eb 44                	jmp    0x4e3bf4
4e3bb0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4e3bb3:	3b d8                	cmp    %eax,%ebx
4e3bb5:	7e 1a                	jle    0x4e3bd1
4e3bb7:	8b c3                	mov    %ebx,%eax
4e3bb9:	8b 55 f0             	mov    -0x10(%ebp),%edx
4e3bbc:	2b c2                	sub    %edx,%eax
4e3bbe:	8b d0                	mov    %eax,%edx
4e3bc0:	0f af d0             	imul   %eax,%edx
4e3bc3:	8b c3                	mov    %ebx,%eax
4e3bc5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4e3bc8:	2b c1                	sub    %ecx,%eax
4e3bca:	8b c8                	mov    %eax,%ecx
4e3bcc:	0f af c8             	imul   %eax,%ecx
4e3bcf:	eb 23                	jmp    0x4e3bf4
4e3bd1:	33 d2                	xor    %edx,%edx
4e3bd3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4e3bd6:	3b d8                	cmp    %eax,%ebx
4e3bd8:	7f 0e                	jg     0x4e3be8
4e3bda:	8b c3                	mov    %ebx,%eax
4e3bdc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4e3bdf:	2b c1                	sub    %ecx,%eax
4e3be1:	8b c8                	mov    %eax,%ecx
4e3be3:	0f af c8             	imul   %eax,%ecx
4e3be6:	eb 0c                	jmp    0x4e3bf4
4e3be8:	8b c3                	mov    %ebx,%eax
4e3bea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4e3bed:	2b c1                	sub    %ecx,%eax
4e3bef:	8b c8                	mov    %eax,%ecx
4e3bf1:	0f af c8             	imul   %eax,%ecx
4e3bf4:	8b 45 cc             	mov    -0x34(%ebp),%eax
4e3bf7:	33 db                	xor    %ebx,%ebx
4e3bf9:	8a 18                	mov    (%eax),%bl
4e3bfb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4e3bfe:	3b d8                	cmp    %eax,%ebx
4e3c00:	7d 20                	jge    0x4e3c22
4e3c02:	8b c3                	mov    %ebx,%eax
4e3c04:	2b 45 f8             	sub    -0x8(%ebp),%eax
4e3c07:	8d 04 40             	lea    (%eax,%eax,2),%eax
4e3c0a:	8b f0                	mov    %eax,%esi
4e3c0c:	0f af f0             	imul   %eax,%esi
4e3c0f:	03 d6                	add    %esi,%edx
4e3c11:	8b 45 ec             	mov    -0x14(%ebp),%eax
4e3c14:	2b d8                	sub    %eax,%ebx
4e3c16:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
4e3c19:	8b d8                	mov    %eax,%ebx
4e3c1b:	0f af d8             	imul   %eax,%ebx
4e3c1e:	03 cb                	add    %ebx,%ecx
4e3c20:	eb 50                	jmp    0x4e3c72
4e3c22:	8b 45 ec             	mov    -0x14(%ebp),%eax
4e3c25:	3b d8                	cmp    %eax,%ebx
4e3c27:	7e 22                	jle    0x4e3c4b
4e3c29:	8b c3                	mov    %ebx,%eax
4e3c2b:	8b 75 ec             	mov    -0x14(%ebp),%esi
4e3c2e:	2b c6                	sub    %esi,%eax
4e3c30:	8d 04 40             	lea    (%eax,%eax,2),%eax
4e3c33:	8b f0                	mov    %eax,%esi
4e3c35:	0f af f0             	imul   %eax,%esi
4e3c38:	03 d6                	add    %esi,%edx
4e3c3a:	8b 45 f8             	mov    -0x8(%ebp),%eax
4e3c3d:	2b d8                	sub    %eax,%ebx
4e3c3f:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
4e3c42:	8b d8                	mov    %eax,%ebx
4e3c44:	0f af d8             	imul   %eax,%ebx
4e3c47:	03 cb                	add    %ebx,%ecx
4e3c49:	eb 27                	jmp    0x4e3c72
4e3c4b:	8b 45 e0             	mov    -0x20(%ebp),%eax
4e3c4e:	3b d8                	cmp    %eax,%ebx
4e3c50:	7f 11                	jg     0x4e3c63
4e3c52:	8b 45 ec             	mov    -0x14(%ebp),%eax
4e3c55:	2b d8                	sub    %eax,%ebx
4e3c57:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
4e3c5a:	8b d8                	mov    %eax,%ebx
4e3c5c:	0f af d8             	imul   %eax,%ebx
4e3c5f:	03 cb                	add    %ebx,%ecx
4e3c61:	eb 0f                	jmp    0x4e3c72
4e3c63:	8b 45 f8             	mov    -0x8(%ebp),%eax
4e3c66:	2b d8                	sub    %eax,%ebx
4e3c68:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
4e3c6b:	8b d8                	mov    %eax,%ebx
4e3c6d:	0f af d8             	imul   %eax,%ebx
4e3c70:	03 cb                	add    %ebx,%ecx
4e3c72:	8b 45 c8             	mov    -0x38(%ebp),%eax
4e3c75:	33 db                	xor    %ebx,%ebx
4e3c77:	8a 18                	mov    (%eax),%bl
4e3c79:	8b 45 0c             	mov    0xc(%ebp),%eax
4e3c7c:	3b d8                	cmp    %eax,%ebx
4e3c7e:	7d 22                	jge    0x4e3ca2
4e3c80:	8b c3                	mov    %ebx,%eax
4e3c82:	8b 75 0c             	mov    0xc(%ebp),%esi
4e3c85:	2b c6                	sub    %esi,%eax
4e3c87:	03 c0                	add    %eax,%eax
4e3c89:	8b f0                	mov    %eax,%esi
4e3c8b:	0f af f0             	imul   %eax,%esi
4e3c8e:	8b c3                	mov    %ebx,%eax
4e3c90:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4e3c93:	2b c3                	sub    %ebx,%eax
4e3c95:	03 d6                	add    %esi,%edx
4e3c97:	03 c0                	add    %eax,%eax
4e3c99:	8b d8                	mov    %eax,%ebx
4e3c9b:	0f af d8             	imul   %eax,%ebx
4e3c9e:	03 cb                	add    %ebx,%ecx
4e3ca0:	eb 52                	jmp    0x4e3cf4
4e3ca2:	8b 45 e8             	mov    -0x18(%ebp),%eax
4e3ca5:	3b d8                	cmp    %eax,%ebx
4e3ca7:	7e 22                	jle    0x4e3ccb
4e3ca9:	8b c3                	mov    %ebx,%eax
4e3cab:	8b 75 e8             	mov    -0x18(%ebp),%esi
4e3cae:	2b c6                	sub    %esi,%eax
4e3cb0:	03 c0                	add    %eax,%eax
4e3cb2:	8b f0                	mov    %eax,%esi
4e3cb4:	0f af f0             	imul   %eax,%esi
4e3cb7:	8b c3                	mov    %ebx,%eax
4e3cb9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4e3cbc:	2b c3                	sub    %ebx,%eax
4e3cbe:	03 d6                	add    %esi,%edx
4e3cc0:	03 c0                	add    %eax,%eax
4e3cc2:	8b d8                	mov    %eax,%ebx
4e3cc4:	0f af d8             	imul   %eax,%ebx
4e3cc7:	03 cb                	add    %ebx,%ecx
4e3cc9:	eb 29                	jmp    0x4e3cf4
4e3ccb:	8b 45 dc             	mov    -0x24(%ebp),%eax
4e3cce:	3b d8                	cmp    %eax,%ebx
4e3cd0:	7f 12                	jg     0x4e3ce4
4e3cd2:	8b c3                	mov    %ebx,%eax
4e3cd4:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4e3cd7:	2b c3                	sub    %ebx,%eax
4e3cd9:	03 c0                	add    %eax,%eax
4e3cdb:	8b d8                	mov    %eax,%ebx
4e3cdd:	0f af d8             	imul   %eax,%ebx
4e3ce0:	03 cb                	add    %ebx,%ecx
4e3ce2:	eb 10                	jmp    0x4e3cf4
4e3ce4:	8b c3                	mov    %ebx,%eax
4e3ce6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4e3ce9:	2b c3                	sub    %ebx,%eax