548af7:	8b 4d 08             	mov    0x8(%ebp),%ecx
548afa:	8a 43 05             	mov    0x5(%ebx),%al
548afd:	8b 55 14             	mov    0x14(%ebp),%edx
548b00:	d3 f8                	sar    %cl,%eax
548b02:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
548b05:	33 c0                	xor    %eax,%eax
548b07:	8a 43 04             	mov    0x4(%ebx),%al
548b0a:	66 8b 04 41          	mov    (%ecx,%eax,2),%ax
548b0e:	0f b7 d0             	movzwl %ax,%edx
548b11:	c1 fa 08             	sar    $0x8,%edx
548b14:	80 e2 ff             	and    $0xff,%dl
548b17:	24 ff                	and    $0xff,%al
548b19:	88 53 04             	mov    %dl,0x4(%ebx)
548b1c:	88 43 05             	mov    %al,0x5(%ebx)
548b1f:	ff 45 f4             	incl   -0xc(%ebp)
548b22:	83 c3 06             	add    $0x6,%ebx
548b25:	8b 4d f4             	mov    -0xc(%ebp),%ecx
548b28:	8b 45 f0             	mov    -0x10(%ebp),%eax
548b2b:	3b c8                	cmp    %eax,%ecx
548b2d:	0f 82 d6 fe ff ff    	jb     0x548a09
548b33:	e9 2a 0c 00 00       	jmp    0x549762
548b38:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548b3b:	33 c0                	xor    %eax,%eax
548b3d:	89 45 f4             	mov    %eax,-0xc(%ebp)
548b40:	8b 55 f4             	mov    -0xc(%ebp),%edx
548b43:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548b46:	3b d1                	cmp    %ecx,%edx
548b48:	0f 83 14 0c 00 00    	jae    0x549762
548b4e:	33 c0                	xor    %eax,%eax
548b50:	33 d2                	xor    %edx,%edx
548b52:	8a 03                	mov    (%ebx),%al
548b54:	8a 53 01             	mov    0x1(%ebx),%dl
548b57:	c1 e0 08             	shl    $0x8,%eax
548b5a:	33 c9                	xor    %ecx,%ecx
548b5c:	66 03 c2             	add    %dx,%ax
548b5f:	33 d2                	xor    %edx,%edx
548b61:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
548b65:	33 c0                	xor    %eax,%eax
548b67:	8a 4b 02             	mov    0x2(%ebx),%cl
548b6a:	8a 43 03             	mov    0x3(%ebx),%al
548b6d:	c1 e1 08             	shl    $0x8,%ecx
548b70:	66 03 c8             	add    %ax,%cx
548b73:	66 89 4d de          	mov    %cx,-0x22(%ebp)
548b77:	33 c9                	xor    %ecx,%ecx
548b79:	8a 53 04             	mov    0x4(%ebx),%dl
548b7c:	8a 4b 05             	mov    0x5(%ebx),%cl
548b7f:	c1 e2 08             	shl    $0x8,%edx
548b82:	66 03 d1             	add    %cx,%dx
548b85:	66 89 55 dc          	mov    %dx,-0x24(%ebp)
548b89:	66 8b 46 02          	mov    0x2(%esi),%ax
548b8d:	66 3b 45 e0          	cmp    -0x20(%ebp),%ax
548b91:	75 53                	jne    0x548be6
548b93:	66 8b 56 04          	mov    0x4(%esi),%dx
548b97:	66 3b 55 de          	cmp    -0x22(%ebp),%dx
548b9b:	75 49                	jne    0x548be6
548b9d:	66 8b 4e 06          	mov    0x6(%esi),%cx
548ba1:	66 3b 4d dc          	cmp    -0x24(%ebp),%cx
548ba5:	75 3f                	jne    0x548be6
548ba7:	0f b7 47 02          	movzwl 0x2(%edi),%eax
548bab:	c1 f8 08             	sar    $0x8,%eax
548bae:	24 ff                	and    $0xff,%al
548bb0:	88 03                	mov    %al,(%ebx)
548bb2:	8a 57 02             	mov    0x2(%edi),%dl
548bb5:	80 e2 ff             	and    $0xff,%dl
548bb8:	88 53 01             	mov    %dl,0x1(%ebx)
548bbb:	0f b7 4f 04          	movzwl 0x4(%edi),%ecx
548bbf:	c1 f9 08             	sar    $0x8,%ecx
548bc2:	80 e1 ff             	and    $0xff,%cl
548bc5:	88 4b 02             	mov    %cl,0x2(%ebx)
548bc8:	8a 47 04             	mov    0x4(%edi),%al
548bcb:	24 ff                	and    $0xff,%al
548bcd:	88 43 03             	mov    %al,0x3(%ebx)
548bd0:	0f b7 57 06          	movzwl 0x6(%edi),%edx
548bd4:	c1 fa 08             	sar    $0x8,%edx
548bd7:	80 e2 ff             	and    $0xff,%dl
548bda:	88 53 04             	mov    %dl,0x4(%ebx)
548bdd:	8a 4f 06             	mov    0x6(%edi),%cl
548be0:	80 e1 ff             	and    $0xff,%cl
548be3:	88 4b 05             	mov    %cl,0x5(%ebx)
548be6:	ff 45 f4             	incl   -0xc(%ebp)
548be9:	83 c3 06             	add    $0x6,%ebx
548bec:	8b 45 f4             	mov    -0xc(%ebp),%eax
548bef:	8b 55 f0             	mov    -0x10(%ebp),%edx
548bf2:	3b c2                	cmp    %edx,%eax
548bf4:	0f 82 54 ff ff ff    	jb     0x548b4e
548bfa:	e9 63 0b 00 00       	jmp    0x549762
548bff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
548c02:	8a 41 09             	mov    0x9(%ecx),%al
548c05:	3c 08                	cmp    $0x8,%al
548c07:	0f 85 74 01 00 00    	jne    0x548d81
548c0d:	8b 55 18             	mov    0x18(%ebp),%edx
548c10:	85 d2                	test   %edx,%edx
548c12:	0f 84 d1 00 00 00    	je     0x548ce9
548c18:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
548c1b:	85 c9                	test   %ecx,%ecx
548c1d:	0f 84 c6 00 00 00    	je     0x548ce9
548c23:	8b 45 20             	mov    0x20(%ebp),%eax
548c26:	85 c0                	test   %eax,%eax
548c28:	0f 84 bb 00 00 00    	je     0x548ce9
548c2e:	33 c0                	xor    %eax,%eax
548c30:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548c33:	8b 75 f8             	mov    -0x8(%ebp),%esi
548c36:	89 45 f4             	mov    %eax,-0xc(%ebp)
548c39:	8b 55 f4             	mov    -0xc(%ebp),%edx
548c3c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548c3f:	3b d1                	cmp    %ecx,%edx
548c41:	0f 83 1b 0b 00 00    	jae    0x549762
548c47:	33 c0                	xor    %eax,%eax
548c49:	8a 43 01             	mov    0x1(%ebx),%al
548c4c:	66 89 45 da          	mov    %ax,-0x26(%ebp)
548c50:	66 81 7d da ff 00    	cmpw   $0xff,-0x26(%ebp)
548c56:	75 0e                	jne    0x548c66
548c58:	33 d2                	xor    %edx,%edx
548c5a:	8a 13                	mov    (%ebx),%dl
548c5c:	8b 4d 20             	mov    0x20(%ebp),%ecx
548c5f:	8a 04 11             	mov    (%ecx,%edx,1),%al
548c62:	88 06                	mov    %al,(%esi)
548c64:	eb 69                	jmp    0x548ccf
548c66:	66 83 7d da 00       	cmpw   $0x0,-0x26(%ebp)
548c6b:	75 07                	jne    0x548c74
548c6d:	8a 57 08             	mov    0x8(%edi),%dl
548c70:	88 16                	mov    %dl,(%esi)
548c72:	eb 5b                	jmp    0x548ccf
548c74:	33 c9                	xor    %ecx,%ecx
548c76:	8a 0b                	mov    (%ebx),%cl
548c78:	8b 45 18             	mov    0x18(%ebp),%eax
548c7b:	8a 14 08             	mov    (%eax,%ecx,1),%dl
548c7e:	88 55 d9             	mov    %dl,-0x27(%ebp)
548c81:	33 c9                	xor    %ecx,%ecx
548c83:	8a 4d d9             	mov    -0x27(%ebp),%cl
548c86:	0f b7 c1             	movzwl %cx,%eax
548c89:	0f b7 55 da          	movzwl -0x26(%ebp),%edx
548c8d:	f7 ea                	imul   %edx
548c8f:	8b 4d 24             	mov    0x24(%ebp),%ecx
548c92:	0f b7 51 08          	movzwl 0x8(%ecx),%edx
548c96:	66 b9 ff 00          	mov    $0xff,%cx
548c9a:	66 2b 4d da          	sub    -0x26(%ebp),%cx
548c9e:	0f b7 c9             	movzwl %cx,%ecx
548ca1:	0f af d1             	imul   %ecx,%edx
548ca4:	66 03 c2             	add    %dx,%ax
548ca7:	66 05 80 00          	add    $0x80,%ax
548cab:	66 89 45 d6          	mov    %ax,-0x2a(%ebp)
548caf:	0f b7 45 d6          	movzwl -0x2a(%ebp),%eax
548cb3:	0f b7 55 d6          	movzwl -0x2a(%ebp),%edx
548cb7:	c1 fa 08             	sar    $0x8,%edx
548cba:	03 c2                	add    %edx,%eax
548cbc:	c1 f8 08             	sar    $0x8,%eax
548cbf:	88 45 d8             	mov    %al,-0x28(%ebp)
548cc2:	33 c0                	xor    %eax,%eax
548cc4:	8a 45 d8             	mov    -0x28(%ebp),%al
548cc7:	8b 55 1c             	mov    0x1c(%ebp),%edx
548cca:	8a 0c 02             	mov    (%edx,%eax,1),%cl
548ccd:	88 0e                	mov    %cl,(%esi)
548ccf:	ff 45 f4             	incl   -0xc(%ebp)
548cd2:	83 c3 02             	add    $0x2,%ebx
548cd5:	46                   	inc    %esi
548cd6:	8b 45 f4             	mov    -0xc(%ebp),%eax
548cd9:	8b 55 f0             	mov    -0x10(%ebp),%edx
548cdc:	3b c2                	cmp    %edx,%eax
548cde:	0f 82 63 ff ff ff    	jb     0x548c47
548ce4:	e9 79 0a 00 00       	jmp    0x549762
548ce9:	33 c0                	xor    %eax,%eax
548ceb:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548cee:	8b 75 f8             	mov    -0x8(%ebp),%esi
548cf1:	89 45 f4             	mov    %eax,-0xc(%ebp)
548cf4:	8b 55 f4             	mov    -0xc(%ebp),%edx
548cf7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548cfa:	3b d1                	cmp    %ecx,%edx
548cfc:	0f 83 60 0a 00 00    	jae    0x549762
548d02:	8a 43 01             	mov    0x1(%ebx),%al
548d05:	88 45 d5             	mov    %al,-0x2b(%ebp)
548d08:	8a 55 d5             	mov    -0x2b(%ebp),%dl
548d0b:	80 fa ff             	cmp    $0xff,%dl
548d0e:	75 06                	jne    0x548d16
548d10:	8a 0b                	mov    (%ebx),%cl
548d12:	88 0e                	mov    %cl,(%esi)
548d14:	eb 55                	jmp    0x548d6b
548d16:	8a 45 d5             	mov    -0x2b(%ebp),%al
548d19:	84 c0                	test   %al,%al
548d1b:	75 07                	jne    0x548d24
548d1d:	8a 57 08             	mov    0x8(%edi),%dl
548d20:	88 16                	mov    %dl,(%esi)
548d22:	eb 47                	jmp    0x548d6b
548d24:	33 c9                	xor    %ecx,%ecx
548d26:	33 d2                	xor    %edx,%edx
548d28:	8a 0b                	mov    (%ebx),%cl
548d2a:	8a 55 d5             	mov    -0x2b(%ebp),%dl
548d2d:	0f b7 c1             	movzwl %cx,%eax
548d30:	0f b7 ca             	movzwl %dx,%ecx
548d33:	f7 e9                	imul   %ecx
548d35:	66 b9 ff 00          	mov    $0xff,%cx
548d39:	33 d2                	xor    %edx,%edx
548d3b:	8a 55 d5             	mov    -0x2b(%ebp),%dl
548d3e:	66 2b ca             	sub    %dx,%cx
548d41:	0f b7 d1             	movzwl %cx,%edx
548d44:	8b 4d 24             	mov    0x24(%ebp),%ecx
548d47:	0f b7 49 08          	movzwl 0x8(%ecx),%ecx
548d4b:	0f af d1             	imul   %ecx,%edx
548d4e:	66 03 c2             	add    %dx,%ax
548d51:	66 05 80 00          	add    $0x80,%ax
548d55:	66 89 45 d2          	mov    %ax,-0x2e(%ebp)
548d59:	0f b7 55 d2          	movzwl -0x2e(%ebp),%edx
548d5d:	0f b7 45 d2          	movzwl -0x2e(%ebp),%eax
548d61:	c1 fa 08             	sar    $0x8,%edx
548d64:	03 c2                	add    %edx,%eax
548d66:	c1 f8 08             	sar    $0x8,%eax
548d69:	88 06                	mov    %al,(%esi)
548d6b:	ff 45 f4             	incl   -0xc(%ebp)
548d6e:	83 c3 02             	add    $0x2,%ebx
548d71:	46                   	inc    %esi
548d72:	8b 45 f4             	mov    -0xc(%ebp),%eax
548d75:	8b 55 f0             	mov    -0x10(%ebp),%edx
548d78:	3b c2                	cmp    %edx,%eax
548d7a:	72 86                	jb     0x548d02
548d7c:	e9 e1 09 00 00       	jmp    0x549762
548d81:	8b 4d 14             	mov    0x14(%ebp),%ecx
548d84:	85 c9                	test   %ecx,%ecx
548d86:	0f 84 4b 01 00 00    	je     0x548ed7
548d8c:	8b 45 10             	mov    0x10(%ebp),%eax
548d8f:	85 c0                	test   %eax,%eax
548d91:	0f 84 40 01 00 00    	je     0x548ed7
548d97:	8b 55 0c             	mov    0xc(%ebp),%edx
548d9a:	85 d2                	test   %edx,%edx
548d9c:	0f 84 35 01 00 00    	je     0x548ed7
548da2:	33 c0                	xor    %eax,%eax
548da4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548da7:	8b 75 f8             	mov    -0x8(%ebp),%esi
548daa:	89 45 f4             	mov    %eax,-0xc(%ebp)
548dad:	8b 55 f4             	mov    -0xc(%ebp),%edx
548db0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548db3:	3b d1                	cmp    %ecx,%edx
548db5:	0f 83 a7 09 00 00    	jae    0x549762
548dbb:	33 c0                	xor    %eax,%eax
548dbd:	33 d2                	xor    %edx,%edx
548dbf:	8a 43 02             	mov    0x2(%ebx),%al
548dc2:	8a 53 03             	mov    0x3(%ebx),%dl
548dc5:	c1 e0 08             	shl    $0x8,%eax
548dc8:	66 03 c2             	add    %dx,%ax
548dcb:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
548dcf:	66 81 7d d0 ff ff    	cmpw   $0xffff,-0x30(%ebp)
548dd5:	75 35                	jne    0x548e0c
548dd7:	33 c0                	xor    %eax,%eax
548dd9:	8b 4d 08             	mov    0x8(%ebp),%ecx
548ddc:	8a 43 01             	mov    0x1(%ebx),%al
548ddf:	8b 55 14             	mov    0x14(%ebp),%edx
548de2:	d3 f8                	sar    %cl,%eax
548de4:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
548de7:	33 c0                	xor    %eax,%eax
548de9:	8a 03                	mov    (%ebx),%al
548deb:	66 8b 14 41          	mov    (%ecx,%eax,2),%dx
548def:	66 89 55 ce          	mov    %dx,-0x32(%ebp)
548df3:	0f b7 4d ce          	movzwl -0x32(%ebp),%ecx
548df7:	c1 f9 08             	sar    $0x8,%ecx
548dfa:	80 e1 ff             	and    $0xff,%cl
548dfd:	88 0e                	mov    %cl,(%esi)
548dff:	8a 45 ce             	mov    -0x32(%ebp),%al
548e02:	24 ff                	and    $0xff,%al
548e04:	88 46 01             	mov    %al,0x1(%esi)
548e07:	e9 af 00 00 00       	jmp    0x548ebb
548e0c:	66 83 7d d0 00       	cmpw   $0x0,-0x30(%ebp)
548e11:	75 1a                	jne    0x548e2d
548e13:	0f b7 57 08          	movzwl 0x8(%edi),%edx
548e17:	c1 fa 08             	sar    $0x8,%edx
548e1a:	80 e2 ff             	and    $0xff,%dl
548e1d:	88 16                	mov    %dl,(%esi)
548e1f:	8a 4f 08             	mov    0x8(%edi),%cl
548e22:	80 e1 ff             	and    $0xff,%cl
548e25:	88 4e 01             	mov    %cl,0x1(%esi)
548e28:	e9 8e 00 00 00       	jmp    0x548ebb
548e2d:	33 c0                	xor    %eax,%eax
548e2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
548e32:	8a 43 01             	mov    0x1(%ebx),%al
548e35:	8b 55 0c             	mov    0xc(%ebp),%edx
548e38:	d3 f8                	sar    %cl,%eax
548e3a:	8b 04 82             	mov    (%edx,%eax,4),%eax
548e3d:	33 d2                	xor    %edx,%edx
548e3f:	8a 13                	mov    (%ebx),%dl
548e41:	66 8b 0c 50          	mov    (%eax,%edx,2),%cx
548e45:	66 89 4d cc          	mov    %cx,-0x34(%ebp)
548e49:	0f b7 45 cc          	movzwl -0x34(%ebp),%eax
548e4d:	0f b7 55 d0          	movzwl -0x30(%ebp),%edx
548e51:	f7 ea                	imul   %edx
548e53:	0f b7 4d d0          	movzwl -0x30(%ebp),%ecx
548e57:	ba ff ff 00 00       	mov    $0xffff,%edx
548e5c:	2b d1                	sub    %ecx,%edx
548e5e:	8b 4d 24             	mov    0x24(%ebp),%ecx
548e61:	0f b7 49 08          	movzwl 0x8(%ecx),%ecx
548e65:	0f af d1             	imul   %ecx,%edx
548e68:	03 c2                	add    %edx,%eax
548e6a:	05 00 80 00 00       	add    $0x8000,%eax
548e6f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
548e72:	8b 45 c4             	mov    -0x3c(%ebp),%eax
548e75:	c1 e8 10             	shr    $0x10,%eax
548e78:	8b 55 c4             	mov    -0x3c(%ebp),%edx
548e7b:	03 c2                	add    %edx,%eax
548e7d:	c1 e8 10             	shr    $0x10,%eax
548e80:	66 89 45 ca          	mov    %ax,-0x36(%ebp)
548e84:	0f b7 45 ca          	movzwl -0x36(%ebp),%eax
548e88:	8b 4d 08             	mov    0x8(%ebp),%ecx
548e8b:	25 ff 00 00 00       	and    $0xff,%eax
548e90:	d3 f8                	sar    %cl,%eax
548e92:	8b 55 10             	mov    0x10(%ebp),%edx
548e95:	8b 04 82             	mov    (%edx,%eax,4),%eax
548e98:	0f b7 55 ca          	movzwl -0x36(%ebp),%edx
548e9c:	c1 fa 08             	sar    $0x8,%edx
548e9f:	66 8b 0c 50          	mov    (%eax,%edx,2),%cx
548ea3:	66 89 4d c8          	mov    %cx,-0x38(%ebp)
548ea7:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
548eab:	c1 f8 08             	sar    $0x8,%eax
548eae:	24 ff                	and    $0xff,%al
548eb0:	88 06                	mov    %al,(%esi)
548eb2:	8a 55 c8             	mov    -0x38(%ebp),%dl
548eb5:	80 e2 ff             	and    $0xff,%dl
548eb8:	88 56 01             	mov    %dl,0x1(%esi)
548ebb:	ff 45 f4             	incl   -0xc(%ebp)
548ebe:	83 c3 04             	add    $0x4,%ebx
548ec1:	83 c6 02             	add    $0x2,%esi
548ec4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
548ec7:	8b 45 f0             	mov    -0x10(%ebp),%eax
548eca:	3b c8                	cmp    %eax,%ecx
548ecc:	0f 82 e9 fe ff ff    	jb     0x548dbb
548ed2:	e9 8b 08 00 00       	jmp    0x549762
548ed7:	33 c0                	xor    %eax,%eax
548ed9:	8b 5d f8             	mov    -0x8(%ebp),%ebx
548edc:	8b 75 f8             	mov    -0x8(%ebp),%esi
548edf:	89 45 f4             	mov    %eax,-0xc(%ebp)
548ee2:	8b 55 f4             	mov    -0xc(%ebp),%edx
548ee5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
548ee8:	3b d1                	cmp    %ecx,%edx
548eea:	0f 83 72 08 00 00    	jae    0x549762
548ef0:	33 c0                	xor    %eax,%eax
548ef2:	33 d2                	xor    %edx,%edx
548ef4:	8a 43 02             	mov    0x2(%ebx),%al
548ef7:	8a 53 03             	mov    0x3(%ebx),%dl
548efa:	c1 e0 08             	shl    $0x8,%eax
548efd:	66 03 c2             	add    %dx,%ax
548f00:	66 89 45 c2          	mov    %ax,-0x3e(%ebp)
548f04:	66 81 7d c2 ff ff    	cmpw   $0xffff,-0x3e(%ebp)
548f0a:	75 0e                	jne    0x548f1a
548f0c:	6a 02                	push   $0x2
548f0e:	53                   	push   %ebx
548f0f:	56                   	push   %esi
548f10:	e8 cb d4 fd ff       	call   0x5263e0
548f15:	83 c4 0c             	add    $0xc,%esp
548f18:	eb 70                	jmp    0x548f8a
548f1a:	66 83 7d c2 00       	cmpw   $0x0,-0x3e(%ebp)
548f1f:	75 16                	jne    0x548f37
548f21:	0f b7 4f 08          	movzwl 0x8(%edi),%ecx
548f25:	c1 f9 08             	sar    $0x8,%ecx
548f28:	80 e1 ff             	and    $0xff,%cl