54d8f3:	88 54 24 40          	mov    %dl,0x40(%esp)
54d8f7:	33 ff                	xor    %edi,%edi
54d8f9:	8b 54 24 38          	mov    0x38(%esp),%edx
54d8fd:	3b fa                	cmp    %edx,%edi
54d8ff:	7d 35                	jge    0x54d936
54d901:	b9 06 00 00 00       	mov    $0x6,%ecx
54d906:	2b c8                	sub    %eax,%ecx
54d908:	ba 3f 3f 00 00       	mov    $0x3f3f,%edx
54d90d:	d3 fa                	sar    %cl,%edx
54d90f:	80 e2 ff             	and    $0xff,%dl
54d912:	20 16                	and    %dl,(%esi)
54d914:	8b c8                	mov    %eax,%ecx
54d916:	8a 54 24 40          	mov    0x40(%esp),%dl
54d91a:	d2 e2                	shl    %cl,%dl
54d91c:	08 16                	or     %dl,(%esi)
54d91e:	3b e8                	cmp    %eax,%ebp
54d920:	75 07                	jne    0x54d929
54d922:	8b 44 24 30          	mov    0x30(%esp),%eax
54d926:	4e                   	dec    %esi
54d927:	eb 04                	jmp    0x54d92d
54d929:	03 44 24 34          	add    0x34(%esp),%eax
54d92d:	47                   	inc    %edi
54d92e:	8b 4c 24 38          	mov    0x38(%esp),%ecx
54d932:	3b f9                	cmp    %ecx,%edi
54d934:	7c cb                	jl     0x54d901
54d936:	8b 54 24 2c          	mov    0x2c(%esp),%edx
54d93a:	3b ea                	cmp    %edx,%ebp
54d93c:	75 0e                	jne    0x54d94c
54d93e:	8b 4c 24 30          	mov    0x30(%esp),%ecx
54d942:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
54d946:	ff 4c 24 28          	decl   0x28(%esp)
54d94a:	eb 08                	jmp    0x54d954
54d94c:	8b 54 24 34          	mov    0x34(%esp),%edx
54d950:	01 54 24 2c          	add    %edx,0x2c(%esp)
54d954:	ff 44 24 3c          	incl   0x3c(%esp)
54d958:	8b 0b                	mov    (%ebx),%ecx
54d95a:	8b 54 24 3c          	mov    0x3c(%esp),%edx
54d95e:	3b ca                	cmp    %edx,%ecx
54d960:	77 81                	ja     0x54d8e3
54d962:	e9 93 01 00 00       	jmp    0x54dafa
54d967:	8b 03                	mov    (%ebx),%eax
54d969:	48                   	dec    %eax
54d96a:	d1 e8                	shr    $1,%eax
54d96c:	03 c2                	add    %edx,%eax
54d96e:	89 44 24 44          	mov    %eax,0x44(%esp)
54d972:	8b 74 24 08          	mov    0x8(%esp),%esi
54d976:	8b 04 24             	mov    (%esp),%eax
54d979:	4e                   	dec    %esi
54d97a:	d1 ee                	shr    $1,%esi
54d97c:	03 f2                	add    %edx,%esi
54d97e:	8b 14 85 f8 bd 69 00 	mov    0x69bdf8(,%eax,4),%edx
54d985:	89 54 24 58          	mov    %edx,0x58(%esp)
54d989:	f6 44 24 06 01       	testb  $0x1,0x6(%esp)
54d98e:	74 2c                	je     0x54d9bc
54d990:	8b 0b                	mov    (%ebx),%ecx
54d992:	41                   	inc    %ecx
54d993:	83 e1 01             	and    $0x1,%ecx
54d996:	c1 e1 02             	shl    $0x2,%ecx
54d999:	89 4c 24 48          	mov    %ecx,0x48(%esp)
54d99d:	8b 44 24 08          	mov    0x8(%esp),%eax
54d9a1:	40                   	inc    %eax
54d9a2:	83 e0 01             	and    $0x1,%eax
54d9a5:	c7 44 24 4c 04 00 00 	movl   $0x4,0x4c(%esp)
54d9ac:	00
54d9ad:	c1 e0 02             	shl    $0x2,%eax
54d9b0:	33 ed                	xor    %ebp,%ebp
54d9b2:	c7 44 24 50 fc ff ff 	movl   $0xfffffffc,0x50(%esp)
54d9b9:	ff
54d9ba:	eb 39                	jmp    0x54d9f5
54d9bc:	8b 03                	mov    (%ebx),%eax
54d9be:	40                   	inc    %eax
54d9bf:	83 e0 01             	and    $0x1,%eax
54d9c2:	ba 01 00 00 00       	mov    $0x1,%edx
54d9c7:	2b d0                	sub    %eax,%edx
54d9c9:	c1 e2 02             	shl    $0x2,%edx
54d9cc:	89 54 24 48          	mov    %edx,0x48(%esp)
54d9d0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
54d9d4:	41                   	inc    %ecx
54d9d5:	83 e1 01             	and    $0x1,%ecx
54d9d8:	b8 01 00 00 00       	mov    $0x1,%eax
54d9dd:	2b c1                	sub    %ecx,%eax
54d9df:	c1 e0 02             	shl    $0x2,%eax
54d9e2:	33 d2                	xor    %edx,%edx
54d9e4:	89 54 24 4c          	mov    %edx,0x4c(%esp)
54d9e8:	bd 04 00 00 00       	mov    $0x4,%ebp
54d9ed:	c7 44 24 50 04 00 00 	movl   $0x4,0x50(%esp)
54d9f4:	00
54d9f5:	33 d2                	xor    %edx,%edx
54d9f7:	89 54 24 54          	mov    %edx,0x54(%esp)
54d9fb:	eb 75                	jmp    0x54da72
54d9fd:	8b 4c 24 48          	mov    0x48(%esp),%ecx
54da01:	8b 54 24 44          	mov    0x44(%esp),%edx
54da05:	0f b6 12             	movzbl (%edx),%edx
54da08:	d3 fa                	sar    %cl,%edx
54da0a:	80 e2 0f             	and    $0xf,%dl
54da0d:	88 54 24 5c          	mov    %dl,0x5c(%esp)
54da11:	33 ff                	xor    %edi,%edi
54da13:	8b 54 24 58          	mov    0x58(%esp),%edx
54da17:	3b fa                	cmp    %edx,%edi
54da19:	7d 35                	jge    0x54da50
54da1b:	b9 04 00 00 00       	mov    $0x4,%ecx
54da20:	2b c8                	sub    %eax,%ecx
54da22:	ba 0f 0f 00 00       	mov    $0xf0f,%edx
54da27:	d3 fa                	sar    %cl,%edx
54da29:	80 e2 ff             	and    $0xff,%dl
54da2c:	20 16                	and    %dl,(%esi)
54da2e:	8b c8                	mov    %eax,%ecx
54da30:	8a 54 24 5c          	mov    0x5c(%esp),%dl
54da34:	d2 e2                	shl    %cl,%dl
54da36:	08 16                	or     %dl,(%esi)
54da38:	3b e8                	cmp    %eax,%ebp
54da3a:	75 07                	jne    0x54da43
54da3c:	8b 44 24 4c          	mov    0x4c(%esp),%eax
54da40:	4e                   	dec    %esi
54da41:	eb 04                	jmp    0x54da47
54da43:	03 44 24 50          	add    0x50(%esp),%eax
54da47:	47                   	inc    %edi
54da48:	8b 4c 24 58          	mov    0x58(%esp),%ecx
54da4c:	3b f9                	cmp    %ecx,%edi
54da4e:	7c cb                	jl     0x54da1b
54da50:	8b 54 24 48          	mov    0x48(%esp),%edx
54da54:	3b ea                	cmp    %edx,%ebp
54da56:	75 0e                	jne    0x54da66
54da58:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
54da5c:	89 4c 24 48          	mov    %ecx,0x48(%esp)
54da60:	ff 4c 24 44          	decl   0x44(%esp)
54da64:	eb 08                	jmp    0x54da6e
54da66:	8b 54 24 50          	mov    0x50(%esp),%edx
54da6a:	01 54 24 48          	add    %edx,0x48(%esp)
54da6e:	ff 44 24 54          	incl   0x54(%esp)
54da72:	8b 0b                	mov    (%ebx),%ecx
54da74:	8b 54 24 54          	mov    0x54(%esp),%edx
54da78:	3b ca                	cmp    %edx,%ecx
54da7a:	77 81                	ja     0x54d9fd
54da7c:	eb 7c                	jmp    0x54dafa
54da7e:	0f b6 73 0b          	movzbl 0xb(%ebx),%esi
54da82:	c1 fe 03             	sar    $0x3,%esi
54da85:	8b 03                	mov    (%ebx),%eax
54da87:	48                   	dec    %eax
54da88:	0f af c6             	imul   %esi,%eax
54da8b:	03 c2                	add    %edx,%eax
54da8d:	89 44 24 60          	mov    %eax,0x60(%esp)
54da91:	8b 6c 24 08          	mov    0x8(%esp),%ebp
54da95:	8b 04 24             	mov    (%esp),%eax
54da98:	4d                   	dec    %ebp
54da99:	0f af ee             	imul   %esi,%ebp
54da9c:	03 ea                	add    %edx,%ebp
54da9e:	8b 14 85 f8 bd 69 00 	mov    0x69bdf8(,%eax,4),%edx
54daa5:	89 54 24 64          	mov    %edx,0x64(%esp)
54daa9:	33 c9                	xor    %ecx,%ecx
54daab:	89 4c 24 68          	mov    %ecx,0x68(%esp)
54daaf:	eb 3f                	jmp    0x54daf0
54dab1:	56                   	push   %esi
54dab2:	8b 44 24 64          	mov    0x64(%esp),%eax
54dab6:	50                   	push   %eax
54dab7:	8d 54 24 74          	lea    0x74(%esp),%edx
54dabb:	52                   	push   %edx
54dabc:	e8 1f 89 fd ff       	call   0x5263e0
54dac1:	83 c4 0c             	add    $0xc,%esp
54dac4:	33 ff                	xor    %edi,%edi
54dac6:	8b 44 24 64          	mov    0x64(%esp),%eax
54daca:	3b f8                	cmp    %eax,%edi
54dacc:	7d 1a                	jge    0x54dae8
54dace:	56                   	push   %esi
54dacf:	8d 54 24 70          	lea    0x70(%esp),%edx
54dad3:	52                   	push   %edx
54dad4:	55                   	push   %ebp
54dad5:	e8 06 89 fd ff       	call   0x5263e0
54dada:	83 c4 0c             	add    $0xc,%esp
54dadd:	2b ee                	sub    %esi,%ebp
54dadf:	47                   	inc    %edi
54dae0:	8b 4c 24 64          	mov    0x64(%esp),%ecx
54dae4:	3b f9                	cmp    %ecx,%edi
54dae6:	7c e6                	jl     0x54dace
54dae8:	29 74 24 60          	sub    %esi,0x60(%esp)
54daec:	ff 44 24 68          	incl   0x68(%esp)
54daf0:	8b 03                	mov    (%ebx),%eax
54daf2:	8b 54 24 68          	mov    0x68(%esp),%edx
54daf6:	3b c2                	cmp    %edx,%eax
54daf8:	77 b7                	ja     0x54dab1
54dafa:	8b 4c 24 08          	mov    0x8(%esp),%ecx
54dafe:	89 0b                	mov    %ecx,(%ebx)
54db00:	33 c0                	xor    %eax,%eax
54db02:	8a 43 0b             	mov    0xb(%ebx),%al
54db05:	f7 6c 24 08          	imull  0x8(%esp)
54db09:	83 c0 07             	add    $0x7,%eax
54db0c:	c1 e8 03             	shr    $0x3,%eax
54db0f:	89 43 04             	mov    %eax,0x4(%ebx)
54db12:	83 c4 74             	add    $0x74,%esp
54db15:	5d                   	pop    %ebp
54db16:	5f                   	pop    %edi
54db17:	5e                   	pop    %esi
54db18:	5b                   	pop    %ebx
54db19:	c3                   	ret
54db1a:	90                   	nop
54db1b:	90                   	nop
54db1c:	55                   	push   %ebp
54db1d:	8b ec                	mov    %esp,%ebp
54db1f:	83 c4 c8             	add    $0xffffffc8,%esp
54db22:	53                   	push   %ebx
54db23:	56                   	push   %esi
54db24:	57                   	push   %edi
54db25:	89 45 fc             	mov    %eax,-0x4(%ebp)
54db28:	8b 45 08             	mov    0x8(%ebp),%eax
54db2b:	8b f1                	mov    %ecx,%esi
54db2d:	83 f8 04             	cmp    $0x4,%eax
54db30:	0f 87 ef 01 00 00    	ja     0x54dd25
54db36:	ff 24 85 3d db 54 00 	jmp    *0x54db3d(,%eax,4)
54db3d:	35 dd 54 00 56       	xor    $0x560054dd,%eax
54db42:	db 54 00 96          	fistl  -0x6a(%eax,%eax,1)
54db46:	db 54 00 c6          	fistl  -0x3a(%eax,%eax,1)
54db4a:	db 54 00 3d          	fistl  0x3d(%eax,%eax,1)
54db4e:	dc 54 00 e9          	fcoml  -0x17(%eax,%eax,1)
54db52:	df 01                	filds  (%ecx)
54db54:	00 00                	add    %al,(%eax)
54db56:	8b 4a 04             	mov    0x4(%edx),%ecx
54db59:	89 4d f8             	mov    %ecx,-0x8(%ebp)
54db5c:	0f b6 52 0b          	movzbl 0xb(%edx),%edx
54db60:	83 c2 07             	add    $0x7,%edx
54db63:	c1 fa 03             	sar    $0x3,%edx
54db66:	89 55 f4             	mov    %edx,-0xc(%ebp)
54db69:	8b d6                	mov    %esi,%edx
54db6b:	8b 45 f4             	mov    -0xc(%ebp),%eax
54db6e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
54db71:	03 c6                	add    %esi,%eax
54db73:	8b 5d f8             	mov    -0x8(%ebp),%ebx
54db76:	3b cb                	cmp    %ebx,%ecx
54db78:	0f 83 b7 01 00 00    	jae    0x54dd35
54db7e:	8a 18                	mov    (%eax),%bl
54db80:	41                   	inc    %ecx
54db81:	02 1a                	add    (%edx),%bl
54db83:	42                   	inc    %edx
54db84:	80 e3 ff             	and    $0xff,%bl
54db87:	88 18                	mov    %bl,(%eax)
54db89:	40                   	inc    %eax
54db8a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
54db8d:	3b cb                	cmp    %ebx,%ecx
54db8f:	72 ed                	jb     0x54db7e
54db91:	e9 9f 01 00 00       	jmp    0x54dd35
54db96:	8b 42 04             	mov    0x4(%edx),%eax
54db99:	33 c9                	xor    %ecx,%ecx
54db9b:	89 45 f0             	mov    %eax,-0x10(%ebp)
54db9e:	8b c6                	mov    %esi,%eax
54dba0:	8b 5d f0             	mov    -0x10(%ebp),%ebx
54dba3:	8b 55 0c             	mov    0xc(%ebp),%edx
54dba6:	3b cb                	cmp    %ebx,%ecx
54dba8:	0f 83 87 01 00 00    	jae    0x54dd35
54dbae:	8a 18                	mov    (%eax),%bl
54dbb0:	41                   	inc    %ecx
54dbb1:	02 1a                	add    (%edx),%bl
54dbb3:	42                   	inc    %edx
54dbb4:	80 e3 ff             	and    $0xff,%bl
54dbb7:	88 18                	mov    %bl,(%eax)
54dbb9:	40                   	inc    %eax
54dbba:	8b 5d f0             	mov    -0x10(%ebp),%ebx
54dbbd:	3b cb                	cmp    %ebx,%ecx
54dbbf:	72 ed                	jb     0x54dbae
54dbc1:	e9 6f 01 00 00       	jmp    0x54dd35
54dbc6:	33 db                	xor    %ebx,%ebx
54dbc8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54dbcb:	8a 5a 0b             	mov    0xb(%edx),%bl
54dbce:	8b c6                	mov    %esi,%eax
54dbd0:	83 c3 07             	add    $0x7,%ebx
54dbd3:	c1 fb 03             	sar    $0x3,%ebx
54dbd6:	89 5d ec             	mov    %ebx,-0x14(%ebp)
54dbd9:	8b 5d ec             	mov    -0x14(%ebp),%ebx
54dbdc:	8b 52 04             	mov    0x4(%edx),%edx
54dbdf:	2b d3                	sub    %ebx,%edx
54dbe1:	89 55 e8             	mov    %edx,-0x18(%ebp)
54dbe4:	33 d2                	xor    %edx,%edx
54dbe6:	8b 5d ec             	mov    -0x14(%ebp),%ebx
54dbe9:	3b d3                	cmp    %ebx,%edx
54dbeb:	73 1c                	jae    0x54dc09
54dbed:	33 db                	xor    %ebx,%ebx
54dbef:	8a 19                	mov    (%ecx),%bl
54dbf1:	d1 fb                	sar    $1,%ebx
54dbf3:	79 03                	jns    0x54dbf8
54dbf5:	83 d3 00             	adc    $0x0,%ebx
54dbf8:	02 18                	add    (%eax),%bl
54dbfa:	41                   	inc    %ecx
54dbfb:	80 e3 ff             	and    $0xff,%bl
54dbfe:	42                   	inc    %edx
54dbff:	88 18                	mov    %bl,(%eax)
54dc01:	40                   	inc    %eax
54dc02:	8b 5d ec             	mov    -0x14(%ebp),%ebx
54dc05:	3b d3                	cmp    %ebx,%edx
54dc07:	72 e4                	jb     0x54dbed
54dc09:	33 d2                	xor    %edx,%edx
54dc0b:	8b 5d e8             	mov    -0x18(%ebp),%ebx
54dc0e:	3b d3                	cmp    %ebx,%edx
54dc10:	0f 83 1f 01 00 00    	jae    0x54dd35
54dc16:	33 db                	xor    %ebx,%ebx
54dc18:	8a 19                	mov    (%ecx),%bl
54dc1a:	0f b6 3e             	movzbl (%esi),%edi
54dc1d:	03 df                	add    %edi,%ebx
54dc1f:	d1 fb                	sar    $1,%ebx
54dc21:	79 03                	jns    0x54dc26
54dc23:	83 d3 00             	adc    $0x0,%ebx
54dc26:	02 18                	add    (%eax),%bl
54dc28:	46                   	inc    %esi
54dc29:	80 e3 ff             	and    $0xff,%bl
54dc2c:	41                   	inc    %ecx
54dc2d:	88 18                	mov    %bl,(%eax)
54dc2f:	40                   	inc    %eax
54dc30:	8b 5d e8             	mov    -0x18(%ebp),%ebx
54dc33:	42                   	inc    %edx
54dc34:	3b d3                	cmp    %ebx,%edx
54dc36:	72 de                	jb     0x54dc16
54dc38:	e9 f8 00 00 00       	jmp    0x54dd35
54dc3d:	8b 45 0c             	mov    0xc(%ebp),%eax
54dc40:	8b ce                	mov    %esi,%ecx
54dc42:	89 45 e4             	mov    %eax,-0x1c(%ebp)
54dc45:	89 75 e0             	mov    %esi,-0x20(%ebp)
54dc48:	8b 45 0c             	mov    0xc(%ebp),%eax
54dc4b:	33 f6                	xor    %esi,%esi
54dc4d:	89 45 dc             	mov    %eax,-0x24(%ebp)
54dc50:	33 c0                	xor    %eax,%eax
54dc52:	8a 42 0b             	mov    0xb(%edx),%al
54dc55:	8b 52 04             	mov    0x4(%edx),%edx
54dc58:	83 c0 07             	add    $0x7,%eax
54dc5b:	c1 f8 03             	sar    $0x3,%eax
54dc5e:	2b d0                	sub    %eax,%edx
54dc60:	3b c6                	cmp    %esi,%eax
54dc62:	89 55 d8             	mov    %edx,-0x28(%ebp)
54dc65:	76 17                	jbe    0x54dc7e
54dc67:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
54dc6a:	8a 11                	mov    (%ecx),%dl
54dc6c:	46                   	inc    %esi
54dc6d:	8a 1b                	mov    (%ebx),%bl
54dc6f:	02 d3                	add    %bl,%dl
54dc71:	80 e2 ff             	and    $0xff,%dl
54dc74:	88 11                	mov    %dl,(%ecx)
54dc76:	41                   	inc    %ecx
54dc77:	ff 45 e4             	incl   -0x1c(%ebp)
54dc7a:	3b c6                	cmp    %esi,%eax
54dc7c:	77 e9                	ja     0x54dc67
54dc7e:	33 f6                	xor    %esi,%esi
54dc80:	8b 45 d8             	mov    -0x28(%ebp),%eax
54dc83:	3b f0                	cmp    %eax,%esi
54dc85:	0f 83 aa 00 00 00    	jae    0x54dd35
54dc8b:	8b 55 e0             	mov    -0x20(%ebp),%edx
54dc8e:	33 c0                	xor    %eax,%eax
54dc90:	8a 02                	mov    (%edx),%al
54dc92:	89 45 d4             	mov    %eax,-0x2c(%ebp)
54dc95:	33 c0                	xor    %eax,%eax
54dc97:	ff 45 e0             	incl   -0x20(%ebp)
54dc9a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
54dc9d:	8a 02                	mov    (%edx),%al
54dc9f:	89 45 d0             	mov    %eax,-0x30(%ebp)
54dca2:	ff 45 e4             	incl   -0x1c(%ebp)